MCPNest Docs
Everything you need to discover, install, govern, and build with MCP servers.
Quick Start
Get up and running with MCPNest in under 2 minutes.
7,561+ servers
Indexed, scored, and verified
Quality Score A-F
Know if a server is maintained
One-click install
Cursor, VS Code, Claude Desktop
Enterprise Gateway
One URL for your whole team
Option 1 — Browse and install
Go to mcpnest.io and search for what you need
Click the server to open its page
Click "Add to Cursor" or copy the Claude Desktop config
Restart your AI client
Option 2 — Install MCPNest inside Claude (recommended)
Add this to your claude_desktop_config.json and restart Claude. You can then search and install servers using natural language.
{
"mcpServers": {
"mcpnest": {
"command": "npx",
"args": ["-y", "mcpnest-mcp"]
}
}
}npm Package — npx mcpnest-mcp
The MCPNest npm package installs MCPNest as an MCP server inside Claude, Cursor, or Windsurf. Once installed, you can search and install any of the 7,561+ servers using natural language — no browsing required.
What it does
The package exposes three tools to your AI client:
search_mcp_serversinstall_mcp_servervalidate_configClaude Desktop config
{
"mcpServers": {
"mcpnest": {
"command": "npx",
"args": ["-y", "mcpnest-mcp"]
}
}
}Cursor config
{
"mcpServers": {
"mcpnest": {
"command": "npx",
"args": ["-y", "mcpnest-mcp"]
}
}
}Example natural language usage
> "find me a GitHub MCP server"
> "install the top postgres server"
> "what MCP servers are available for Slack?"
> "search for browser automation servers"
> "validate my current MCP config"Browse and Search
Visit mcpnest.io to browse 7,561+ MCP servers. Use the search bar or quick tags to find what you need.
Quick tags
Click any tag on the homepage to search instantly: github, postgres, slack, filesystem, browser, stripe, notion, docker.
Search filters
CategoryClientPricingSortQuality Scores and Tool Counts
Every server is scored automatically so you can evaluate quality at a glance.
Quality Score A-F
Computed from four signals:
Maintenance velocityConfig completenessVerification statusDocumentation depthTool Count Badge
Shows how many tools the server exposes to your AI client — and the context window cost:
Green — LeanBlue — ModerateYellow — HeavyRed — Context Heavy1-Click Install — Cursor
On any server page, click "Add to Cursor". Cursor opens automatically and adds the server to your config.
Manual install
If the 1-click button does not work, copy the install config and add it to your Cursor MCP config file:
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "package-name"]
}
}
}1-Click Install — VS Code
Click "VS Code Install MCP" on any server page. VS Code opens and prompts you to install. Requires the GitHub Copilot extension with MCP support enabled.
Manual Install — Claude Desktop
Open the server page on MCPNest and copy the Claude Desktop config
Find your config file (see paths below)
Add the server entry inside the mcpServers object
Save the file and restart Claude Desktop completely
Config file locations
MacWindowsLinuxExample config
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-token-here"
}
}
}
}Config Validator
The Config Validator catches JSON errors, missing fields, and structural issues before they cause silent failures in your AI client.
Go to mcpnest.io/config-validator
Paste your claude_desktop_config.json or cursor MCP config
The validator highlights errors, warnings, and suggestions
Fix the issues and paste again to confirm
Common issues caught:
Invalid JSONMissing mcpServersMissing command or argsWrong env formatMCP Composer
Build a complete multi-server config visually. Select servers, configure them, and export the full JSON in one click. Saves 30+ minutes of manual config work.
Go to mcpnest.io/compose
Search and add the servers you want
Configure any required environment variables
Click "Export Config" to copy the complete JSON
Paste into your claude_desktop_config.json and restart
Bundle Sharing
Bundles are curated sets of MCP servers packaged as a single shareable link. Share your stack with teammates or import a community bundle in one click.
MCPNest DevOps Pack
Nine servers for full infrastructure context: GitHub, Docker, Kubernetes, AWS, Grafana, Sentry, Datadog, RailPush, Linear.
mcpnest.io/collections/devops-packCreate your own bundle
Go to mcpnest.io/compose and build your config
Click "Share as Bundle"
Copy the bundle URL and share with your team
MCP Gateway — Overview
The MCPNest Gateway is a managed proxy that sits between your AI clients and your MCP servers. One authenticated endpoint per workspace. Every tool call logged. No credentials exposed to end users.
Single endpoint
One URL for all workspace servers
SHA-256 auth
Bearer token with constant-time comparison
Audit logging
Every tools/call logged with latency and status
Tool aggregation
tools/list combines all servers into one response
Smart routing
tools/call proxies to the correct upstream server
Rate limiting
200 req/min per IP per workspace
How it works
Your AI client connects to a single Gateway endpoint instead of configuring each MCP server individually. The Gateway aggregates tools/list from all workspace servers and proxies tools/call to the correct upstream. All calls are logged for audit and compliance.
[Claude / Cursor / Windsurf]
|
| Bearer token auth
v
[MCPNest Gateway]
https://mcpnest.io/api/gw/{workspace-slug}
|
|-- tools/list aggregated
|-- tools/call proxied
|-- every call logged
|
+----+----+----+
| | |
[Server A] [B] [C]
Grafana RailPush Context7Create a Workspace
Upgrade to Enterprise at mcpnest.io/pricing
Go to mcpnest.io/workspace/new
Enter a workspace name and optional description
Click "Create workspace"
Copy your Gateway token immediately — it is shown only once
Note your Gateway endpoint: https://mcpnest.io/api/gw/{workspace-slug}
What gets created
When you create a workspace, MCPNest automatically provisions:
Gateway endpointBearer tokenAudit logOwner membershipAdd Servers to the Gateway
Open your workspace and go to the Servers tab
Click "+ Add server"
Enter the server name and HTTP endpoint URL
Optionally add a GitHub repo URL for version sync
Click "Add to registry"
Adding a server from the marketplace
Any server on MCPNest with a remote endpoint (hosted servers) can be added directly. Go to the server page and look for "Add to Workspace" if you are signed in with Enterprise.
Server syncs to Gateway automatically
When you add a server with an HTTP endpoint, it is automatically synced to the Gateway's routing table. No manual configuration required.
Connect Claude or Cursor to the Gateway
Claude Desktop
{
"mcpServers": {
"my-workspace": {
"url": "https://mcpnest.io/api/gw/your-workspace-slug",
"headers": {
"Authorization": "Bearer mng_your_token_here"
}
}
}
}Cursor
{
"mcpServers": {
"my-workspace": {
"url": "https://mcpnest.io/api/gw/your-workspace-slug",
"headers": {
"Authorization": "Bearer mng_your_token_here"
}
}
}
}Test with curl
curl -X POST https://mcpnest.io/api/gw/your-workspace-slug \
-H "Authorization: Bearer mng_your_token_here" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'Expected response with no servers added yet:
{"jsonrpc":"2.0","id":1,"result":{"tools":[]}}Gateway API Reference
Base URL: https://mcpnest.io/api/gw/{workspace-slug}
Auth: Authorization: Bearer mng_your_token
tools/list
Returns all tools available in the workspace, aggregated from all connected servers. Tools from different servers are merged into a single flat list.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
}Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tools": [
{
"name": "get_dashboard",
"description": "Fetch a Grafana dashboard by UID",
"inputSchema": {
"type": "object",
"properties": {
"uid": { "type": "string" }
},
"required": ["uid"]
}
}
]
}
}tools/call
Calls a specific tool. The Gateway routes automatically to the correct upstream server based on the tool name. You do not need to know which server provides which tool.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_dashboard",
"arguments": {
"uid": "my-dashboard-uid"
}
}
}Error codes
-32001-32002-32601-32700HTTP status codes
401404429Audit Logs
Every tool call through the Gateway is logged automatically. View audit logs in your workspace dashboard under the "Audit Log" tab.
What is logged
workspace_idserver_slugtool_namestatuslatency_mscreated_atWorkspace event log
In addition to tool calls, all workspace management actions are logged: workspace created, server added/removed, member invited/removed, health checks, settings changes.
Gateway Security
Token security
Bearer tokens are never stored in plaintext. MCPNest stores only the SHA-256 hash. Token verification uses constant-time comparison to prevent timing attacks.
Token formatStorageComparisonToken rotation
Rotate your token in workspace settings at any time. The old token stops working immediately. Update your AI client configs with the new token.
Network security
Rate limitingHTTPS onlyNo content loggingThree-layer security model
MCPNest Gateway implements Layer 1 of the emerging MCP security stack:
Layer 1 — AuthLayer 2 — AuthorizationLayer 3 — TrustLayer 2 — Member Tokens and Tool Allowlists
Layer 2 gives workspace owners granular control over which team members can call which tools. Each member gets their own Bearer token and an optional allowlist of permitted tools.
Member tokens
Member tokens are separate from the workspace admin token. They allow individual team members to connect to the Gateway with their own identity, enabling per-user audit logs and access control.
FormatStorageScopelast_used_atGenerating a member token
Open your workspace and go to the Security tab
Under Member Tokens, select a team member
Click Generate Token
Copy the token immediately — it is shown only once
Share it securely with the member
Tool allowlists
When enforcement is enabled, each member can only call tools explicitly listed in their allowlist. Members with no rules get full access (open by default). Rules are per server slug and tool name.
Rule formatNo rulesWith rulesEnforcement toggleError codes
-32001-32002-32003Enterprise Workspaces
Workspaces are private MCP registries for your team. Each workspace gets its own Gateway endpoint, server registry, audit log, and team membership.
What a workspace includes
Gateway endpointBearer tokenPrivate server registryAudit logHealth monitoringTeam managementCreating a workspace
Go to mcpnest.io/workspace/new. Requires Enterprise plan.
Managing servers
Add servers in the Servers tab. Servers with HTTP endpoints are automatically synced to the Gateway. You can also set a tool prefix per server to avoid naming conflicts.
Team Management
Roles
OwnerAdminMemberInviting members
Go to your workspace and click the Team tab
Click "+ Invite"
Enter the email address of the person to invite
They receive an email with a link to join
Removing members
Click "Remove" next to any member in the Team tab. Owners cannot be removed. The removal is logged in the workspace audit log.
Health Monitoring
MCPNest checks the health of your workspace servers by sending a tools/list request to each HTTP endpoint. Results are shown in the workspace Overview and Servers tabs.
Status values
HealthyDegradedDownUnknownRunning a health check
Click "Health check" in the workspace Overview or Servers tab. Results update immediately. Health checks are also triggered automatically by the cron.
Self-Host Docker Deployment
Run MCPNest Gateway on your own infrastructure. Suitable for regulated industries where cloud-hosted tooling is not permitted.
Requirements
Docker + ComposeDomainSupabase projectGoogle OAuthQuick start
git clone https://github.com/CodeMalasartes/mcpnest
cd mcpnest
cp .env.selfhost .env
# Edit .env with your values
docker compose up -dProduction with SSL
# Place SSL certs in ./ssl/cert.pem and ./ssl/key.pem
# Edit nginx.conf: replace your-domain.com
docker compose --profile production up -dRequired environment variables
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYNEXTAUTH_URLNEXTAUTH_SECRETGOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETSTRIPE_SECRET_KEYCRON_SECRETVerify deployment
curl http://localhost:3000/api/healthHosted MCP Servers
MCPNest can host MCP servers on your behalf inside isolated Docker containers. Instead of running npx commands locally or maintaining your own server, MCPNest manages the container lifecycle, health checks, and exposes the server through your workspace Gateway endpoint.
How it works
Container per serverBridge layerGateway integrationHealth monitoringSecurity isolation
No new privilegesCapability dropLocalhost onlytmpfs /tmpResource limitsImage allowlistResource profiles
SmallMediumLargeInstance limits by plan
TeamEnterpriseDeploying a hosted server
Open your workspace and go to the Hosted tab
Click Deploy Server
Select a server from the verified catalogue
Set any required environment variables (e.g. API keys)
Click Deploy — the container starts within 10 seconds
The server appears in your Gateway tools/list automatically
API — Deploy an instance
curl -X POST https://mcpnest.io/api/hosted -H "Authorization: Bearer <your-session-token>" -H "Content-Type: application/json" -d '{
"workspace_id": "<workspace-uuid>",
"server_slug": "filesystem-mcp",
"env_vars": {}
}'API — List instances
curl https://mcpnest.io/api/hosted?workspace_id=<uuid> -H "Authorization: Bearer <your-session-token>"API — Get logs
curl "https://mcpnest.io/api/hosted/<instance-id>/logs?tail=100" -H "Authorization: Bearer <your-session-token>"MCP Orchestrator
The MCP Orchestrator is an intelligent routing layer that sits above your hosted servers. When enabled, it aggregates tools from all running instances in your workspace into a single unified tool list, handles naming conflicts automatically, and routes each tool call to the correct container.
Architecture
Single endpointTool aggregationSmart routingTool namespacingCacheEnabling the orchestrator
The orchestrator is enabled per workspace by MCPNest team when you activate Enterprise hosted servers. Once enabled, it activates automatically when you have at least one hosted instance running. No configuration required — your Gateway endpoint stays the same.
Fallback behaviour
If the orchestrator service is unreachable or your workspace has no running hosted instances, the Gateway automatically falls back to the standard direct fan-out routing. There is no downtime or manual intervention required.
Tool namespacing rules
No conflictConflict detectedSlug sanitizationMCP Generator
Describe what you want in plain English. Claude generates a complete, real TypeScript MCP server — not a mockup, not a template. Working server with proper tool schemas, error handling, and install config.
Go to mcpnest.io/generate (sign in required)
Describe your MCP server in plain English
Press Generate or Cmd+Enter
Review the generated TypeScript code and install config
Copy both to a local file
Run: npx tsx server.ts
Example prompts
"A server that fetches real-time weather for any city"
"A server that searches my Notion workspace"
"A server that queries a PostgreSQL database"
"A server that sends Slack messages to a channel"
"A server that reads and writes to Google Sheets"Running the generated server
npm install @modelcontextprotocol/sdk zod tsx
npx tsx server.tsAdding to Claude Desktop
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["tsx", "server.ts"]
}
}
}AI Discovery
Describe what you want to do in plain English. MCPNest finds the best matching servers from the registry and explains how to install them.
Go to mcpnest.io/discover
Describe your use case or what you want Claude to be able to do
MCPNest recommends the best matching servers with quality scores
Click to install any recommended server directly
"I want Claude to be able to query my database"
"Help me find tools for web scraping and browser automation"
"I need to connect Claude to my GitHub repositories"Submit a Server
Add your MCP server to the MCPNest registry. Free plan: up to 3 servers. Pro plan: unlimited.
Sign in to MCPNest
Go to mcpnest.io/publish
Enter your GitHub repository URL
If your server has an HTTP endpoint, enter the URL and click "Fetch Tools" to auto-discover capabilities
Select compatible clients (Claude, Cursor, Windsurf, VS Code, ChatGPT, Gemini)
Click "Submit for Review"
Getting a higher Quality Score
Keep commits recentAdd install configsWrite a good READMEGet verifiedPublisher Analytics
After your server is approved, view analytics at mcpnest.io/dashboard.
Weekly install trendsQuality Score historyPage viewsClient breakdownCountry breakdownRegistry API — Overview
Query the MCPNest registry programmatically. Free, no API key required. CORS enabled for browser requests.
Base URLAuth requiredRate limitFormatGET /servers
/api/v1/serversList and search MCP serversQuery parameters
qcategoryverifiedsortlimitpageExample
curl "https://mcpnest.io/api/v1/servers?q=postgres&verified=true&limit=5"Response
{
"servers": [
{
"slug": "postgres-mcp",
"name": "PostgreSQL MCP",
"description": "Connect Claude to your PostgreSQL database",
"category": "Database",
"tags": ["postgres", "sql", "database"],
"github_stars": 1240,
"install_count": 8430,
"is_verified": true,
"quality_score": 88,
"tool_count": 8,
"compatibility": { "claude_desktop": true, "cursor": true }
}
],
"meta": { "total": 142, "page": 1, "limit": 5, "pages": 29 }
}GET /servers/:slug
/api/v1/servers/:slugGet a single server by slugcurl "https://mcpnest.io/api/v1/servers/mcp-grafana"Response fields
slugnamedescriptionlong_descriptioncategorytagsgithub_urlendpoint_urlinstall_configscompatibilitygithub_starsinstall_counttool_countis_verifiedquality_scorelanguagecreated_atGET /categories
/api/v1/categoriesList all categories with server countscurl "https://mcpnest.io/api/v1/categories"{
"categories": [
{ "name": "Development", "count": 2341 },
{ "name": "DevOps", "count": 892 },
{ "name": "Database", "count": 654 }
]
}GET /trending
/api/v1/trendingMost installed servers this weekcurl "https://mcpnest.io/api/v1/trending?limit=10"Errors
400404429500JavaScript example
const res = await fetch(
'https://mcpnest.io/api/v1/servers?q=github&limit=5'
)
const { servers, meta } = await res.json()
console.log(servers[0].name) // "GitHub MCP"
console.log(meta.total) // 47Python example
import requests
res = requests.get(
'https://mcpnest.io/api/v1/servers',
params={'q': 'postgres', 'verified': 'true', 'limit': 10}
)
for server in res.json()['servers']:
print(server['name'], server['github_stars'])Troubleshooting
Claude Desktop not loading server
Validate configFully restartCheck file pathCheck npxGateway returns 401 Unauthorized
Header formatWorkspace slugToken rotationGateway returns empty tools list
HTTP endpoint requiredServer healthEndpoint reachableGenerator shows error
Use EnglishShorten promptSign inServer not appearing in search
Review timeCheck statusStill stuck?
Email us or open an issue on GitHub. Enterprise customers get priority support.