MCP Server Runner

MCP Server Runner

一个用于运行 Model Context Protocol (MCP) 服务器的 WebSocket 服务器实现。此应用程序使 MCP 服务器能够通过 WebSocket 连接访问,从而便于与 Web 应用程序和其他网络客户端集成。

MCP 服务器运行器 Quick Start

注意:此项目处于积极开发中 (WIP),API 可能会有变化。

概述

MCP 服务器运行器是一个 WebSocket 服务器实现,用于运行 模型上下文协议 (MCP) 服务器,便于与 Web 应用程序集成。

快速开始

前提条件

  • Rust 1.70+
  • MCP 服务器实现可执行文件

配置方式

1. 使用环境变量

export PROGRAM=npx
export ARGS=-y,@modelcontextprotocol/server-github
export PORT=8080
export GITHUB_PERSONAL_ACCESS_TOKEN=github_pat_***
cargo run

2. 使用配置文件 (推荐)

创建 config.json:

{
  "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
}

运行:

# 作为参数指定
cargo run config.json

# 或使用环境变量
CONFIG_FILE=config.json cargo run

使用 Docker

docker-compose up --build

连接到 WebSocket 服务器

const ws = new WebSocket("ws://localhost:8080");

// 监听消息
ws.onmessage = (event) => {
  console.log('收到消息:', event.data);
};

// 发送消息
ws.send(JSON.stringify({/* MCP 消息 */}));

主要功能

  • WebSocket 服务器实现(单客户端)
  • MCP 服务器进程管理
  • 双向消息传递
  • 跨平台支持(Unix/Windows)

限制

  • 一次只支持一个客户端连接
  • 不支持 WebSocket SSL/TLS(请使用反向代理)
  • 无内置身份验证机制

更多资源