meta
A meta server for orchestrating and leveraging multiple MCP servers and tools based on user requests
claude mcp add --transport stdio infinitimeless-meta-mcp-server node server.js \ --env ENV="development|production" \ --env PORT="3000" \ --env REGISTRY_URL="URL to MCP registry (optional)"
How to use
Meta MCP Server acts as an orchestration layer that coordinates multiple MCP servers and tools based on user requests. It analyzes natural language queries, determines which MCP tools are needed, and creates execution plans that may involve calling several MCP servers in sequence or in parallel. The server exposes a REST API to receive user requests and route them through the orchestration engine, enabling complex workflows such as data extraction, transformation, and visualization by composing existing MCP tools. Typical usage involves sending a request to the API endpoint to initiate a workflow, which the server then analyzes and executes using the registered MCP tools.
To use it effectively, you’ll interact with the API’s /api/request endpoint by posting a JSON payload containing a query or instruction. The orchestration layer will parse the request, consult its registry of available MCP servers, and orchestrate the necessary steps across tools. For example, a request to extract data from a file, transform it, and generate a visualization may involve multiple MCP tools working in concert. The system also includes a Tool Recommender to suggest new tools when gaps are identified, enabling continuous enhancement of capabilities.
How to install
Prerequisites:
- Node.js v18 or higher
- Git
- npm (comes with Node.js)
Step-by-step installation:
-
Clone the repository git clone https://github.com/infinitimeless/meta-mcp-server.git cd meta-mcp-server
-
Install dependencies npm install
-
Configure environment variables cp .env.example .env
Edit .env with your settings (e.g., PORT, REGISTRY_URL, API keys)
-
Start the server npm start
Optional steps:
- Run in production: set NODE_ENV=production before starting
- If you need to customize the orchestrator, modify configuration files as needed
Verifying installation:
- Send a test request to the API via curl or Postman to http://localhost:3000/api/request with a JSON payload like {"query": "Your request here"}
Additional notes
Tips:
- Ensure Node.js is v18+ to meet the server’s requirements.
- Keep your MCP registry up to date so the Orchestration Engine can discover available tools.
- Check logs for errors in case of failures and verify that the .env file contains correct configuration values.
- If you encounter port conflicts, change the PORT value in .env and restart.
Common issues:
- Missing environment variables: ensure .env has all required keys (PORT, REGISTRY_URL, etc.).
- Network access problems when the orchestrator tries to reach registered MCP tools: verify network policies and credentials.
- Incompatible tool versions: use compatible tool versions as documented in the Quick Start or registry.
Environment variables and configuration options:
- PORT: Port to run the API server (default 3000).
- REGISTRY_URL: URL to the MCP tool registry for discovering available tools.
- ENV: Runtime environment (development or production).
If issues persist, consult the Troubleshooting section in the repository or open an issue with logs.
Related MCP Servers
zen
Selfhosted notes app. Single golang binary, notes stored as markdown within SQLite, full-text search, very low resource usage
MCP -Deepseek_R1
A Model Context Protocol (MCP) server implementation connecting Claude Desktop with DeepSeek's language models (R1/V3)
mcp-fhir
A Model Context Protocol implementation for FHIR
mcp
Inkdrop Model Context Protocol Server
mcp-appium-gestures
This is a Model Context Protocol (MCP) server providing resources and tools for Appium mobile gestures using Actions API..
dubco -npm
The (Unofficial) dubco-mcp-server enables AI assistants to manage Dub.co short links via the Model Context Protocol. It provides three MCP tools: create_link for generating new short URLs, update_link for modifying existing links, and delete_link for removing short links.