Meta-Dynamic MCP Server
Enables testing of the meta-dynamic MCP server through direct HTTP requests, allowing verification of connectivity and message exchange with the server.
Provides the runtime environment for the MCP server, with support for Node.js v16 and above.
Used as the implementation language for the server, providing type safety and modern JavaScript features.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Meta-Dynamic MCP Server
A single Model Context Protocol (MCP) proxy that aggregates multiple remote MCP endpoints (via HTTP-stream or SSE) and exposes them through one unified SSE interface.
Ideal for driving a single LLM client (e.g. Claude) while mixing in any number of specialized MCP servers (math, finance, etc.).
π Why Meta-Dynamic vs Direct MCP Configuration
Traditionally, you would list each MCP server directly in your LLM clientβs mcpServers config. While straightforward, that approach has drawbacks:
Tight coupling: Every time you add or remove an MCP endpoint, you must update the client config and restart the LLM process.
Multiple connections: The client has to manage separate HTTP/SSE transports for each server, increasing complexity.
No shared logic: Common patterns like namespacing, error handling, or retries must be re-implemented in every client.
Meta-Dynamic centralizes these concerns in one proxy:
Single endpoint: Your LLM client only talks to
http://localhost:8080/sse, regardless of how many backends you add.Dynamic remotes: Remotes are configured in one place (your proxy), decoupled from the LLMβadd/remove without touching the client.
Unified logic: Namespacing, tool/resource aggregation, error handling, and transport selection live in a single codebase, reducing duplication.
Related MCP server: MCP Proxy Server
π§ Prerequisites
Node.js β₯ v16
npm (or Yarn)
A set of running MCP servers you want to proxy (e.g. FastMCP math server on
http://localhost:8083/mcp, CoinGeckoβs SSE-based MCP, etc.)
ποΈ Project Structure
meta-dynamic-server/
βββ package.json # scripts & dependencies
βββ tsconfig.json # TypeScript compiler options
βββ .gitignore # Node & dist ignores
βββ README.md # this document
βββ src/
βββ index.ts # bootstrap entrypoint
βββ meta-dynamic-server.ts # core proxy implementationπ Installation & Development
Clone & install
git clone <repo-url> meta-dynamic-server cd meta-dynamic-server npm installRun in watch mode
npm run dev # uses ts-node-dev to reload on changesBuild & run
npm run build # compiles to `dist/` npm start # runs compiled `dist/index.js`
βοΈ Configuration: Adding Remotes
Edit src/index.ts to define the list of MCP servers you wish to proxy.
Each remote needs:
name: unique alias (used to namespace URIs & tool names)
url: full endpoint URL (HTTP-stream endpoints point to
/mcp, SSE to the/ssepath)transport: either
httpStreamorsse
import { MetaDynamicServer } from "./meta-dynamic-server";
const remotes = [
{ name: "math", url: "http://localhost:8083/mcp", transport: "httpStream" },
{ name: "coingecko", url: "https://mcp.api.coingecko.com/sse", transport: "sse" },
// add more MCP endpoints here
];
new MetaDynamicServer(remotes).start(8080);Note: The proxy exposes an SSE stream on port 8080 by default:
http://localhost:8080/sse
π How It Works
Remote Initialization: connects to each MCP server using the specified transport.
Request Handlers:
resources/list, resources/read β fan-out & namespace by alias
tools/list, tools/call β aggregate & route tool invocations
SSE Endpoint: exposes a single SSE stream (
/sse) and message POST path (/messages) for any MCP-capable LLM client.
π§ͺ Testing
You can verify connectivity with curl or your LLMβs built-in MCP client.
Example with curl to list resources:
# 1. open an SSE stream:
curl -N http://localhost:8080/sse
# 2. in another shell, send a JSON-RPC over POST:
curl -X POST http://localhost:8080/messages \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"resources/list"}'π§ Contributing
Fork the repo
Create a feature branch
Submit a PR with tests/documentation
π License
Released under the MIT License. See LICENSE for details.
This server cannot be deployed
Maintenance
Related MCP Connectors
Chat, image, video, and audio models from many vendors behind one remote MCP server and one key.
A Model Context Protocol server for Wix AI tools
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
OpenAI-compatible BYOK LLM gateway: per-task routing, shadow evaluation, promotion gates.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables connecting, aggregating, and routing multiple backend Model Context Protocol servers (Stdio, SSE, and Streamable HTTP) by exposing their combined tools and resources through unified SSE/HTTP endpoints or a single Stdio interface, with optional authentication and web-based admin management.104 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables aggregation and unified access to multiple backend Model Context Protocol servers, exposing their tools and resources through SSE, Streamable HTTP, or Stdio endpoints while routing requests to the appropriate backend.104 npmMIT
- AlicenseNot gradedqualityAmaintenanceActs as a central hub that connects to and manages multiple backend Model Context Protocol servers, aggregating their tools and resources and exposing them through unified SSE, Streamable HTTP, or Stdio interfaces. It routes requests to the correct backend and supports concurrent clients with optional authentication and web-based administration.104 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables clients to connect to and manage multiple backend Model Context Protocol servers, aggregating their tools and resources and exposing them through a unified SSE, Streamable HTTP, or Stdio interface.104 npmMIT