MCP Station

Directory of remote MCP servers with daily measured reachability, tools and changes.

Should I use this

Quality & Safety

A
Description quality
97%
Schema completeness
80%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,287Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (1.01% of 128k context)

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-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools