Skip to main content
Glama

Freesound-MCP

MCP Badge

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

  1. Clone the repository:

git clone https://github.com/yourusername/freesound-mcp.git
cd freesound-mcp
  1. Install dependencies:

npm install
  1. Build the project:

npm run build

Setup

  1. Get your Freesound API key from Freesound API page

  2. Set your API key as an environment variable:

export FREESOUND_API_KEY=your_freesound_api_key_here

Configuration in Claude Desktop

To configure this MCP server in Claude Desktop:

  1. Open Claude Desktop preferences

  2. Navigate to "Beta Features" → "Model Context Protocol (MCP) Tools"

  3. Click "Configure" to manage MCP servers

  4. Add a new server configuration with these details:

    • Name: "Freesound MCP"

    • Command: node

    • Arguments: /path/to/freesound-mcp/dist/index.js (after running npm run build)

    • Environment Variables: Ensure FREESOUND_API_KEY is available to the process

  5. 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

Search for sounds on Freesound by providing keywords and optional filters.

Parameters:

  • query (required): Search keywords

  • maxDuration (optional): Maximum duration of sounds in seconds

  • license (optional): License type of sounds to search for

Returns:

  • Array of sound objects containing:

    • id: Sound ID

    • name: Sound name

    • duration: Sound duration in seconds

    • license: Sound license

    • preview: Sound preview URL

2. Freesound Download (freesound_download)

Download a sound from Freesound by sound ID.

Parameters:

  • soundId (required): ID of the sound to download

  • quality (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_KEY secret and never expose it in client-side code

  • Input 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

Available Tools

2 tools
freesound.downloadC

Download a sound from Freesound by sound ID

ParametersJSON Schema
NameRequiredDescriptionDefault
soundIdYes

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch keywords
maxDurationNoMax duration in seconds
licenseNoLicense filter

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 2 tool updatesv1.0.0
    • First observedfreesound.download
    • First observedfreesound.search

TDQS

B3.1/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables LLMs to search, download, and extract information from YouTube music videos, converting them to high-quality MP3 files.
    -
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that enables AI assistants to search, analyze, and retrieve information about audio samples from Freesound.org through their API.
    8
    2
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Integrates 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.
    6
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    3
    116
    13
    MIT

Latest Blog Posts

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