๐Ÿ”ด myinstants-mcp

give your AI agent a soundboard. no cap.
millions of sound buttons ยท zero config ยท just vibes โœจ

npm version npm downloads MCP Registry license

Quick Start:
Install MCP Server in VS Code Install MCP Server in VS Code Insiders
Install in VS Code Install in VS Code Insiders

--- ## fr fr what is this an [MCP](https://modelcontextprotocol.io) server that connects AI agents to [myinstants.com](https://www.myinstants.com) โ€” the internet's largest soundboard. millions of meme sounds, vine booms, fart noises, anime clips, gaming sfx, whatever you need bestie. your AI agent can now: - ๐Ÿ” **search** any sound on myinstants - ๐Ÿ”ด **smash that button** and play it through your speakers - ๐Ÿ“‚ **browse categories** โ€” memes, games, movies, reactions, tiktok trends - ๐Ÿ“ˆ **check what's trending** โ€” stay current fr fr - โณ **wait or don't** โ€” block until sound finishes or let it play in the background this is not a notification beep. this is the entire internet soundboard. your agent has rizz now. ## the setup is bussin ```bash npx myinstants-mcp ``` that's it. that's the setup. no cap. ### VS Code / GitHub Copilot Add to your VS Code MCP config (User or `.vscode/mcp.json`): ```json { "servers": { "myinstants": { "command": "npx", "args": ["-y", "myinstants-mcp@latest"] } } } ``` ### Claude Desktop `~/Library/Application Support/Claude/claude_desktop_config.json`: ```json { "mcpServers": { "myinstants": { "command": "npx", "args": ["-y", "myinstants-mcp@latest"] } } } ``` ### Cursor `.cursor/mcp.json`: ```json { "mcpServers": { "myinstants": { "command": "npx", "args": ["-y", "myinstants-mcp@latest"] } } } ``` > [!TIP] > works on **macOS** out of the box (uses native `afplay`) โ€” no extra installs needed. on linux just `sudo apt install ffmpeg`. that's it bestie. --- ## what can it do tho ๐Ÿค” ### ๐Ÿ”ง Tools | Tool | What it does | It's giving | |------|-------------|---------| | `search_sounds` | search myinstants for sounds | `"bruh"` โ†’ 20 results with slugs | | `browse_category` | browse by category | `"memes"` `"games"` `"reactions"` | | `play_sound` | play a sound (by slug, url, or quick search) | `{ query: "sad trombone" }` plays instantly | | `get_sound_details`* | get details about a sound (views, uploader, duration) | requires `MYINSTANTS_DETAILS=true` | | `list_devices`* | list available audio output devices | requires `MYINSTANTS_DETAILS=true` | * requires `MYINSTANTS_DETAILS=true` environment variable #### `play_sound` options | Parameter | Type | Default | The tea โ˜• | |-----------|------|---------|-----------| | `query` | string | โ€” | quick search, plays first result. the goat option. | | `slug` | string | โ€” | exact slug from search results | | `url` | string | โ€” | direct MP3 URL if you're built different | | `wait` | boolean | `false` | `false` = plays in background while agent keeps cooking (default ๐Ÿ’จ). `true` = blocks until done (for dramatic effect ๐ŸŽญ) | ### ๐Ÿ“š Resources | Resource | The vibe | |----------|-------------| | `myinstants://trending` | what's bussin rn in the US ๐Ÿ”ฅ | | `myinstants://categories` | all 14 categories no cap | | `myinstants://best` | hall of fame. the GOATs. the legends. ๐Ÿ | ### Categories `anime & manga` ยท `games` ยท `memes` ยท `movies` ยท `music` ยท `politics` ยท `pranks` ยท `reactions` ยท `sound effects` ยท `sports` ยท `television` ยท `tiktok trends` ยท `viral` ยท `whatsapp audios` ## how it works (for the sigma devs) ``` agent calls play_sound({ query: "vine boom", wait: false }) โ†’ searches myinstants.com โ†’ finds the MP3 URL โ†’ streams it through afplay/ffplay/mpv โ†’ sound plays through your speakers โ†’ agent keeps cooking while you hear the boom ๐Ÿณ ``` sounds queue up automatically. no overlap. your agent can fire multiple sounds and they play one after another. sheesh. ## teach your agent to troll you ๐Ÿ’€ drop a `.instructions.md` in your repo (with `applyTo: "**"` in the frontmatter) and your agent will play sounds **while it works**. imagine: vine boom when it finds a bug. sad trombone when your tests fail. rick roll mid-code-review for absolutely no reason. ```markdown --- name: "Soundboard" description: "Sounds for all contexts" applyTo: "**" --- Play sounds using the myinstants MCP server while you work: - Play `play_sound(query: "vine boom sound")` when you find cursed code - Play `play_sound(query: "sad trombone")` when the user's code doesn't work - Play `play_sound(query: "minecraft level up sound")` when you fix something ``` check our [myinstants.instructions.md](.github/instructions/myinstants.instructions.md) for the full unhinged setup. your agent will never be an NPC again. ๐Ÿ† ## config ### env vars | Variable | Default | The tea โ˜• | |----------|---------|------| | `MYINSTANTS_VOLUME` | `0.5` | how loud (0-1). crank it bestie. | | `MYINSTANTS_WAIT` | `false` | `"true"` = sounds block until finished. dramatic effect mode ๐ŸŽญ | | `MYINSTANTS_DEVICE` | (system default) | route audio to a specific output device. platform-specific device name. | | `MYINSTANTS_PLAYER` | (auto) | force a specific player: `ffplay`, `mpv`, `afplay`, or `paplay`. | | `MYINSTANTS_DETAILS` | `false` | `"true"` = enables `get_sound_details` and `list_devices` tools. | ```json { "servers": { "myinstants": { "command": "npx", "args": ["-y", "myinstants-mcp@latest"], "env": { "MYINSTANTS_VOLUME": "0.8", "MYINSTANTS_DEVICE": "Denon AVR-S760H", "MYINSTANTS_DETAILS": "true" } } } } ``` ### audio device selection route sounds to a specific output device instead of system default: ```bash # set device name (platform-specific) export MYINSTANTS_DEVICE="Denon AVR-S760H" # force a specific player (optional) export MYINSTANTS_PLAYER="ffplay" # enable device listing tool export MYINSTANTS_DETAILS="true" ``` **discover available devices:** ```bash # macOS ffmpeg -f avfoundation -list_devices true -i "" 2>&1 # Linux (PulseAudio) pactl list short sinks # mpv (cross-platform) mpv --audio-device=help ``` or use the `list_devices` tool when `MYINSTANTS_DETAILS=true` โ€” your agent can discover devices for you. ๐Ÿ’… **player support:** | Player | Device Flag | Example | |--------|------------|---------| | `ffplay` | `-audio_device` | `ffplay -audio_device "Denon AVR-S760H"` | | `mpv` | `--audio-device=` | `mpv --audio-device="pulse/alsa_output.usb"` | | `paplay` | `--device=` | `paplay --device=bluez_sink.XX` | | `afplay` | โŒ N/A | macOS system default only (no device selection) | **notes:** - default behavior unchanged โ€” uses system default output if `MYINSTANTS_DEVICE` not set - afplay on macOS doesn't support device selection โ€” set `MYINSTANTS_PLAYER=ffplay` or `mpv` if you need device control - device names are platform-specific (see discovery commands above) - Windows PowerShell player doesn't support device selection โ€” install ffmpeg or mpv for device support ### audio player support | Player | Platform | Install | Vibe | |--------|----------|---------|------| | `afplay` | macOS | pre-installed ๐Ÿ’… | just works. zero effort. slay. | | `ffplay` | everywhere | `brew install ffmpeg` / `apt install ffmpeg` | the reliable bestie | | `mpv` | everywhere | `brew install mpv` / `apt install mpv` | also valid no cap | auto-detects what you have. tries `afplay` first on mac, then `ffplay`, then `mpv`. fallback chain is bussin. ## why tho ๐Ÿ’€ because your AI agent should be able to hit you with a vine boom when the code compiles. because sad trombone when tests fail is objectively correct. because the bruh button exists and your agent deserves to press it. this is not delulu โ€” this is the future. every other MCP sound server plays one notification beep. **one beep.** that's giving NPC energy. we have millions of sounds. the entire internet soundboard. main character behavior only. ## it's giving... open source ๐Ÿ’… made by [@austenstone](https://github.com/austenstone) ๐Ÿท๏ธ powered by [myinstants.com](https://www.myinstants.com) ยท built with [MCP](https://modelcontextprotocol.io) no cap this might be the most unhinged MCP server ever and we're lowkey proud of it ๐Ÿ’€๐Ÿ”ฅ