MCP Station
Directory of remote MCP servers with daily measured reachability, tools and changes.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"station": {
"url": "https://mcpstation.net/mcp"
}
}
}Remote endpoints
https://mcpstation.net/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
🟢search_servers(q, similar_to, category, auth, reachable, ...)
Find remote MCP servers listed in the Official MCP Registry, with MCP Station's daily measurements. Turn the user's need into words (q) plus filters. Example: 'crypto market data, no API key, working' -> q='crypto market data', auth='none', reachable=true. Results are ordered by relevance first, then by published rank rules (measurements only, no paid placement). similar_to='<registry name>' returns other working servers in the same categories with the same authentication.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Words, max 200 characters",
"maxLength": 200
},
"similar_to": {
"type": "string",
"description": "Registry name of a server to find alternatives for",
"maxLength": 200
},
"category": {
"type": "string",
"description": "Category ID, e.g. finance.crypto (see list_categories)",
"maxLength": 64
},
"auth": {
"type": "string",
"enum": [
"denied",
"key",
"none",
"oauth",
"paid"
],
"description": "Authentication at the last check"
},
"reachable": {
"type": "boolean",
"description": "true = answered at the last check"
},
"risk": {
"type": "string",
"enum": [
"destructive",
"read_only",
"undeclared",
"write"
],
"description": "Declared by the server's tool hints"
},
"transport": {
"type": "string",
"enum": [
"sse",
"streamable-http"
]
},
"capability": {
"type": "string",
"enum": [
"prompts",
"resources",
"tools"
],
"description": "Declared at initialize"
},
"min_success_7d": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Daily check success over 7 days"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 500,
"default": 0
}
},
"additionalProperties": false
}🟢search_tools(q, category, auth, reachable, risk, ...)
Find individual tools by name and description (as the servers report them in tools/list), with the server each belongs to and its measurements. Example: q='pdf table extraction'.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Words, max 200 characters",
"maxLength": 200
},
"category": {
"type": "string",
"description": "Category ID, e.g. finance.crypto (see list_categories)",
"maxLength": 64
},
"auth": {
"type": "string",
"enum": [
"denied",
"key",
"none",
"oauth",
"paid"
],
"description": "Authentication at the last check"
},
"reachable": {
"type": "boolean",
"description": "true = answered at the last check"
},
"risk": {
"type": "string",
"enum": [
"destructive",
"read_only",
"undeclared",
"write"
],
"description": "Declared by the server's tool hints"
},
"transport": {
"type": "string",
"enum": [
"sse",
"streamable-http"
]
},
"capability": {
"type": "string",
"enum": [
"prompts",
"resources",
"tools"
],
"description": "Declared at initialize"
},
"min_success_7d": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Daily check success over 7 days"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 500,
"default": 0
}
},
"required": [
"q"
],
"additionalProperties": false
}🟢get_server(name)
Registry data, latest measurements, declared risk, rank parts, connection URLs and tools of one server.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Registry name, e.g. com.example/server",
"maxLength": 200
}
},
"required": [
"name"
],
"additionalProperties": false
}🟢get_server_history(name, days)
Daily check results (reachable, response time) of one server for up to 30 days.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Registry name",
"maxLength": 200
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 30
}
},
"required": [
"name"
],
"additionalProperties": false
}🟢get_changes(since, names)
Tools added or removed, input schema changes, new destructive tools, servers that stopped or started answering, and new listings, per day for the last 30 days. Give names to watch specific servers.
Input Schema
{
"type": "object",
"properties": {
"since": {
"type": "string",
"description": "YYYY-MM-DD, default yesterday",
"maxLength": 10
},
"names": {
"type": "array",
"items": {
"type": "string",
"description": "Registry name",
"maxLength": 200
},
"maxItems": 50
}
},
"additionalProperties": false
}🟢check_overlap(names)
Give the exact registry names of the MCP servers you connect (or plan to). Returns which of them share tool definitions, a remote endpoint or a registry description, compared on the same measurement day, and how many other listings share each one's tool definitions. Facts only, not a judgement. If two share tool definitions, clients that load tool definitions into context may load them twice.
Input Schema
{
"type": "object",
"properties": {
"names": {
"type": "array",
"items": {
"type": "string",
"description": "Exact registry name",
"maxLength": 200
},
"minItems": 1,
"maxItems": 50
}
},
"required": [
"names"
],
"additionalProperties": false
}🟢list_categories
Category IDs (stable), names, parents and server counts.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Community
Evidence