curatedmcp
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., "@curatedmcpaudit my MCP servers for security risks"
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.
curatedmcp
The CuratedMCP Agent. One CLI to discover, run, audit, and govern every MCP server your AI tools (Claude, Cursor, Windsurf, Copilot, Gemini) use.
# 10-second risk scan of your machine β no signup
npx curatedmcp auditPlug it in once. Add servers anytime. Audit and govern them from one place.
What you get
Command | What it does |
| Scan your MCP configs for risky servers (high/medium/low). Zero auth, instant value. |
| Run as an MCP hub server over stdio for Claude, Cursor, Windsurf, etc. |
| Add a server from the CuratedMCP catalog to your stack. |
| Remove a server from your stack. |
| Show your current stack. |
| Print the config snippet to drop into your AI client. |
| Run a server behind the local action firewall. |
| Authenticate the agent to your CuratedMCP account. |
| Pull your team's registry config and push audit results. |
Related MCP server: Agent Factory MCP
1. Audit (the wedge β start here)
npx curatedmcp auditScans every MCP config file on your machine (Claude Desktop, Cursor, Windsurf, Claude Code, β¦), classifies each server against the CuratedMCP catalog, and flags:
π΄ HIGH β unverified or known-risky servers with credentials
π‘ MEDIUM β verified servers running outside catalog defaults
π’ VERIFIED β known-good catalog servers
No signup, no cloud, no data leaves your machine. Logged in? Add --sync to push the result to your dashboard.
2. Run as the MCP Hub
If you use MCP servers across multiple AI clients, you've felt this pain: configure GitHub MCP in Claude Desktop, then re-do it in Cursor, then in Windsurf. New agent ships? Re-paste every config.
The agent fixes that. It's one MCP entry that fans out to every server you've added, in every AI client.
Claude Cursor Windsurf Copilot Gemini
\ \ | / /
ββββββββββββββββββββββββββββ
β curatedmcp β β one config in each agent
β (the MCP hub) β
ββββββ¬βββββββ¬βββββββ¬ββββββββ
β β β
GitHub Postgres Stripe β `add`'d once, available everywhereAdd it to your AI client
{
"mcpServers": {
"curatedmcp": {
"command": "npx",
"args": ["-y", "curatedmcp"]
}
}
}Client | Path |
Claude Desktop |
|
Cursor |
|
Windsurf |
|
Claude Code |
|
Add servers to your stack
npx curatedmcp add github # prompts for GITHUB_TOKEN
npx curatedmcp add postgres --env DATABASE_URL=postgres://...
npx curatedmcp listRestart your AI client
Tools appear with a <slug>__ prefix:
github__create_issuepostgres__queryfilesystem__read_file
3. Guard (local action firewall)
npx curatedmcp guard -- npx -y @modelcontextprotocol/server-githubWraps an MCP server with a local policy engine that gates every tools/call against
~/.curatedmcp/guard-policy.json. Default policy allows read, prompts on write, blocks destructive.
npx curatedmcp guard --dashboard --port 7878 -- npx -y @some/server
# Then open http://localhost:7878 for the live action log4. Login + sync (for teams)
Once you have a CuratedMCP account, link the CLI to it:
npx curatedmcp login # paste a registry key from your dashboard
npx curatedmcp sync # pull team registry config + push audit results
npx curatedmcp sync --team acme-eng # pick a specific team if you're in more than oneSync pulls the locked-down server list approved by your team and merges it into your local stack β so every developer's machine runs the same vetted set of servers.
Config files
~/.curatedmcp/stack.json β your stack, plain JSON, hand-editable, version-controllable:
{
"version": 1,
"entries": [
{
"slug": "github",
"name": "GitHub",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "ghp_xxxxxxxxxxxx" },
"addedAt": "2026-05-01T10:14:00.000Z"
}
]
}Set "disabled": true on an entry to skip it without removing it.
Other files (created on first use):
~/.curatedmcp/auth.jsonβ login token (mode 0600)~/.curatedmcp/guard-policy.jsonβ firewall policy~/.curatedmcp/launcher.jsonβ anonymous client UUID
In-agent discovery
The agent itself exposes discovery tools to your AI client, so you can ask:
"Find me an MCP server for Postgres." "What's the best Stripe MCP?" "Add the Postgres MCP server to my stack."
The agent uses search_servers, get_server_details, and add_to_stack to do all of that without you leaving the chat.
Privacy
All config is local at
~/.curatedmcp/. No cloud sync unless youlogin.Anonymous telemetry only (event names like "search", "add"). Disable with
--no-telemetryorCURATOR_TELEMETRY=false.Audit results stay on your machine unless you
loginand run--sync.
Compatibility
Works with Claude Desktop, Claude Code, Cursor, Windsurf, Copilot, Gemini, OpenAI Agents β anything that supports MCP over stdio.
Node.js β₯ 18.
Migrating from the old packages
The agent replaces three earlier packages, which are now deprecated:
Old | New |
|
|
|
|
|
|
A launcher bin alias is kept for back-compat.
Links
π Marketplace
π GitHub
π¬ Issues
MIT licensed.
Available Tools
5 toolsadd_to_stackA
Add an MCP server to your Launcher stack so its tools become available through Launcher in every AI client. The server's tools appear as <slug>__<tool> after the AI client is restarted.
| Name | Required | Description | Default |
|---|---|---|---|
| env | No | Environment variables for the server (e.g. API keys). Required env vars must be supplied here. | |
| slug | Yes | Server slug from the CuratedMCP catalog (use search_servers to find one) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses key behaviors: the server's tools become available across clients and appear with a specific naming pattern after restart. This is genuine behavioral context beyond the schema, though it does not mention failure modes or idempotency.
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 β two sentences, immediately stating the action and its outcome. Every clause adds value: the purpose, the effect, and the restart requirement. No redundancy or fluff.
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 description is complete enough for a simple add operation, covering the main outcome and a critical post-condition (restart). It does not address edge cases like duplicate adds or prerequisites (e.g., server must already be installed), but these are not essential given the tool's straightforward nature.
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 already provides 100% coverage for both parameters, so the description adds no additional parameter-level detail. The baseline of 3 applies because the schema effectively documents the 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 uses a specific verb ('Add') and resource ('an MCP server to your Launcher stack'), clearly stating the tool's function. It also differentiates from siblings like install_server by focusing on making tools available through Launcher, which is distinct from installing the server itself.
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 indicates the purpose β to make server tools available in every AI client β and notes that tools appear as `<slug>__<tool>` after restart, giving clear usage context. However, it does not explicitly mention when not to use this tool or contrast it with alternatives like install_server, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_server_detailsA
Get full details about a specific MCP server including install instructions
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Server slug (from search results) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It clearly indicates a read-only retrieval ('Get full details') and mentions that install instructions are included, but it does not explicitly state that it avoids any side effects or describe what happens if the slug is invalid. It provides some context but not comprehensive behavioral transparency.
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, concise sentence that front-loads the core purpose ('Get full details') and appends the key extra detail about install instructions. Every word earns its place, with 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?
For a simple one-parameter read tool with no output schema, the description is sufficiently complete: it states what the tool returns (full details) and what is included (install instructions). It could be enhanced by explicitly noting it does not install anything, but overall it covers the essential information needed.
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 already fully describes the single parameter 'slug' with 'Server slug (from search results)', which covers 100% of parameters. The description does not add extra meaning beyond implying the server is specific, but baseline is 3 due to 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 uses a specific verb 'Get' with a clear resource 'full details about a specific MCP server', which directly states the tool's function. It clearly distinguishes from sibling tools like search_servers (list/search) and install_server (perform installation), as it focuses on retrieving detailed information for a known server.
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 context: use this tool when you need comprehensive details about a specific server, given a slug. However, it does not explicitly mention when not to use it or name alternatives like install_server. The context is clear but lacks explicit exclusions or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
install_serverA
Get the manual install configuration snippet for an MCP server (use add_to_stack instead if you want it managed by Launcher)
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Server slug | |
| client | No | Target client (default: claude) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It conveys that this is a read operation returning a manual install snippet, but does not disclose response format, side effects, or prerequisites. Some transparency is present but not comprehensive.
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, concise sentence that leads with the primary action and includes the alternative guidance in parentheses. Every word earns its place, with no 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 tool with only 2 parameters and no output schema, the description covers the core purpose and usage context. The main gap is not describing the return value format, but the term 'snippet' implies a configuration string. Given the low complexity, this is nearly 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 description coverage is 100%, with both parameters ('slug' and 'client') already described in the schema. The tool description adds no parameter-specific insight beyond what the schema already provides, so the baseline of 3 applies.
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 ('manual install configuration snippet for an MCP server'), clearly distinguishing it from the sibling tool add_to_stack, which is explicitly mentioned for the managed case.
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 explicitly tells the agent when to use this tool vs an alternative: 'use add_to_stack instead if you want it managed by Launcher'. This provides a clear conditional choice and names the specific sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesA
List all available MCP server categories
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. The verb 'list' implies a read-only operation, which is transparent. But it does not disclose the response format or any edge cases (e.g., empty list). This is sufficient for a simple listing tool but lacks extra behavioral 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, focused sentence with no redundant words. It is front-loaded and immediately communicates the tool's purpose.
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 simplicity, the description covers the essential purpose. However, without an output schema, the agent must infer the return format (e.g., an array of category names). This minor gap prevents a perfect score.
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 tool has zero parameters, so schema coverage is complete. The description correctly omits parameter details, and the baseline for zero-parameter tools is 4, which is appropriate here.
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 specifies the action (list) and the resource (all available MCP server categories), distinguishing it from siblings that handle server details, search, install, or stack operations.
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 purpose is self-evident: use this tool when you need a list of categories, likely before searching or installing servers. However, it does not explicitly mention alternatives or when not to use it, though the simple nature of the tool makes this a minor gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_serversA
Search the CuratedMCP catalog for MCP servers by keyword, category, or use case
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 10, max 50) | |
| query | Yes | Search query (e.g. 'GitHub', 'database', 'Stripe') | |
| category | No | Filter by category |
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 only says 'Search' without disclosing behavior such as return format, pagination, or authorization requirements. The description is insufficient to inform an agent about the operational characteristics of the search.
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 sentence, 13 words, and directly front-loads the action ('Search') and resource ('CuratedMCP catalog'). No unnecessary words 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?
The description gives the core purpose but lacks details about the output (e.g., what the search returns) and does not compensate for the absence of an output schema. Given the tool's relative simplicity, this is minimally sufficient but leaves room for improvement.
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 100%, with all three parameters (query, category, limit) described in the input schema. The description mentions 'keyword, category, or use case' which loosely maps to query/category, but it does not add meaning beyond what the schema already provides, so the baseline of 3 applies.
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 explicitly states the tool's function: 'Search the CuratedMCP catalog for MCP servers by keyword, category, or use case.' This clearly distinguishes it from siblings like get_server_details, install_server, list_categories, and add_to_stack, which have different purposes.
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 for discovery ('Search... by keyword, category, or use case') but does not explicitly state when to prefer this over alternatives or when not to use it. It lacks explicit exclusions or references to sibling tools, leaving usage context partially implied.
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.
5 tool updates
v2.1.1- First observed
add_to_stack - First observed
get_server_details - First observed
install_server - First observed
list_categories - First observed
search_servers
TDQS
Tools are mostly distinct: search_servers finds servers, get_server_details retrieves details, list_categories browses categories, while install_server and add_to_stack both relate to making a server available but via different mechanisms. The overlap between install_server and add_to_stack is clarified by their descriptions, so confusion is unlikely.
All tool names follow a consistent verb_noun pattern with lowercase and underscores: get_server_details, search_servers, install_server, list_categories, add_to_stack. The verbs are clear and the pattern is uniform across the entire set.
With only 5 tools, the server is well-scoped for a curated catalog. Each tool covers a distinct core functionβsearching, browsing, retrieving details, and two installation pathsβwithout unnecessary bloat or sparseness.
The tool surface covers the primary lifecycle of discovering and installing MCP servers: search, filter by category, get details, and install via either manual config or Launcher integration. Minor gaps exist, such as no removal/uninstall tool, but the core workflows are complete.
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
Real-time chat hub for AI agents β Claude Code, Cursor, Cline, Codex over MCP or REST.
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
AI agent registry β search, discover, register, and connect agents via MCP.
A registry of AI agent tools β MCP servers, APIs, CLIs, SDKs β kept current by automated ingestion.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP of MCPs. Automatic discovery and configure MCP servers on your local machine. Integration with Claude and Cursor.53Apache 2.0
- AlicenseBqualityFmaintenanceA universal MCP server that automatically discovers and registers CLI tools as AI-powered agents with persona configuration, enabling any CLI tool to be used as an MCP tool.41MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server wrapping the Cursor CLI agent, enabling Claude Code and other MCP clients to delegate tasks to Cursor's AI agent for file writing, bash commands, and codebase queries.-
- AlicenseAqualityAmaintenanceAn MCP server that bridges AI assistants to other CLI tools, enabling capabilities like large-context reads, vision, file generation, and cross-vendor verification without API keys.62Apache 2.0
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/oneprofile-dev/mcp-launcher'
If you have feedback or need assistance with the MCP directory API, please join our Discord server