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使用率、文件数量等限制。
- 过程监控: 监控并强制终止僵尸或失控进程
- 路径验证: 正确验证文件路径以防止目录遍历攻击
许可证
麻省理工学院
