MCP服务器管理服务

一个动态创建、运行和管理MCP(Model Context Protocol)服务器的服务,支持TypeScript,可执行工具并管理子服务器。

  • by tesla0225
  • TypeScript
  • 本地部署
  • 98 星标
  • 更新于
在 GitHub 查看 tesla0225/mcp-create

使用说明

MCP创建服务器

一种动态MCP服务器管理服务,可动态创建、运行和管理模型上下文协议(MCP)服务器。此服务本身充当MCP服务器,并作为子进程启动/管理其他MCP服务器,从而实现灵活的MCP生态系统。

主要特点

  • MCP服务器代码的动态创建和执行
  • 仅支持TypeScript(计划在未来版本中支持JavaScript和Python)
  • 在子MCP服务器上执行工具
  • 服务器代码更新和重新启动
  • 删除不必要的服务器

安装

注意:Docker是运行此服务的推荐方式

Docker安装(推荐)

# Build Docker image
docker build -t mcp-create .

# Run Docker container
docker run -it --rm mcp-create

手动安装(仅限TypeScript)

# Clone repository
git clone https://github.com/tesla0225/mcp-create.git
cd mcp-create

# Install dependencies
npm install

# Build
npm run build

# Run
npm start

与Claude Desktop集成

将以下内容添加到您的Claude Desktop配置文件中(claude_desktop_config.json):

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

可用工具

工具名称 描述 输入参数 输出
从模板创建服务器 从模板创建MCP服务器 语言:string {serverId:string,message:string}
执行工具 在服务器上执行工具 serverId:string
工具名称:字符串
args:对象
工具执行结果
获取服务器工具 获取服务器工具列表 serverId:string {工具:工具定义[]}
delete server 删除服务器 服务器ID:string {成功:boolean,消息:string}
列出服务器 获取正在运行的服务器列表 无 {服务器:string[]}

使用示例

创建新服务器

{
  "name": "create-server-from-template",
  "arguments": {
    "language": "typescript"
  }
}

执行工具

{
  "name": "execute-tool",
  "arguments": {
    "serverId": "ba7c9a4f-6ba8-4cad-8ec8-a41a08c19fac",
    "toolName": "echo",
    "args": {
      "message": "Hello, dynamic MCP server!"
    }
  }
}

技术规格

  • Node.js 18或更高版本
  • TypeScript(必填)
  • 依赖关系:
    • @modelcontextprotocol/sdk:MCP客户端/服务器实现
    • child_process(内置Node.js):子进程管理
    • fs/colves(内置Node.js):文件操作
    • uuid:唯一服务器ID生成

安全考虑

  • 代码执行限制: 在服务执行任意代码时考虑沙盒
  • 资源限制: 设置内存、CPU使用率、文件数量等限制。
  • 过程监控: 监控并强制终止僵尸或失控进程
  • 路径验证: 正确验证文件路径以防止目录遍历攻击

许可证

麻省理工学院