Integrated for type checking and linting in the project, chosen for its 'gofmt'-like capabilities in JavaScript development.
Used as the JavaScript runtime for the MCP server, selected for its speed and all-in-one capabilities.
Here's an enhanced README with more technical details based on the codebase:
mcp-remote-server
A configurable Model Context Protocol (MCP) server that dynamically loads its capabilities from a remote configuration. This leverages the ModelContextProtocol to create a local server that can communicate with your local MCP client.
Overview
mcp-remote-server
acts as 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.
Key Features
- Dynamic Configuration: Server capabilities are defined through a remote JSON configuration
- Auto-Refresh: Configuration is automatically refreshed every 60 seconds
- Supports All MCP Primitives:
- Tools: Execute actions through remote API calls
- Resources: Expose remote data as readable resources
- Prompts: Define reusable prompt templates
Configuration Format
Handler API Requirements
Remote handlers must return appropriately formatted responses:
- 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
Installation
Usage
- Set your control plane URL:
- Run the server:
Limitations
- Only supports HTTP/HTTPS handler endpoints
- Configuration must be accessible via HTTP GET request
- Handler responses must be JSON-compatible
- Runs locally only (standard MCP limitation)
This project was created using bun init
in bun v1.1.32. Bun is a fast all-in-one JavaScript runtime. I chose Bun because it's fast and I wanted to try something a little different.
This project also uses Biome for type checking and linting. I chose Biome for the same reason as Bun. I wanted something different and I wish JS had a gofmt
-like tool. This is a good start.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
A configurable MCP server that dynamically loads capabilities from a remote configuration to bridge MCP clients with remote APIs for executing actions, accessing resources, and utilizing prompt templates.
Related Resources
Related MCP Servers
- -securityFlicense-qualityThis is an MCP server that facilitates building tools for interacting with various APIs and workflows, supporting Python-based development with potential for customizable prompts and user configurations.Last updated -Python
- AsecurityAlicenseAqualityA tool that dynamically generates and configures MCP servers by automatically creating necessary directories and files according to user specifications.Last updated -166413JavaScriptMIT License
MCP-YNU FastMCP Serverofficial
-securityAlicense-qualityA dynamic MCP server implementation that automatically loads tools, resources, and prompts from their respective directories, allowing for easy extension and configuration.Last updated -PythonMIT License- -securityFlicense-qualityA configurable server implementation that provides MCP (Model-Controller-Protocol) functionality, supporting both Node.js and Docker environments with automated setup and configuration options.Last updated -693TypeScript