使用说明

项目简介

'mcp-create' 是一个创新的动态 MCP 服务器管理服务。它不仅自身作为一个 MCP 服务器运行,更能够动态地创建、启动和管理其他的 MCP 服务器作为其子进程。这个服务旨在为开发者提供一个灵活的 MCP 生态系统,允许根据需要动态地扩展和管理 MCP 服务器。

主要功能点

  • 动态 MCP 服务器创建与执行: 允许您根据需求动态地生成并运行新的 MCP 服务器实例。
  • 支持 TypeScript: 当前主要支持 TypeScript 编写的 MCP 服务器,未来计划扩展支持 JavaScript 和 Python。
  • 子服务器工具执行: 能够在其管理的子 MCP 服务器上执行各种工具 (Tools),实现功能的动态扩展和组合。
  • 服务器代码更新与重启: 支持动态更新子服务器的代码,并进行安全重启,无需中断主服务。
  • 服务器生命周期管理: 可以删除不再需要的子服务器,有效管理资源,保持系统的整洁和高效。

安装步骤

推荐使用 Docker 方式运行此服务

Docker 安装 (推荐)

  1. 构建 Docker 镜像:
    docker build -t mcp-create .
  2. 运行 Docker 容器:
    docker run -it --rm mcp-create

手动安装 (仅 TypeScript)

  1. 克隆仓库到本地:
    git clone https://github.com/tesla0225/mcp-create.git
    cd mcp-create
  2. 安装依赖:
    npm install
  3. 构建项目:
    npm run build
  4. 启动服务:
    npm start

服务器配置

要将 'mcp-create' 服务器添加到 MCP 客户端(例如 Claude Desktop),您需要在客户端的配置文件中添加如下服务器配置信息。这里以 'claude_desktop_config.json' 为例:

{
  "mcpServers": {
    "mcp-create": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp-create"]
    }
  }
}

配置项说明:

  • 'mcpServers': 定义 MCP 服务器配置的 JSON 对象。
  • 'mcp-create': 您为这个 MCP 服务器连接配置的自定义名称,可以根据您的喜好修改。
  • 'command': 指定用于启动 MCP 服务器的命令。在本例中,由于推荐使用 Docker 运行 'mcp-create',因此这里设置为 'docker',表示使用 Docker 命令来运行。
  • 'args': 一个字符串数组,包含了传递给 'command' 命令的参数。'["run", "-i", "--rm", "mcp-create"]' 是 'docker run' 命令的参数,用于以前台交互模式 ('-i') 运行并立即删除容器 ('--rm'),容器基于名为 'mcp-create' 的 Docker 镜像。

基本使用方法

  1. 连接到 'mcp-create' 服务器: 在 MCP 客户端中配置好服务器信息后,客户端将尝试连接到 'mcp-create' 服务器。
  2. 创建新的 MCP 子服务器: 使用 'create-server-from-template' 工具,指定 'language' 参数('typescript' 或 'python')来创建新的子 MCP 服务器。您可以选择使用默认模板或提供自定义代码。
  3. 执行子服务器的工具: 使用 'execute-tool' 工具,需要提供 'serverId' (子服务器的ID), 'toolName' (要执行的工具名称) 和 'args' (工具的参数) 来调用子服务器上的工具。
  4. 获取子服务器工具列表: 使用 'get-server-tools' 工具,提供 'serverId' 参数,获取指定子服务器上可用的工具列表。
  5. 删除子服务器: 使用 'delete-server' 工具,提供 'serverId' 参数,删除指定的子服务器实例。
  6. 列出所有运行中的子服务器: 使用 'list-servers' 工具,无需参数,即可获取当前 'mcp-create' 服务管理的所有子服务器的 ID 列表。

通过 'mcp-create',您可以动态地管理和扩展您的 MCP 服务能力,为 LLM 应用提供更加灵活和可定制的上下文服务。

信息

分类

开发者工具