动态工具管理服务器

一个基于MCP协议的动态工具管理服务器,支持运行时添加工具并通知客户端更新工具列表,适用于测试MCP客户端实现。

  • by scitara-cto
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 scitara-cto/dynamic-tool-mcp-server

使用说明

动态工具MCP服务器

这是一个为测试MCP客户端而设计的基本MCP(模型控制协议)服务器实现。服务器演示了动态工具管理功能,允许在运行时添加工具。

特性

服务器附带了两个内置工具:

  1. Hello工具 (hello)

    • 一个接受名称参数的简单问候工具
    • 返回问候信息
    • 例子: hello("World") 返回“你好,世界!”
  2. 添加工具 (add_tool)

    • 向MCP服务器动态添加新工具
    • 将工具名称和描述作为参数
    • 添加工具后,通知连接的MCP客户端工具列表更改
    • 客户应通过请求更新工具列表来做出回应

动态工具管理

服务器实现了MCP协议的动态工具管理功能。当使用添加新工具时 add_tool 工具:

  1. 该工具已在服务器上注册
  2. 服务器向所有连接的客户端发送有关工具列表更改的通知
  3. 客户应通过请求更新工具列表来做出回应
  4. 新工具立即可用

此功能使此服务器成为测试MCP客户端实现的理想选择,特别是其以下能力:

  • 处理动态工具列表更新
  • 请求并处理更新的工具列表
  • 支持运行时工具注册

入门指南

  1. 安装依赖项:

    npm install
    
  2. 启动服务器:

    npm start
    

服务器将在上运行 http://localhost:4100 默认情况下。

配置

服务器可以通过以下方式配置 .cursor/mcp.json 文件:

{
  "mcpServers": {
    "dynamic-tool": {
      "url": "http://localhost:4100/sse"
    }
  }
}

测试

此服务器对于测试需要处理动态工具管理的MCP客户端实现特别有用。它允许您验证您的客户:

  • 正确处理工具列表更改通知
  • 正确请求和处理更新的工具列表
  • 注册后可以立即使用新添加的工具