MCP Remote Server
About
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.
Details
- Author
- sirmews
- Repository
- sirmews/mcp-remote-server
- GitHub stars
- 5
- Downloads
- 1
- Categories
- Developer Tools, Productivity, Other
Jump to
- 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
Setting up with Highlight
Follow these steps to add this server as a custom Highlight plugin:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MCP Remote ServerCommand (node, npx, python, etc.)npxArguments-
Argument 1
-y -
Argument 2
@highlight/mcp-server
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
1. Set your control plane URL:
export MCP_CONTROL_PLANE_URL="https://your-config-endpoint"
2. Run the server:
bun run index.ts
{
"tools": [{
"name": "tool-name",
"description": "Tool description",
"inputSchema": {
"type": "object",
"properties": {
// JSON Schema for tool inputs
}
},
"handler": "https://api.example.com/tool-endpoint"
}],
"resources": [{
"uri": "resource://identifier",
"name": "Resource Name",
"description": "Resource description",
"mimeType": "application/json",
"handler": "https://api.example.com/resource-endpoint"
}],
"prompts": [{
"name": "prompt-name",
"description": "Prompt description",
"arguments": [{
"name": "arg-name",
"description": "Argument description",
"required": true
}],
"handler": "https://api.example.com/prompt-endpoint"
}]
}
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp remote server": {
"env": {},
"args": [
"-y",
"@highlight/mcp-server"
],
"command": "npx"
}
}
}
Linux
{
"env": [],
"args": [
"-y",
"@highlight/mcp-server"
],
"command": "npx"
}
Macos
{
"env": [],
"args": [
"-y",
"@highlight/mcp-server"
],
"command": "npx"
}
Windows
{
"env": [],
"args": [
"/c",
"npx",
"-y",
"@highlight/mcp-server"
],
"command": "cmd"
}
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
{
"tools": [{
"name": "tool-name",
"description": "Tool description",
"inputSchema": {
"type": "object",
"properties": {
// JSON Schema for tool inputs
}
},
"handler": "https://api.example.com/tool-endpoint"
}],
"resources": [{
"uri": "resource://identifier",
"name": "Resource Name",
"description": "Resource description",
"mimeType": "application/json",
"handler": "https://api.example.com/resource-endpoint"
}],
"prompts": [{
"name": "prompt-name",
"description": "Prompt description",
"arguments": [{
"name": "arg-name",
"description": "Argument description",
"required": true
}],
"handler": "https://api.example.com/prompt-endpoint"
}]
}
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
bun install
Usage
1. Set your control plane URL:
export MCP_CONTROL_PLANE_URL="https://your-config-endpoint"
2. Run the server:
bun run index.ts
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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





