关于 MCP Stateful Example
MCP Stateful Example 是用于探索基于会话的工具调用的精简服务端与客户端项目。它提供测试工具和验证会话持久性的集成测试,适合学习和检查有状态 MCP 行为。
主要功能
- 01精简的有状态 MCP 服务
- 02支持会话的工具调用
- 03`imagine` 和 `isLessThan` 测试工具
- 04验证会话持久性的 Python 集成测试
- 05`/health` 监控端点
适用场景
- 01学习 MCP 会话如何保留状态
- 02测试基于会话的工具调用行为
- 03开发期间检查服务健康状态
MCP 相关
项目实现了带有 `POST /mcp` 端点的 MCP 服务,并包含测试客户端。其工具会保留会话状态,供测试使用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 有状态示例
一个精简且完全符合 MCP 规范的服务端和客户端配置,用于探索和验证基于会话的工具调用工作流,使用 Model Context Protocol(MCP)。
功能
- 玩具级有状态 MCP 服务:实现了一个带会话处理功能的精简 MCP 服务
- 测试工具:包含用于测试会话状态的
imagine和isLessThan工具 - 集成测试:基于 Python 的测试,用于验证服务行为和会话持久性
- 运行状况检查:内置
/health端点,用于监控服务状态
前提条件
- Node.js 18+
- Python 3.8+(用于集成测试)
- npm 或 yarn
入门指南
- 克隆仓库
- 安装 Node.js 依赖项:
npm install - 安装集成测试所需的 Python 依赖项:
pip install -r test/integration/requirements.txt - 在项目根目录中创建
.env.test文件,内容如下:PORT=3088 - 启动开发服务:
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:环境模式(例如,'development'、'production')
许可证
ISC
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。