MCP Router
The MCP Router server provides service discovery and proxy operations for MCP (Model Control Protocol) services. It offers three core capabilities:
• Search for MCP Servers - Find registered servers using vector-based similarity search with the search_mcp_server tool
• Register New MCP Servers - Add servers to the discovery service using add_mcp_server, specifying name, description, endpoint, and available tools
• Execute Tools on Remote Servers - Proxy tool execution on any registered MCP server via exec_mcp_tool by providing server name, tool name, and parameters
The server acts as a central discovery point and execution proxy, fully complying with the MCP protocol specification while abstracting direct interactions with remote MCP servers.
Provides service discovery and proxy capabilities using Alibaba Cloud's DashScope and DashVector services for vector-based similarity search and intelligent management of registered MCP services
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., "@MCP Routersearch for MCP servers that can analyze CSV files"
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.
MCP Router
MCP Router is a service discovery and proxy for MCP (Model Control Protocol) services. It allows you to register, discover, and execute tools on remote MCP servers.
Features
Service Discovery: Register and search for MCP services using vector-based similarity search
Tool Execution Proxy: Execute tools on remote MCP servers through the router
MCP Compliance: Fully compliant with the MCP protocol specification
Related MCP server: one-mcp
Architecture
The MCP Router consists of two core modules:
MCP Data Plane: The frontend that interacts with MCP clients, providing service discovery, registration, and tool execution proxying
MCP Discovery Service: The backend that uses Alibaba Cloud's vector database and embedding models for intelligent search and management of registered MCP services
Prerequisites
Python 3.11 or higher
Access to Alibaba Cloud DashScope and DashVector services
API keys for DashScope and DashVector
Installation
Clone the repository:
git clone <repository-url> cd mcp-routerInstall dependencies using uv:
uv add pydantic httpx dashscope dashvector python-dotenvSet up environment variables in
.env:DASHSCOPE_API_KEY=your_dashscope_api_key DASHVECTOR_API_KEY=your_dashvector_api_key DASHVECTOR_ENDPOINT=your_dashvector_endpoint COLLECTION_NAME=mcp_services_collection EMBEDDING_DIMENSION=1024
Usage
Run the MCP Router server:
uv run python mcp_router.pyTools
The MCP Router provides three tools:
search_mcp_server: Search for registered MCP servers based on a query
add_mcp_server: Register a new MCP server with the discovery service
exec_mcp_tool: Execute a tool on a target MCP server
Development
Code Structure
mcp_router.py: Main MCP server implementation (Data Plane)discovery_service.py: Discovery service implementation (Discovery Service)config.py: Configuration management
Available Tools
3 toolsadd_mcp_serverC
Register a new MCP server with the discovery service.
Args:
server_name: Unique name of the server
server_description: Description of the server
server_endpoint: Endpoint URL of the server
tools: List of tools provided by the server
| Name | Required | Description | Default |
|---|---|---|---|
| server_name | Yes | ||
| server_description | Yes | ||
| server_endpoint | Yes | ||
| tools | 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 full burden of behavioral disclosure. It states the action ('Register') but doesn't cover critical aspects like authentication requirements, potential side effects (e.g., if registration is idempotent or destructive), rate limits, or error handling. This leaves significant gaps for a mutation 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 appropriately sized and front-loaded, with a clear purpose statement followed by a bulleted list of parameters. Each sentence earns its place, though the parameter explanations could be slightly more detailed without sacrificing brevity.
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 complexity (a mutation with 4 parameters), no annotations, and an output schema present (which reduces the need to describe return values), the description is moderately complete. It covers the basic action and parameters but lacks behavioral context and usage guidelines, making it adequate but with clear gaps.
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 description coverage is 0%, so the description must compensate. It lists all four parameters with brief explanations (e.g., 'Unique name of the server'), adding basic meaning beyond the schema's titles. However, it doesn't provide details on formats (e.g., URL validation for server_endpoint) or constraints (e.g., uniqueness rules for server_name), leaving some ambiguity.
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 action ('Register') and resource ('new MCP server with the discovery service'), making the purpose evident. However, it doesn't explicitly differentiate this tool from its siblings (exec_mcp_tool and search_mcp_server), which would require mentioning that this is for registration rather than execution or search.
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?
No guidance is provided on when to use this tool versus alternatives like exec_mcp_tool or search_mcp_server. The description lacks context about prerequisites (e.g., whether the server must be pre-configured) or exclusions, leaving the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exec_mcp_toolC
Execute a tool on a target MCP server.
Args:
target_server_name: Name of the target server
target_tool_name: Name of the tool to execute
parameters: Parameters for the tool
| Name | Required | Description | Default |
|---|---|---|---|
| target_server_name | Yes | ||
| target_tool_name | Yes | ||
| parameters | 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 states the tool executes another tool but does not describe execution behavior such as error handling, permissions required, side effects, or response format. This is a significant gap for a tool that performs dynamic execution, as it lacks details on safety, reliability, or operational constraints.
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 appropriately sized and front-loaded, with a clear purpose statement followed by a parameter list. Every sentence serves a purpose, and there is no redundant or verbose content. However, the structure could be improved by integrating parameter details more seamlessly rather than a separate 'Args:' section, slightly reducing readability.
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 complexity (dynamic execution with 3 parameters, nested objects, and an output schema), the description is incomplete. It lacks behavioral context, usage guidelines, and parameter details. The presence of an output schema mitigates the need to explain return values, but the description does not adequately cover execution semantics or integration with sibling tools, leaving gaps for the agent.
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. It lists parameters with brief explanations (e.g., 'Name of the target server'), but these add minimal semantic value beyond the schema's property names. The description does not explain parameter formats, constraints, or how 'parameters' should be structured, leaving key details undocumented for a tool with 3 required 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 purpose as 'Execute a tool on a target MCP server,' specifying the verb 'execute' and resource 'tool on a target MCP server.' It distinguishes from sibling tools like 'add_mcp_server' and 'search_mcp_server' by focusing on execution rather than server management or searching. However, it lacks specificity about what types of tools can be executed or the execution context, preventing a perfect score.
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 does not mention prerequisites (e.g., needing an added server via 'add_mcp_server'), exclusions, or contextual cues for selection. Usage is implied only through the tool name and description, with no explicit instructions for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_mcp_serverC
Search for registered MCP servers based on a query.
Args:
query: Search query
top_k: Number of top results to return (default: 3)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| top_k | 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 provided, the description carries full burden but lacks behavioral details. It doesn't disclose whether this is a read-only operation, what the search scope is (e.g., local vs. remote), performance characteristics, or error handling. The mention of 'registered MCP servers' hints at a database query, but specifics are missing.
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 front-loaded with the core purpose in the first sentence, followed by a structured 'Args:' section. It avoids unnecessary words, but the 'Args:' formatting could be more integrated. Overall, it's efficient with minimal waste.
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 2 parameters with 0% schema coverage and an output schema present, the description provides basic parameter semantics but lacks behavioral context. It doesn't explain search mechanics or result format, relying on the output schema for return values. This is adequate for a simple search tool but misses operational details.
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. It adds basic semantics by explaining 'query' as a 'Search query' and 'top_k' as 'Number of top results to return', which clarifies intent beyond schema types. However, it doesn't detail query syntax, result ranking, or default behavior beyond the default value, leaving gaps.
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 verb ('Search') and resource ('registered MCP servers'), making the purpose immediately understandable. It distinguishes from sibling tools like 'add_mcp_server' (creation) and 'exec_mcp_tool' (execution) by focusing on discovery. However, it doesn't specify what aspects of servers are searched (e.g., names, descriptions, capabilities), keeping it from a perfect score.
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?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, typical use cases, or how it relates to sibling tools like 'add_mcp_server' for adding servers or 'exec_mcp_tool' for using them. This leaves the agent without context for tool selection.
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.
3 tool updates
- First observed
add_mcp_server - First observed
exec_mcp_tool - First observed
search_mcp_server
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose with no overlap: add_mcp_server registers servers, exec_mcp_tool executes tools on servers, and search_mcp_server searches for servers. The descriptions reinforce these distinct roles, making misselection unlikely.
All tool names follow a consistent verb_noun pattern with snake_case: add_mcp_server, exec_mcp_tool, and search_mcp_server. This predictable naming scheme enhances readability and usability for agents.
With only 3 tools, the server feels thin for a router's scope, which typically involves more operations like listing, updating, or removing servers. While the core functions are present, the count is borderline for comprehensive routing capabilities.
The tool set covers basic registration, execution, and search, but lacks operations for updating or deleting servers, which are common in lifecycle management. This creates notable gaps that agents might need to work around for full server management.
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
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Search, vet & assemble MCP servers from your agent: verified tools, risk labels, and trust scores.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceProvides a unified MCP interface that proxies requests to multiple backend servers including memory/knowledge graph and vector database services. Enables seamless access to distributed MCP tools through a single endpoint with automatic routing, health monitoring, and retry logic.-
- AlicenseNot gradedqualityDmaintenanceA lightweight MCP server that enables intelligent tool management and semantic search for APIs using sentence-transformers. It supports both REST and MCP interfaces across dual transport modes, allowing users to upload, manage, and query API tools with natural language.1MIT
- AlicenseNot gradedqualityBmaintenanceAI-first MCP server discovery tool that enables agents to search, inspect, and install MCP servers from multiple registries.12AGPL 3.0
- AlicenseAqualityCmaintenanceAggregates and routes multiple MCP servers with intelligent tool recommendation and batch parallel execution, enabling unified access and efficient tool usage.2144MIT
Appeared in Searches
- An MCP router server that dynamically exposes and routes tool calls to multiple MCP servers based on semantic search
- A semantic search router for dynamically discovering and routing MCP tool definitions
- NCP server aggregators for managing and querying dependent NCP servers
- MCP client for discovering and mapping active MCP servers
- An MCP server that connects to all MCP servers in Glama
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/Maverick-LjXuan/mcp-router'
If you have feedback or need assistance with the MCP directory API, please join our Discord server