Dynamic MCP 服务器
使用说明内容(Markdown格式)
-
项目简介
- Dynamic MCP 服务器是一个完整的 MCP 服务器实现,支持在运行时动态创建、更新、删除工具(Tools),注册并执行资源(Resources)、定义和渲染 Prompts,并通过多种传输协议与客户端通信,适合为 LLM 客户端提供强大且可扩展的上下文服务。
-
主要功能点
- 运行时工具管理:创建、更新、删除、启用/禁用工具,工具可在无需重启的情况下变更。
- 执行后端与沙箱:支持 Docker 沙箱执行和本地 Node 沙箱两种执行引擎,并自动在可用性间切换(auto 模式)。
- 传输模式:stdio、 Streamable HTTP(HTTP/网络部署)等多传输方式,便于本地开发与远端部署。
- 注册与管理资源与提示:可以注册服务元数据、运行时配置、Prompts 等资源和提示集合。
- 安全与审计:执行限流、并发控制、审计日志以及可选 JWT 认证等安全特性。
- Upstream MCP Attach(实验性):支持将上游 MCP 服务连入本地服务以扩展工具集(企业版)。
- 文件/数据库后端:工具注册表可选择本地文件存储或 PostgreSQL 作为后端。
- 面向开发者的 API:通过 MCP 的服务器端工具接口实现工具的运行、获取与元数据查询等。
-
安装步骤
- 先决条件:Node.js 20 及以上版本(Docker 为可选组件,推荐在生产环境使用 Docker)。
- 安装依赖并运行(stdio 模式,MVP/企业模式均可):
- 使用本地源码直接运行(开发/调试时常用):pnpm install; pnpm run dev
- 快速启动标准输入输出模式(stdio,默认 MVP 配置):npx -y dynamic-mcp --transport stdio --profile mvp
- HTTP 模式运行:
- pnpm run dev:http
- 海量信息与企业模式:
- 按需使用 enterprise 配置运行,结合 JWT、PostgreSQL 后端等进行生产化部署
-
服务器配置(MCP 客户端需要的最小信息) 注:以下配置用于 MCP 客户端在连接 MCP 服务器时的启动参数与可选环境变量设置,用于描述服务器的启动与对接信息。不涉及具体代码实现,只用于配置描述。 { "serverName": "dynamic-mcp", "command": "npx", "args": [ "-y", "dynamic-mcp", "--transport", "stdio", "--profile", "enterprise" ], "env": { "MCP_DYNAMIC_BACKEND": "file", // 动态工具存储后端:file 或 postgres "MCP_DYNAMIC_STORE": "/abs/path/.dynamic-mcp/tools.json", // 本地工具工具注册表的文件路径 "MCP_EXECUTION_ENGINE": "auto" // 执行引擎模式:auto、docker、node } }
-
基本使用方法
- 启动后,MCP 服务器将对外提供工具调用、资源读取、Prompts 渲染等服务。客户端可以通过 MPC 的统一接口进行:
- 列出当前注册的工具
- 调用某个工具并获取结果
- 读取服务元数据、运行时配置等资源
- 获取并渲染 Prompt
- 生产环境建议结合 JWT 验证、PostgreSQL 动态注册表等进行部署,并开启审计日志与健康/就绪探针以确保稳定性。
- 启动后,MCP 服务器将对外提供工具调用、资源读取、Prompts 渲染等服务。客户端可以通过 MPC 的统一接口进行: