Notify Sound MCP
A hosted MCP server that allows AI assistants to design custom notification sounds from layered tones and noise. It provides tools to create sounds, list library presets, and retrieve sound guides, returning an editor link for users to play, tweak, and download the resulting MP3 files.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://notifysound.com/mcpWhat you can do with it
- Create a custom notification sound from layer descriptions
- List built-in library sounds by group or name
- Get the full design of a built-in sound as a starting point
- Retrieve a sound design guide for layer and effect configuration
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- notify-sound 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 5 advertised
- Resources
- 1 advertised
- Resource templates
- 0 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
},
"resources": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
5 advertised
create_sound — Create a sound
Build a notification sound from your own layer design and get an editor link for it. The link opens the sound in the editor, where the user plays, tweaks and downloads it. Returns the link, the stored sound and warnings for any value that was out of range, rounded or ignored. Read get_sound_guide first.
{
"type": "object",
"required": [
"layers"
],
"properties": {
"name": {
"type": "string",
"maxLength": 32,
"description": "Name. Sound name, up to 32 characters."
},
"effect": {
"type": "object",
"properties": {
"type": {
"enum": [
"none",
"reverb",
"chamber",
"echo",
"pingpong",
"chorus",
"phone",
"crunch"
],
"type": "string",
"default": "none",
"description": "Effect. One effect over the whole sound. Options: None: dry, no effect; Reverb: soft room, a gentle space; Chamber: big hall, long airy tail; Echo: repeats that fade away; Ping-Pong: echo that bounces left and right; Chorus: wider and shimmery; Phone: tiny speaker sound; Crunch: rough 8-bit edge."
},
"amount": {
"type": "number",
"default": 0.3,
"maximum": 1,
"minimum": 0,
"description": "Amount. Effect mix. 0 is dry, 1 is fully wet. Unit: 0 to 1. Range 0 to 1, step 0.01, default 0.3."
}
},
"description": "One effect over the whole sound.",
"additionalProperties": false
},
"layers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pan": {
"type": "number",
"default": 0,
"maximum": 1,
"minimum": -1,
"description": "Balance. Stereo position. -1 is left, 1 is right. Unit: -1 to 1. Range -1 to 1, step 0.01, default 0."
},
"freq": {
"type": "number",
"default": 880,
"maximum": 4000,
"minimum": 40,
"description": "Pitch. Note pitch. On a noise layer it is the centre of the hiss band. Unit: Hz. Range 40 to 4000, step 1, default 880."
},
"gain": {
"type": "number",
"default": 1,
"maximum": 1,
"minimum": 0,
"description": "Level. Layer loudness. Unit: 0 to 1. Range 0 to 1, step 0.01, default 1."
},
"seed": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"description": "Noise seed. Fixes the noise pattern so the sound is the same every play. Set one on every noise layer. Noise layers only."
},
"wave": {
"enum": [
"sine",
"triangle",
"sawtooth",
"square",
"noise"
],
"type": "string",
"default": "sine",
"description": "Wave. Wave shape. Options: Sine: smooth and pure; Triangle: soft and woody; Saw: bright and buzzy; Square: sharp and electronic; Noise: hiss, wind and rumble."
},
"decay": {
"type": "number",
"default": 0.3,
"maximum": 2,
"minimum": 0.003,
"description": "Decay. Time from full level down to the Hold level while the note is held. Unit: s. Range 0.003 to 2, step 0.001, default 0.3."
},
"delay": {
"type": "number",
"default": 0,
"maximum": 5,
"minimum": 0,
"description": "Start after. When this layer starts, counted from the start of the sound. Spaces the notes of a melody. Unit: s. Range 0 to 5, step 0.01, default 0."
},
"amRate": {
"type": "number",
"default": 8,
"maximum": 50,
"minimum": 0.5,
"description": "Flutter speed. Tremolo speed. Unit: Hz. Range 0.5 to 50, step 0.1, default 8."
},
"attack": {
"type": "number",
"default": 0.005,
"maximum": 1,
"minimum": 0.0005,
"description": "Attack. Time from silence to full level. Under 0.005 s gives a hard click at the start. Unit: s. Range 0.0005 to 1, step 0.0005, default 0.005."
},
"fmRate": {
"type": "number",
"default": 6,
"maximum": 50,
"minimum": 0.5,
"description": "Wobble speed. Vibrato speed. Unit: Hz. Range 0.5 to 50, step 0.1, default 6."
},
"repeat": {
"type": "number",
"default": 1,
"maximum": 5,
"minimum": 1,
"description": "Times. How many times the layer plays its note. Unit: count. Range 1 to 5, step 1, default 1."
},
"enabled": {
"type": "boolean",
"default": true,
"description": "On. A layer that is off stays in the sound but is silent."
},
"release": {
"type": "number",
"default": 0.4,
"maximum": 5,
"minimum": 0.003,
"description": "Ring out. Fade after the note ends. The main tail control. Unit: s. Range 0.003 to 5, step 0.001, default 0.4."
},
"sustain": {
"type": "number",
"default": 0,
"maximum": 1,
"minimum": 0,
"description": "Hold. Level kept after Decay while the note is held. 0 is a struck or plucked note, 1 an organ-like note. Unit: 0 to 1. Range 0 to 1, step 0.01, default 0."
},
"amAmount": {
"type": "number",
"default": 0,
"maximum": 1,
"minimum": 0,
"description": "Flutter. Tremolo depth: how far the level dips. Unit: 0 to 1. Range 0 to 1, step 0.01, default 0."
},
"fmAmount": {
"type": "number",
"default": 0,
"maximum": 1,
"minimum": 0,
"description": "Wobble. Vibrato depth. 1 swings the pitch 4 semitones each way. Unit: 0 to 1. Range 0 to 1, step 0.01, default 0."
},
"repeatGap": {
"type": "number",
"default": 0.1,
"maximum": 1,
"minimum": 0.02,
"description": "Gap. Silence between one repeat ending and the next starting. Unit: s. Range 0.02 to 1, step 0.01, default 0.1."
},
"sharpness": {
"type": "number",
"default": 1.2,
"maximum": 20,
"minimum": 0.5,
"description": "Sharpness. Width of the hiss band. Low is a wide hiss, high is close to a pitched whistle. Range 0.5 to 20, step 0.1, default 1.2. Noise layers only."
},
"noiseColor": {
"enum": [
"white",
"pink",
"brown"
],
"type": "string",
"default": "white",
"description": "Noise type. Noise colour. Options: White: bright, even hiss; Pink: softer, like wind; Brown: deep rumble. Noise layers only."
},
"pitchSlide": {
"type": "number",
"default": 0,
"maximum": 24,
"minimum": -24,
"description": "Slide. Pitch glide over the Note length, up when positive, down when negative. Unit: semitones. Range -24 to 24, step 1, default 0."
},
"randomNoise": {
"type": "boolean",
"default": false,
"description": "Random. New noise on every play. Keep false. Noise layers only."
}
},
"additionalProperties": false
},
"maxItems": 16,
"minItems": 1,
"description": "Layers play together, each from its own Start after. Leave out any field at its default. Up to 16 layers."
},
"duration": {
"type": "number",
"default": 0.1,
"maximum": 5,
"minimum": 0.003,
"description": "Note length. How long each note is held, shared by every layer and every repeat. Unit: s. Range 0.003 to 5, step 0.001, default 0.1."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}read_sound — Read a share link
Turn a share link (or the code after #s=) back into the sound design, to change it and call create_sound again.
{
"type": "object",
"required": [
"link"
],
"properties": {
"link": {
"type": "string",
"description": "A share link, \"#s=...\" or the bare code."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_library_sounds — List built-in sounds
List the built-in sounds by group, or search them by name. Without arguments it lists every group with its sound names. Use a close built-in sound as a starting point.
{
"type": "object",
"properties": {
"group": {
"enum": [
"featured",
"classics",
"chords",
"messages",
"alerts",
"arcade",
"chiptune",
"chiptunes",
"scifi",
"nature",
"spooky",
"motion"
],
"type": "string",
"description": "Only this group, with each sound described."
},
"query": {
"type": "string",
"description": "Search sound names, e.g. \"bell\" or \"coin\"."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_library_sound — Get a built-in sound
Get the full design of a built-in sound and its editor link, to use as a starting point for create_sound.
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Sound name, e.g. \"Tri-Tone\"."
},
"group": {
"enum": [
"featured",
"classics",
"chords",
"messages",
"alerts",
"arcade",
"chiptune",
"chiptunes",
"scifi",
"nature",
"spooky",
"motion"
],
"type": "string",
"description": "Group to look in, when a name is in more than one."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_sound_guide — Sound design guide
How sounds are built: layers, envelope, pitch, timing, noise, levels and effects, with example designs. Read it once before designing.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
1 advertised
sound-design-guide — Sound design guide
guide://sound-design30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 304 ms
- 95th percentile latency
- 304 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 304 ms · metadata changed · 5 tool(s), 1 resource(s), 0 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http notify-sound-mcp https://notifysound.com/mcpCodex
codex mcp add notify-sound-mcp --url https://notifysound.com/mcpCursor
{
"mcpServers": {
"notify-sound-mcp": {
"url": "https://notifysound.com/mcp"
}
}
}Cline
{
"mcpServers": {
"notify-sound-mcp": {
"type": "streamableHttp",
"url": "https://notifysound.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"notify-sound-mcp": {
"type": "http",
"url": "https://notifysound.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http notify-sound-mcp https://notifysound.com/mcpClaude Desktop
{
"mcpServers": {
"notify-sound-mcp": {
"url": "https://notifysound.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"notify-sound-mcp": {
"serverUrl": "https://notifysound.com/mcp"
}
}
}Let your agent find its tools
Find servers like Notify Sound MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.