mcp-orchestrator
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REDIS_URL | No | Redis connection URL | redis://localhost:6379/0 |
| STORAGE_BACKEND | No | Storage backend (memory or redis) | memory |
| ORCHESTRATOR_HOST | No | Host for HTTP transport | 0.0.0.0 |
| ORCHESTRATOR_PORT | No | Port for HTTP transport | 8080 |
| SERVER_CONFIG_PATH | No | Path to server configuration file | server_config.json |
| ORCHESTRATOR_LOG_LEVEL | No | Logging level | INFO |
| ORCHESTRATOR_TRANSPORT | No | MCP transport (stdio or http) | stdio |
| MCP_ORCHESTRATOR_MAX_RETRIES | No | Maximum retry attempts | 3 |
| MCP_ORCHESTRATOR_TOOL_CACHE_TTL | No | Tool schema cache TTL in seconds | 300 |
| MCP_ORCHESTRATOR_CONNECTION_TIMEOUT | No | Connection timeout in seconds | 30.0 |
| MCP_ORCHESTRATOR_DEFAULT_CONNECTION_MODE | No | Default connection mode | stateless |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tool_searchA | Search for tools using BM25 relevance ranking or regex pattern matching. Searches across tool names, descriptions, and argument names/descriptions. By default, uses BM25 natural language search. Set use_regex=True to search using Python regex patterns instead. Returns tool_reference blocks for discovered tools with deferred loading. Args: query: Natural language query (BM25) or regex pattern (if use_regex=True) max_results: Maximum number of results (1-10, default 3) use_regex: If True, treat query as regex pattern; otherwise use BM25 search Returns: Tool search results with tool_reference blocks for discovered tools |
| call_remote_toolA | Call a tool directly on a registered remote MCP server through the orchestrator. This tool allows direct invocation of any tool on a downstream MCP server. The tool name should be in the format 'server_name__tool_name' (e.g., 'context7__query-docs'). Args: tool_name: Full tool name in format 'server_name__tool_name' arguments: Tool arguments as a dictionary (optional) auth_header: Optional auth header to use for this call (overrides registered auth) Returns: Raw tool call result from the remote server |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one searches/disovers tools across servers, the other invokes a specific remote tool. There is no overlap or ambiguity between them.
Both names are snake_case and descriptive, but 'tool_search' follows a noun_verb pattern while 'call_remote_tool' follows verb_remote_noun. This is a minor inconsistency; renaming to 'search_tools' would make it perfectly uniform.
With only 2 tools, the server feels slightly thin for an orchestrator role. The tool count is borderline below the typical 3-15 range, but the two tools cover core orchestration functions (discovery and invocation).
The pair covers the main workflow: search for tools and call them. However, missing operations like listing registered servers, checking server health, or managing registrations mean the surface is not fully complete for a comprehensive orchestrator, though workable for basic flows.