A WebSocket server implementation for running Model Context Protocol (MCP) servers. This application enables MCP servers to be accessed via WebSocket connections, facilitating integration with web applications and other network-enabled clients.
{
"mcpServers": {
"mcp-server-runner": {
"args": [
"-y",
"export"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
> Note: This project is currently under active development and in WIP (Work In Progress) status. Features and APIs may change significantly.
Is it safe?
No known CVEs for export.
No authentication — any process on your machine can connect.
MIT. View license →
Is it maintained?
Last commit 388 days ago. 20 stars. 1,048 weekly downloads.
Will it work with my client?
Transport: stdio, sse. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'export' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
No known vulnerabilities.
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Dynamic problem-solving through sequential thought chains
A Model Context Protocol server for searching and analyzing arXiv papers
An open-source AI agent that brings the power of Gemini directly into your terminal.
The official Python SDK for Model Context Protocol servers and clients
MCP Security Weekly
Get CVE alerts and security updates for Mcp Server Runner and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Note: This project is currently under active development and in WIP (Work In Progress) status. Features and APIs may change significantly.
A WebSocket server implementation for running Model Context Protocol (MCP) servers. This application enables MCP servers to be accessed via WebSocket connections, facilitating integration with web applications and other network-enabled clients.
MCP Server Runner acts as a bridge between WebSocket clients and MCP server implementations. It:
The application can be configured through environment variables:
PROGRAM= # Path to the MCP server executable (required if no config file)
ARGS= # Comma-separated list of arguments for the MCP server
HOST=0.0.0.0 # Host address to bind to (default: 0.0.0.0)
PORT=8080 # Port to listen on (default: 8080)
CONFIG_FILE= # Path to JSON configuration file
Additional environment variables will be passed through to the MCP server process.
Alternatively, you can provide a JSON configuration file:
{
"servers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/workspace"
]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
}
}
},
"default_server": "filesystem",
"host": "0.0.0.0",
"port": 8080
}
You can specify the configuration file in two ways:
mcp-server-runner config.jsonCONFIG_FILE environment variable: CONFIG_FILE=config.json mcp-server-runnerThe JSON configuration allows you to define multiple server configurations and select one as the default.
CONFIG_FILE environment variablePROGRAM, ARGS, etc.)Using environment variables:
export PROGRAM=npx
export ARGS=-y,@modelcontextprotocol/server-github
export PORT=8080
export GITHUB_PERSONAL_ACCESS_TOKEN=github_pat_***
cargo run
Using a configuration file:
# Either specify the config file as an argument
cargo run config.json
# Or use the CONFIG_FILE environment variable
CONFIG_FILE=config.json cargo run
Connect to the WebSocket server:
const ws = new WebSocket("ws://localhost:8080");
A Dockerfile and docker-compose.yml are provided for containerized deployment:
docker-compose up --build
Build the project:
cargo build
Run tests:
cargo test
Run with debug logging:
RUST_LOG=debug cargo run
The application follows a modular architecture:
main.rs: Application entry point and server setupconfig/: Configuration loading and managementprocess/: Process