MCP会话工具验证系统

一个符合MCP协议的最小化服务器和客户端设置,用于探索和验证基于会话的工具调用工作流程。

  • by stevemadere
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 stevemadere/mcp-stateful-example

使用说明

MCP状态示例

一个最小的、完全符合MCP的服务器和客户端设置,用于使用 模型上下文协议(MCP).

特性

  • 玩具状态MCP服务器:实现具有会话处理功能的最小MCP服务器
  • 测试工具:包括 imagine 和 isLessThan 用于测试会话状态的工具
  • 集成测试:基于Python的测试,用于验证服务器行为和会话持久性
  • 健康检查:内置 /health 用于监视服务器状态的端点

先决条件

  • Node.js 18+
  • Python 3.8+(用于集成测试)
  • npm或纱线

入门指南

  1. 克隆存储库
  2. 安装Node.js依赖项:
    npm install
    
  3. 安装Python依赖项以进行集成测试:
    pip install -r test/integration/requirements.txt
    
  4. 创建一个 .env.test 项目根目录中的文件,内容如下:
    PORT=3088
    
  5. 启动开发服务器:
    npm run dev
    

运行测试

单元测试

npm test

集成测试

# Run all integration tests
npm run itest

# Or run a specific test
cd test/integration
python test_initialize.py

项目结构

  • src/ -源代码
    • server/ -MCP服务器实现
      • tools/ -工具定义
    • client/ -测试客户端实现
  • test/ -测试文件
    • integration/ -基于Python的集成测试
  • scripts/ -构建和实用程序脚本

可用工具

imagine

在指定的下限和上限之间选择一个随机数,并将其存储在会话中。

参数:

  • lower:下限(含)
  • upper:上限(含)

isLessThan

检查当前会话中的数字是否小于之前想象的数字。

参数:

  • number:要与想象中的数字进行比较的数字

API终点

GET /health

返回服务器状态的健康检查终结点。

POST /mcp

用于处理MCP兼容请求的主MCP协议端点。

环境变量

  • PORT:服务器将侦听的端口号(默认值:3000)
  • NODE_ENV:环境模式(例如“开发”、“生产”)

许可证

国际协调委员会