mcpField
M
MCP Stateful Example

MCP Stateful Example

本地服务
github.com/stevemadere开发工具169 周前更新

关于 MCP Stateful Example

MCP Stateful Example 是用于探索基于会话的工具调用的精简服务端与客户端项目。它提供测试工具和验证会话持久性的集成测试,适合学习和检查有状态 MCP 行为。

主要功能

  1. 01精简的有状态 MCP 服务
  2. 02支持会话的工具调用
  3. 03`imagine` 和 `isLessThan` 测试工具
  4. 04验证会话持久性的 Python 集成测试
  5. 05`/health` 监控端点

适用场景

  1. 01学习 MCP 会话如何保留状态
  2. 02测试基于会话的工具调用行为
  3. 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

入门指南

  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:环境模式(例如,'development'、'production')

许可证

ISC

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。