mcp-remote-server
by MCP-Mirror
A configurable Model Context Protocol (MCP) server that dynamically loads its capabilities from a remote configuration. It acts as a bridge between MCP clients and remote APIs.
Last updated: N/A
What is mcp-remote-server?
mcp-remote-server is a bridge between MCP clients and remote APIs. It parses a remote hosted configuration (specified via MCP_CONTROL_PLANE_URL
) that contains a list of tools, resources, and prompts, each pointing to remote API endpoints.
How to use mcp-remote-server?
- Set the
MCP_CONTROL_PLANE_URL
environment variable to point to your remote configuration endpoint. 2. Install dependencies usingbun install
. 3. Run the server usingbun run index.ts
.
Key features of mcp-remote-server
Dynamic Configuration
Auto-Refresh (every 60 seconds)
Supports All MCP Primitives (Tools, Resources, Prompts)
Uses Bun and Biome
Use cases of mcp-remote-server
Exposing remote data as readable resources via MCP
Executing actions on remote APIs through MCP tools
Defining reusable prompt templates for MCP
Integrating existing APIs with MCP clients
FAQ from mcp-remote-server
What protocols are supported for handler endpoints?
What protocols are supported for handler endpoints?
Only HTTP/HTTPS handler endpoints are supported.
How often does the server refresh its configuration?
How often does the server refresh its configuration?
The configuration is automatically refreshed every 60 seconds.
What format should handler responses be in?
What format should handler responses be in?
Tool Handlers: Return JSON that will be stringified and wrapped in an MCP tool response. Resource Handlers: Return content that matches the specified mimeType. Prompt Handlers: Return either a string (automatically wrapped in a message) or an array of MCP-formatted messages.
Can I run this server remotely?
Can I run this server remotely?
It runs locally only (standard MCP limitation).
What happens if the configuration URL is unavailable?
What happens if the configuration URL is unavailable?
The server will likely fail to start or will not have any capabilities defined. Ensure the URL is accessible via HTTP GET request.