Freesound MCP
The Freesound MCP server enables AI applications to search and download copyright-free audio from Freesound using natural language commands.
Capabilities:
Search Sounds: Find audio files by keywords with optional filters for maximum duration and license type (e.g., Creative Commons)
Download Audio Files: Download sounds by their sound ID with quality options (high or low quality) to a custom directory
Access Metadata: Retrieve detailed information about sounds including ID, name, duration, license, and preview URLs
Natural Language Integration: Use conversational commands like "Find me a rainforest ambient sound under 30 seconds" or "Download sound #123456 as high quality"
Secure API Access: Integrates with Freesound's API using secure key management through environment variables
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Freesound MCPfind rain sounds under 30 seconds with a Creative Commons 0 license"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Freesound-MCP
A Model Context Protocol (MCP) server that enables AI applications to search and download audio resources from the Freesound platform via natural language commands.
Overview
Freesound-MCP is designed to simplify the integration of copyright-free sound resources into AI tools. It follows the Model Context Protocol standard and communicates with host applications via stdin/stdout. The server provides two main capabilities:
🔍 Search Sounds: Search for sounds by keywords with optional filters for maximum duration and license type
⬇️ Download Sounds: Download audio files by sound ID from Freesound
🎵 Metadata Support: Retrieve detailed information about sounds, including duration, license, and preview links
Related MCP server: Freesound MCP Server
Features
Lightweight MCP server built with Node.js
Standard input/output communication mechanism compliant with MCP protocol
Secure API key management through environment variables
No database required - simple, stateless design
Prerequisites
Node.js (supports CommonJS modules)
npm or yarn package manager
A Freesound API key (get one at Freesound API page)
Installation
Clone the repository:
git clone https://github.com/yourusername/freesound-mcp.git
cd freesound-mcpInstall dependencies:
npm installBuild the project:
npm run buildSetup
Get your Freesound API key from Freesound API page
Set your API key as an environment variable:
export FREESOUND_API_KEY=your_freesound_api_key_hereConfiguration in Claude Desktop
To configure this MCP server in Claude Desktop:
Open Claude Desktop preferences
Navigate to "Beta Features" → "Model Context Protocol (MCP) Tools"
Click "Configure" to manage MCP servers
Add a new server configuration with these details:
Name: "Freesound MCP"
Command:
nodeArguments:
/path/to/freesound-mcp/dist/index.js(after runningnpm run build)Environment Variables: Ensure
FREESOUND_API_KEYis available to the process
Save the configuration and restart Claude
After restarting Claude, you'll be able to use the Freesound tools in your conversations.
Usage
Once configured in Claude, you can use natural language commands such as:
"Find me a rainforest ambient sound under 30 seconds"
"Download sound #123456 as high quality"
Available Tools
1. Freesound Search (freesound_search)
Search for sounds on Freesound by providing keywords and optional filters.
Parameters:
query(required): Search keywordsmaxDuration(optional): Maximum duration of sounds in secondslicense(optional): License type of sounds to search for
Returns:
Array of sound objects containing:
id: Sound IDname: Sound nameduration: Sound duration in secondslicense: Sound licensepreview: Sound preview URL
2. Freesound Download (freesound_download)
Download a sound from Freesound by sound ID.
Parameters:
soundId(required): ID of the sound to downloadquality(optional): Audio quality ('hq' for high quality or 'lq' for low quality), defaults to 'lq'downloadDir(optional): Custom download directory, defaults to ~/.freesound-mcp/downloads
Returns:
filePath: Path where the file was downloaded
Security Considerations
Keep your
FREESOUND_API_KEYsecret and never expose it in client-side codeInput parameters are validated to prevent malicious IDs from being passed to the API
The server follows MCP security best practices for communication
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Thanks to Freesound for providing the audio resources API
Built using the Model Context Protocol SDK
Available Tools
2 toolsfreesound.downloadC
Download a sound from Freesound by sound ID
| Name | Required | Description | Default |
|---|---|---|---|
| soundId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states 'Download a sound', implying a read operation that retrieves data, but doesn't disclose behavioral traits such as authentication requirements, rate limits, file format details, or what happens on failure (e.g., invalid ID). The description is minimal and lacks critical operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse. Every word earns its place, achieving optimal conciseness for the given information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (download operation with no annotations, 1 parameter at 0% coverage, and no output schema), the description is incomplete. It lacks details on authentication, error handling, output format (e.g., file type), and integration with the sibling tool. For a download tool with minimal structured data, this description leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'sound ID' as the parameter, adding basic meaning beyond the schema's generic 'soundId' property. However, it doesn't explain what a sound ID is (e.g., numeric identifier from Freesound), valid ranges, or where to obtain it. The description provides minimal semantic value, insufficient for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Download') and resource ('a sound from Freesound'), specifying it's identified by 'sound ID'. However, it doesn't differentiate from the sibling tool 'freesound.search', which likely searches for sounds rather than downloading them. The purpose is clear but lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid sound ID from search results), exclusions, or refer to the sibling tool 'freesound.search' for finding sounds to download. Usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
freesound.searchC
Search sounds from Freesound
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keywords | |
| maxDuration | No | Max duration in seconds | |
| license | No | License filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic function without mentioning any behavioral traits such as rate limits, authentication requirements, pagination, or response format. This is inadequate for a search tool with potential complexity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the search returns (e.g., list of sound metadata), potential limitations, or how results are structured, leaving significant gaps for the agent to understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so parameters are documented in the schema. The description adds no additional meaning beyond the schema, such as examples or constraints not covered. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search') and the resource ('sounds from Freesound'), making the purpose understandable. However, it doesn't explicitly differentiate from the sibling tool 'freesound.download', which appears to be a related but distinct operation for retrieving specific sounds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'freesound.download' or any other search methods, leaving the agent to infer usage based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v1.0.0- First observed
freesound.download - First observed
freesound.search
TDQS
The two tools have completely distinct purposes: one is for downloading a specific sound by ID, and the other is for searching sounds based on criteria. There is no overlap or ambiguity between these operations, making it clear when to use each tool.
Both tools follow a consistent naming pattern with the prefix 'freesound.' followed by a verb (download, search) that clearly describes the action. This uniformity makes the tool set predictable and easy to understand.
With only two tools, the server feels too minimal for a comprehensive Freesound integration. While search and download are core operations, obvious gaps like browsing, getting sound details, or managing user content are missing, limiting functionality.
The tool set is severely incomplete for interacting with Freesound. It lacks essential operations such as retrieving sound metadata, listing categories, or handling user authentication, which are necessary for full agent workflows in this domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Free CC0 sound effects for agents: ask by role (button-click, coin), sets, or search 4,600+.
61Search speech in podcasts, government meetings, and your own audio: speakers, entities, timestamps.
Neuronto Agentic Resource Discovery ARD Index. Search every ARD registry + 31,411 verified tools.
Search public open-source code, documentation, metadata, vulnerabilities, changelogs, and examples.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables LLMs to search, download, and extract information from YouTube music videos, converting them to high-quality MP3 files.-
- AlicenseBqualityDmaintenanceAn MCP server that enables AI assistants to search, analyze, and retrieve information about audio samples from Freesound.org through their API.82MIT
- AlicenseNot gradedqualityFmaintenanceIntegrates with Freesound.org to enable searching, discovering, and previewing audio content such as sound effects and music loops. It provides detailed metadata and licensing information to support video editing and content creation workflows.6MIT
- AlicenseAqualityDmaintenanceEnables AI agents to search, browse, and play millions of meme sounds and sound effects from myinstants.com directly through the user's speakers. It supports streaming audio for trending clips, categories, and viral soundboard buttons to enhance agent interactions with reactive audio.311613MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MuShan-bit/freesound-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server