使用说明

项目简介

Simple MCP Server Manager 是一个用于管理和运行多个基于 Model Context Protocol (MCP) 的服务器的工具。它本身不直接实现 MCP 协议的核心功能,而是作为一个代理和管理器,允许用户配置并运行多个独立的 MCP 服务器,并通过单一的 HTTP 端口对外提供服务。客户端可以通过访问该 Manager 服务器来间接使用其管理的各个 MCP 服务器的功能。

主要功能点

  • MCP 服务器管理: 集中管理多个 MCP 服务器实例,支持通过配置文件灵活增删服务器。
  • HTTP 代理: 将客户端的 HTTP 请求路由到相应的后端 MCP 服务器,提供统一的访问入口。
  • 动态安装: 支持从 npm 或 GitHub 安装 MCP 服务器包,简化部署流程。
  • 环境隔离: 为每个 MCP 服务器实例提供独立的环境配置。
  • 基于 Supergateway: 利用 Supergateway 工具启动和管理基于 stdio 的 MCP 服务器。

安装步骤

  1. 克隆仓库
    git clone https://github.com/UpstreetAI/simple-mcp-server.git
    cd simple-mcp-server
  2. 安装依赖
    pnpm install

服务器配置

MCP 服务器管理器需要一个 JSON 配置文件(例如 'mcp-servers.json')来指定要管理的 MCP 服务器列表及其配置。以下是一个配置示例:

{
  "servers": [
    "github:v-3/discordmcp"
  ],
  "envs": [
    {
      "DISCORD_BOT_TOKEN": "your_discord_bot_token"
    }
  ]
}

配置参数说明:

  • 'servers': 一个字符串数组,用于指定要管理的 MCP 服务器的包名或仓库地址。支持 npm 包名(例如 '"your-mcp-server-package"')或 GitHub 仓库地址(例如 '"github:v-3/discordmcp"')。
  • 'envs': 一个对象数组,用于为每个 MCP 服务器配置环境变量。数组顺序应与 'servers' 数组对应。例如,'envs[0]' 的配置将应用于 'servers[0]' 指定的服务器。

MCP 客户端配置:

对于 MCP 客户端,需要配置连接到 Simple MCP Server Manager 的信息,而不是直接连接到被管理的 MCP 服务器。客户端需要配置 MCP 服务器的启动命令 (command) 及其参数 (args) 以连接到 Simple MCP Server Manager。配置信息示例如下 (JSON 格式):

{
  "serverName": "simple-mcp-server-manager",
  "command": "pnpm",
  "args": ["dev", "./mcp-servers.json"]
  // 如果需要指定端口,可以在运行命令前设置 PORT 环境变量。
  // 例如: export PORT=8080
}

配置参数说明:

  • 'serverName': 为您的服务器配置指定一个名称,可以自定义。
  • 'command': 启动 Simple MCP Server Manager 的命令,这里通常使用 'pnpm'。
  • 'args': 传递给 'pnpm' 命令的参数,包括 'dev' 以及 MCP 服务器配置文件的路径 './mcp-servers.json'。请确保此路径指向您创建的 'mcp-servers.json' 文件。

基本使用方法

  1. 创建 MCP 服务器配置文件: 根据您的需求,创建 'mcp-servers.json' 文件,并在其中配置要管理的 MCP 服务器列表及其环境变量。

  2. 启动 MCP 服务器管理器: 在 Simple MCP Server Manager 项目根目录下,运行以下命令启动服务器管理器。请将 'path/to/your/mcp-servers.json' 替换为您实际的配置文件路径。

    pnpm dev path/to/your/mcp-servers.json

    或者,如果您希望指定端口,可以先设置 'PORT' 环境变量,再运行命令:

    export PORT=8080
    pnpm dev path/to/your/mcp-servers.json

    服务器管理器默认端口为 '3000',您可以通过设置 'PORT' 环境变量来修改端口。

  3. 访问管理的 MCP 服务器: Simple MCP Server Manager 启动后,您可以通过 HTTP 访问其管理的 MCP 服务器。访问 URL 的基本格式为: 'http://localhost:端口/[服务器标识符]/[MCP 接口路径]'。

    • '端口': Simple MCP Server Manager 运行的端口,默认为 '3000' 或您通过 'PORT' 环境变量设置的端口。
    • '服务器标识符': URL 编码后的 MCP 服务器包名或仓库地址。例如,对于 'github:v-3/discordmcp',服务器标识符为 'github%3Av-3%2Fdiscordmcp'。
    • 'MCP 接口路径': 您要访问的 MCP 服务器的具体接口路径,例如 '/resources', '/tools', '/prompts' 等。具体的接口路径请参考您使用的 MCP 服务器的文档。

    例如,要访问 'github:v-3/discordmcp' 服务器的资源接口,您可以使用 URL: 'http://localhost:3000/github%253Av-3%252Fdiscordmcp/resources'。

注意: 您需要查阅被管理的具体 MCP 服务器(例如 'discordmcp')的文档,以了解其提供的具体 MCP 接口和使用方法。Simple MCP Server Manager 仅负责管理和代理请求,不提供具体的 MCP 功能实现。

信息

分类

开发者工具