mixcloud-mcp
Allows searching for mixes, looking up artists, browsing uploads, and uploading recordings directly to Mixcloud.
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., "@mixcloud-mcpsearch for deep house mixes"
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.
mixcloud-mcp
A FastMCP server that bridges the Mixcloud API to AI assistants via the Model Context Protocol (MCP).
Ask Claude to search for mixes, look up artists, browse uploads, and upload recordings directly to Mixcloud — all from the conversation.
Tools
Tool | Description |
| Search Mixcloud for mixes by keyword |
| Get details of a specific mix by its key |
| Get a user's profile |
| List a user's uploaded mixes |
| List a user's followers |
| List who a user follows |
| Upload a recording to Mixcloud (opens a file picker UI) |
Related MCP server: Spotify MCP Server
Quickstart — stdio (Claude Desktop, local)
No install needed. Add to your claude_desktop_config.json and restart:
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mixcloud": {
"command": "/path/to/uvx",
"args": ["mixcloud-mcp"]
}
}
}Tip: Claude Desktop doesn't inherit your shell PATH, so
uvxmust be a full path. Runwhich uvxin your terminal to find it — typically/Users/yourname/.local/bin/uvx.
Public read-only tools (search, get user, etc.) work immediately without any credentials.
To enable uploads and authenticated API calls, add your Mixcloud OAuth app credentials. The server will print an authorize URL to stderr on first start — visit it in your browser once and your token is saved automatically.
{
"mcpServers": {
"mixcloud": {
"command": "/path/to/uvx",
"args": ["mixcloud-mcp"],
"env": {
"MIXCLOUD_CLIENT_ID": "<your client id>",
"MIXCLOUD_CLIENT_SECRET": "<your client secret>"
}
}
}
}Get your credentials at mixcloud.com/developers. Register http://localhost:4000/oauth/callback as the redirect URI in your Mixcloud app.
Quickstart — HTTP (hosted server, remote MCP clients)
The HTTP transport exposes the server over the network so remote MCP clients (Claude.ai, Claude Desktop configured with a URL) can connect to it.
1. Register a Mixcloud OAuth app
Go to mixcloud.com/developers and create an app. You will get a Client ID and Client Secret.
Set the redirect URI to your server's public URL plus /oauth/callback:
https://your-server.example.com/oauth/callbackIf you are running locally with ngrok, use your ngrok URL instead (see step 3).
2. Configure your environment
Create a .env file (or set these as environment variables):
MIXCLOUD_CLIENT_ID=your_client_id
MIXCLOUD_CLIENT_SECRET=your_client_secret
MCP_PUBLIC_URL=https://your-server.example.com # public HTTPS URL — no port, no trailing slash
MCP_API_KEY=your_secret_key # protects the MCP endpoint; generate with mixcloud-mcp-keygen
MCP_PUBLIC_URLis required. It must be HTTPS and match the domain you registered as the redirect URI in your Mixcloud app. If you are running locally via ngrok, this is your ngrok URL (e.g.https://xxxx.ngrok-free.app). Do not include a port number — ngrok handles port mapping for you.
Optional: if you already have a Mixcloud access token, set
MIXCLOUD_ACCESS_TOKENand skip step 4.
3. Start the server
uvx mixcloud-mcp-httpOn startup you will see a line like:
[http] No Mixcloud token — visit https://your-server.example.com/oauth/authorize to enable uploads.If you are running locally, expose the server first with ngrok:
ngrok http 8000Use the ngrok HTTPS URL as MCP_PUBLIC_URL and make sure the same URL is registered as the redirect URI in your Mixcloud app.
4. Authenticate with Mixcloud
Open https://your-server.example.com/oauth/authorize in your browser and approve access. The server logs:
[http] Mixcloud token stored — upload tool is now authenticated.The token is held in memory for the lifetime of the process. To persist it across restarts, copy the token into MIXCLOUD_ACCESS_TOKEN in your .env.
5. Add the connector in Claude
In Claude, go to Settings → Connectors → Add custom connector and enter:
https://your-server.example.com/mcpThe URL must end in
/mcp. The base URL alone will not work.
Read-only tools (search, browse, get user) are available immediately. The upload tool becomes available once you have authenticated with Mixcloud in step 4.
Environment variables
Both transports
Variable | Default | Description |
| — | Mixcloud OAuth app client ID. Required for OAuth auth and uploads. |
| — | Mixcloud OAuth app client secret. Required for OAuth auth and uploads. |
| — | Direct Mixcloud token. Alternative to OAuth — set manually or via |
stdio only
Variable | Default | Description |
|
| Port for the sidecar HTTP server (handles uploads and the OAuth callback). |
HTTP only
Variable | Default | Description |
| — | Bearer token protecting the MCP endpoint. Generate with |
|
| HTTP server port. |
|
| Public base URL of the server. Required for browser OAuth — Mixcloud redirects back to |
|
| Allowed CORS origin for the upload endpoint. Lock this down in production. |
| — | Set to |
How authentication works
stdio — sidecar OAuth
When MIXCLOUD_CLIENT_ID and MIXCLOUD_CLIENT_SECRET are set, the server starts a lightweight sidecar HTTP server (on UPLOAD_PORT, default 4000) before the MCP process starts. On first run, if no token is present, it prints:
[mixcloud-mcp] No Mixcloud token — visit http://localhost:4000/oauth/authorize to connect your account.Visit that URL once in your browser, approve access on Mixcloud, and your token is written to .env and picked up immediately. You do not need to restart the server.
The sidecar also handles file uploads — the upload UI posts directly to http://localhost:4000/upload.
HTTP — server-level authentication
The HTTP server authenticates to Mixcloud once and shares that token across all connected MCP clients. There is no per-user token — whoever authenticates first sets the token for the lifetime of the process.
You can provide the token two ways (see the Quickstart above): pre-set MIXCLOUD_ACCESS_TOKEN in your environment, or visit /oauth/authorize in a browser after starting the server. In both cases the read-only tools are always available to any client that has the MCP_API_KEY; uploads become available once a Mixcloud token is present.
The redirect URI registered in your Mixcloud app must be <MCP_PUBLIC_URL>/oauth/callback.
Future ideas
Per-user sessions in HTTP mode — currently all MCP clients share a single Mixcloud token. A session layer would let each user authenticate independently and upload to their own Mixcloud account.
Contributing
See CONTRIBUTING.md.
License
Available Tools
7 toolsget_cloudcastA
Get details of a specific Mixcloud mix by its key.
Args: cloudcast_key: The mix key, e.g. "/NTSRadio/nts-breakfast-show/"
| Name | Required | Description | Default |
|---|---|---|---|
| cloudcast_key | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavioral traits. The phrase 'Get details' implies a read-only operation with no side effects, which is accurate but minimal. It does not mention error behavior (e.g., not found handling), authentication requirements, or rate limits. The description is not misleading but lacks depth, so a mid-range score is appropriate.
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 extremely concise: one sentence for the main purpose plus an args block. It is front-loaded with the core purpose, and every word adds value (e.g., 'specific', 'by its key'). The use of an Args block is a clean, structured way to document the parameter without unnecessary prose.
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?
For a simple single-parameter getter with an output schema present, the description is largely complete. It does not need to explain return values because the output schema exists. The only minor gap is not explicitly stating when to prefer this over search_cloudcasts or get_user_cloudcasts, but that is more of a usage guideline issue. Overall, it is complete enough for its complexity.
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 schema provides only a required string parameter with no description (coverage 0%). The description compensates fully by explaining 'cloudcast_key: The mix key' and giving a concrete example ('/NTSRadio/nts-breakfast-show/'), which adds meaningful semantics beyond the raw schema.
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 tool's purpose: 'Get details of a specific Mixcloud mix by its key.' It uses a specific verb ('get'), resource ('Mixcloud mix'), and lookup method ('by its key'), distinguishing it from siblings like search_cloudcasts (searching) and get_user_cloudcasts (listing user mixes).
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 usage is implied: use this tool when you have a known cloudcast key and want its details. There is no explicit guidance on when not to use it or alternative tools. However, the presence of sibling tools like search_cloudcasts (for discovery) and get_user_cloudcasts (for listing) makes the intended context reasonably clear, though not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_userB
Get a Mixcloud user's profile by username.
Args: username: The Mixcloud username, e.g. "NTSRadio"
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only says 'Get a ... profile' and explains the username argument, but does not disclose return format, error behavior, authentication needs, or any side effects. The verb 'Get' implies read-only, but no explicit safety or behavioral context is given.
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 very brief and front-loaded, with the main action in the first sentence. The Args section clearly annotates the single parameter. No unnecessary words or repetition.
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?
This is a simple one-parameter read tool with an output schema. The description covers the basic purpose and parameter semantics, but lacks details on edge cases, error handling, or when to prefer it over similar user-related tools. Given the tool's simplicity, the description is minimally adequate but could be richer.
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 schema provides only a type string with no description. The description compensates by explaining the username parameter and providing a concrete example ('NTSRadio'), which adds meaning beyond the raw schema.
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 uses a specific verb ('Get') and resource ('Mixcloud user's profile by username'), clearly stating what the tool does. It does not explicitly distinguish from sibling tools like get_user_cloudcasts or get_user_followers, but the resource 'profile' implies a distinct focus.
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 only states the action, with no context, exclusions, or references to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_cloudcastsA
Get a list of mixes uploaded by a Mixcloud user.
Args: username: The Mixcloud username, e.g. "NTSRadio" limit: Number of results to return (default 20, max 100)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| username | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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 discloses the limit parameter's default and max, but does not mention pagination, authentication needs, or whether only public mixes are included. For a read operation, this is minimal but not misleading.
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 two sentences plus an Args block, all of which add value. The purpose is front-loaded, and there is no unnecessary filler.
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?
The tool is simple, has an output schema, and the description covers core purpose and parameter constraints. It omits potential pagination or sorting details, but given the output schema and simplicity, it is adequately complete.
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 coverage is 0%, but the description's Args section adds meaningful context: a concrete example for username ('NTSRadio') and constraints for limit (default 20, max 100). This compensates for the sparse schema.
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 uses a specific verb and resource: 'Get a list of mixes uploaded by a Mixcloud user.' This clearly distinguishes it from sibling tools like search_cloudcasts, get_cloudcast, or get_user_followers, which have different scopes.
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 implies usage (to retrieve a user's uploads) but does not explicitly state when to use this over alternatives or mention exclusions. The context is clear but not fully spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_followersA
Get a list of followers for a Mixcloud user.
Args: username: The Mixcloud username, e.g. "NTSRadio" limit: Number of results to return (default 20, max 100)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| username | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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 of behavioral disclosure. It adds useful constraints like the default (20) and maximum (100) for the limit parameter, which go beyond the schema. However, it does not describe pagination behavior, ordering, or error responses, leaving some behavioral aspects opaque. The read-only nature is implied by 'Get' but not explicitly confirmed.
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 compact and front-loaded. The first sentence states the purpose, followed by a clean args list. Every word contributes value, with no redundancy or irrelevant detail. It is exemplary for a tool with only two parameters.
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?
Despite having no annotations, the tool is simple with only two parameters, and an output schema exists (confirmed by context signals) to document return values. The description covers the essential purpose and all parameter semantics. It lacks explicit mention of pagination or boundaries, but given the existence of an output schema and the tool's simplicity, it is sufficiently complete for effective use.
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, and it does thoroughly. Both parameters are explained: username is defined as 'the Mixcloud username' with an example, and limit is described as 'Number of results to return' with default and max bounds. This adds meaning far beyond the bare schema and effectively documents both parameters.
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 tool's function: 'Get a list of followers for a Mixcloud user.' This is a specific verb+resource pairing that distinguishes it from siblings like get_user_following, which retrieves accounts the user follows. The purpose is unambiguous and immediately actionable.
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 clear context by specifying the exact resource (followers of a user) and the required username. It does not explicitly name alternatives or exclusions, but the sibling get_user_following exists and the distinction is implied by the tool name and description. This is a clear usage context without explicit alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_followingA
Get a list of users that a Mixcloud user is following.
Args: username: The Mixcloud username, e.g. "NTSRadio" limit: Number of results to return (default 20, max 100)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| username | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It only states the read operation and the maximum limit value; it fails to mention authentication requirements, rate limits, pagination behavior, or any potential side effects. This is a significant gap for a tool with no annotation safety hints.
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 highly concise, with a clear one-sentence purpose followed by a compact Args section. Every element earns its place, and the most important information (what the tool does) is front-loaded.
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?
For a simple read-only listing tool with an output schema, the description covers the essential input parameters and defaults/max limits. It does not address error conditions or pagination beyond the limit, but given the simplicity and available output schema, the coverage is adequate.
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 schema provides almost no descriptions beyond types and a default, so the description adds valuable meaning. It gives a concrete example for username ('NTSRadio') and specifies the maximum limit of 100, which is not present in the schema. This meaningfully compensates for the 0% schema description 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 uses the specific verb 'Get' and identifies the resource as 'users that a Mixcloud user is following,' clearly distinguishing it from sibling tool get_user_followers which would return the user's followers. The scope is unambiguous and differentiates the tool from other get_user_* siblings.
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 tool's name and description make it clear that this is for fetching the 'following' list, which is opposite to get_user_followers. However, the description does not explicitly contrast it with siblings or state when to prefer this over alternatives, so usage guidance is only implied rather than explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cloudcastsA
Search Mixcloud for mixes (cloudcasts) by keyword.
Args: query: Search term, e.g. "deep house" or "NTS Radio" limit: Number of results to return (default 20, max 100)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the search behavior and the limit parameter's default/max, but does not mention details like pagination, ordering, or response format. The output schema may cover return values, so this is minimally adequate but not rich.
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 extremely concise: a clear purpose sentence and a structured Args section. Every sentence earns its place, with no fluff or redundancy.
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?
For a simple search tool with two parameters and an output schema, the description covers the essential usage. It omits advanced behavioral details, but the output schema and intuitiveness of search make this acceptable.
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 description provides substantial meaning beyond the schema: query gets examples ('deep house', 'NTS Radio'), and limit gets a default and maximum. This fully compensates for the 0% schema description 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 states a specific action: 'Search Mixcloud for mixes (cloudcasts) by keyword.' This clearly identifies the resource (Mixcloud mixes) and the operation (search), distinguishing it from siblings like get_cloudcast or upload_cloudcast.
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 context clarifies this tool is for keyword-based discovery, implying when to use it (when you need to find mixes by search term). It does not explicitly mention alternatives or exclusions, but the sibling tool names make the distinction apparent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_cloudcastA
Upload a recording to Mixcloud. Opens a file picker UI.
Args: name: Optional mix or show title to pre-fill in the upload form.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only mentions that a file picker UI opens, but does not specify whether the operation is synchronous, requires prior authentication, what it returns, or how the upload is completed. This is insufficient for a write tool.
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 compact and front-loaded: it states the core action first, then only one additional parameter explanation. No wasted words.
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?
The tool is simple with one optional parameter, and the description covers the purpose and param semantics. However, it lacks operational context such as whether the tool blocks awaiting user input, how the upload is completed, or any permissions required. The presence of an output schema offsets the need for return-value details, so this is incomplete but not fatally so.
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 description provides a clear explanation of the 'name' parameter as an optional pre-fill for the upload form, which the schema entirely lacks. This fully compensates for the 0% 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 tool's action: 'Upload a recording to Mixcloud.' The verb 'upload' and resource 'Mixcloud' are specific, and the mention of opening a file picker UI distinguishes it from the read-only sibling tools like search_cloudcasts and get_cloudcast.
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 implies this is the upload tool since all siblings are read operations, but it does not explicitly state when to use it or provide exclusions or prerequisites. The file picker mention hints that it requires user interaction but does not specify when an agent should invoke it.
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.
7 tool updates
v0.3.1- First observed
get_cloudcast - First observed
get_user - First observed
get_user_cloudcasts - First observed
get_user_followers - First observed
get_user_following - First observed
search_cloudcasts - First observed
upload_cloudcast
TDQS
Each tool targets a distinct resource and action: search vs. direct retrieval, user profile vs. user's cloudcasts vs. follower/following lists. No two tools overlap in purpose, making selection unambiguous.
All tool names follow a consistent verb_noun pattern: search_cloudcasts, get_cloudcast, get_user, get_user_cloudcasts, get_user_followers, get_user_following, upload_cloudcast. The naming is uniform and predictable.
Seven tools is well-scoped for a Mixcloud server, covering search, direct lookups, user exploration, and upload. The count feels appropriate and not bloated or thin.
The surface covers core Mixcloud workflows: discovery, retrieval, user relationships, and upload. Minor gaps like likes or comments exist, but the primary functionality is well covered.
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
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
Podcast Index MCP — wraps the Podcast Index API (podcastindex.org)
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceIntegrates Apple Music with MCP clients to search the global catalog, manage personal playlists, and access library data. It enables users to perform actions like creating playlists, adding tracks, and viewing recommendations through natural language commands.1-
- AlicenseBqualityCmaintenanceMCP server for the Spotify Web API — gives Claude and other AI assistants tools to search music, control playback, manage playlists, library, and podcasts.59MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to programmatically edit, analyze, and export audio projects through MCP tools, including multi-track editing, effects, transcription, and semantic search.1-
- AlicenseCqualityBmaintenanceAn MCP server that gives an assistant access to the SoundCloud API — search and discovery, your library, playlist management, social actions, and messaging.32MIT
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/nelsonra/mixcloud-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server