超越MCP客户端检查器


   
针对MCP(模型上下文协议)客户端的综合测试平台 实施(方案/版本)
概述
MCP服务器客户端检查器提供了一个交互式网页控制台用于测试 并验证MCP客户端实现。同时 MCP 检查器 存在为一种 用于测试服务器的MCP客户端,此项目满足了相反的需求——即一个MCP(管理控制协议/客户端)用于(此处根据上下文,可能指“用于管理或监控服务器”,但原文未明确,因此保持“MCP”以涵盖多种可能性) 用于测试客户端的服务器。
主要特点
- 🔍 看起来像是一个放大镜的符号,常用于表示搜索或查看细节。在中文里,可以简单地翻译为“🔍(放大镜)”或者根据上下文意译为“🔍(查找/查看细节)”。由于这是一个图形符号,直接翻译可能无法完全传达其在特定语境中的含义,因此需要结合具体使用场景来理解。 协议消息检查查看所有MCP JSON-RPC消息
实时
- 🧠 这个表情符号通常被用来表示大脑、思考、智慧或智力。所以,可以翻译为“🧠(表示大脑/思考/智慧)”。不过,在实际应用中,我们往往直接用“🧠”这个符号来传达这些含义,而不需要具体翻译出文字。 抽样测试测试客户端的大型语言模型(LLM)完成功能
- ❓ 诱发测试(或引出测试)测试客户端用户输入请求处理
- 🔔(铃铛或提醒的符号,具体含义根据上下文而定) 通知测试触发并验证列表变更通知
- 🛠️(工具或修理的象征,可具体翻译为“工具”或根据上下文译为“修理工具”等) 检查员工具六个用于测试场景的实用工具
- 📊 表格/数据图表 多客户端支持同时测试多个客户端(HTTP模式)
- 🌐(表示互联网或网络的符号,可翻译为“网络”或“互联网”) Web 控制台用于测试的交互式清新用户界面
安装
快速入门(推荐)
直接从JSR运行 - 无需安装!
deno run -A jsr:@beyondbetter/bb-mcp-client-inspector这将启动两个服务器:
- MCP服务器 on
http://localhost:3000 - 网页用户界面 开启/打开
http://localhost:8000
打开你的浏览器到 http://localhost:8000 访问检查器控制台。
自定义端口
如果默认端口已被使用,请指定自定义端口:
deno run -A jsr:@beyondbetter/bb-mcp-client-inspector --mcp-port 3001 --ui-port 8080可用选项:
- `--mcp-port
` - MCP服务器端口(默认:3000)
- `--ui-port
` - Fresh UI 的端口(默认:8000)
--mcp-host- MCP服务器的主机(默认:localhost)--ui-host- Fresh UI 的主机(默认:localhost)
开发环境设置
对于开发或定制,请从源代码运行:
先决条件:
- Deno 2.5及以上版本 - 安装Deno
- Git - 用于克隆仓库
快速设置:
# Clone and navigate
git clone https://github.com/Beyond-Better/bb-mcp-server-client-inspector.git
cd bb-mcp-server-client-inspector
# Run both servers in development mode
deno task dev这将启动两个服务器并启用热重载。打开 http://localhost:8000 在您的浏览器中。
📖 详细说明: 如需配置选项、故障排除和高级设置,请参阅 INSTALLATION.md 翻译为中文是:“安装指南.md” 或 “安装说明文件.md”
建筑学
双服务器设计
┌─────────────────────────────────────┐
│ MCP Server (Deno) │
│ ├─ STDIO/HTTP transport (MCP) │
│ ├─ WebSocket endpoint (/ws/console)│
│ ├─ Inspector tools │
│ └─ Session management (KV) │
└──────────────┬──────────────────────┘
│ WebSocket
│ (real-time updates)
┌──────────────▼──────────────────────┐
│ Fresh UI Server (Deno Fresh) │
│ ├─ Console UI routes │
│ ├─ WebSocket client │
│ ├─ Hot reload (dev mode) │
│ └─ Static assets │
└─────────────────────────────────────┘技术栈
MCP服务器:
- 运行时:Deno 2.5+
- 框架:bb-mcp-server 库
- MCP SDK:@modelcontextprotocol/sdk 版本 1.18.2
- 存储:Deno KV
- 语言:TypeScript
全新的用户界面:
- 框架:Deno Fresh
- UI: Preact Islands(用户界面:Preact 岛屿模式)
- 样式:Tailwind CSS + DaisyUI
- 语言:TypeScript + JSX
项目结构
bb-mcp-server-client-inspector/
├── docs/ # Comprehensive design documentation
│ ├── 01-PROJECT_OVERVIEW.md # Project summary and goals
│ ├── 02-ARCHITECTURE.md # System architecture
│ ├── 03-MCP_SERVER_DESIGN.md # MCP server specifications
│ ├── 04-FRESH_UI_DESIGN.md # Fresh UI specifications
│ ├── 05-DATA_MODELS.md # Type definitions
│ ├── 06-WEBSOCKET_PROTOCOL.md # Console communication protocol
│ ├── 07-TESTING_STRATEGY.md # Testing approach
│ └── 08-IMPLEMENTATION_PHASES.md # Development roadmap
├── mcp-server/ # MCP Server
│ ├── main.ts
│ ├── src/
│ │ ├── plugins/
│ │ │ └── inspector.plugin/
│ │ ├── console/
│ │ └── dependencyHelper.ts
│ └── tests/
├── fresh-ui/ # Fresh UI Server
│ ├── main.ts
│ ├── routes/
│ ├── islands/
│ ├── components/
│ └── hooks/
└── shared/ # Shared types
└── types/文档
对于实施者(大型语言模型)
按照以下顺序阅读设计文档:
背景和目标
建筑学
实施细节
实施细节
- DATA_MODELS.md(数据模型说明文件) - 类型定义和
接口
通信协议
示例
发展计划
快速入门指南
每份文件内容全面且独立成篇。关于实施:
- 第一阶段专注于MCP_SERVER_DESIGN.md文件和基本基础设施
- 第二阶段参考 WEBSOCKET_PROTOCOL.md 和 FRESH_UI_DESIGN.md
- 第三阶段使用 DATA_MODELS.md 文件来共享类型
- 第四阶段请遵循 TESTING_STRATEGY.md 文件进行测试实现
检查员工具
该服务器包含六个用于测试的实用工具:
- echo(回声) - 回显消息,可选延迟和转换
- 转换日期 - 日期/时区转换和格式化
- 计算 - 基本算术运算
- 延迟响应 - 可配置的延迟(用于超时测试)
- 随机数据 - 生成随机测试数据
- \
trigger_error\翻译成中文是“触发错误” - 故意触发错误(用于错误处理测试)
测试能力
采样
测试客户端的大型语言模型(LLM)补全能力:
- 简单的文本提示
- 模型偏好
- 温度(参数)和最大标记数
- 响应处理
引出(或诱发)
测试客户端用户输入请求:
- 简单的文本输入
- 结构化数据(带有JSON模式)
- 接受/拒绝/取消回复
- 模式验证
通知
触发并验证通知:
notifications/tools/list_changednotifications/resources/list_changednotifications/prompts/list_changed
发展路线图
版本1.0(初始发布)
第一阶段:基础 (第一天)
- ✅ 使用 bb-mcp-server 的 MCP 服务器
- ✅ 基本检查工具
- ✅ 消息存储(Deno KV)
- ✅ 新的用户界面基础
第二阶段:核心功能 (第二天)
- ✅ WebSocket通信
- ✅ 采样请求/响应
- ✅ 引导性请求/响应
- ✅ 通知触发
- ✅ 消息查看器
第三阶段:润色 (第三天)
- ✅ 支持多客户端
- ✅ 用户界面优化
- ✅ 错误处理
- ✅ 性能优化
阶段4:发布 (第四天)
- ✅ 完整的文件记录
- ✅ 用户界面中的消息过滤
- ✅ 全面测试
- ✅ 示例场景
- ✅ 部署准备
路线图(未来版本)
- 🔄 多轮采样对话
- 🔄 完整的MCP功能套件(提示/根资源/资源)
- 🔄 支持流式响应
- 🔄 预配置的测试场景
- 🔄 会话导出/导入
- 🔄 客户指标与分析
- 🔄 WebSocket 认证
设计原则
关注点分离(或职责分离)
- MCP服务器处理MCP协议、工具执行、消息追踪
- 全新的用户界面处理用户界面、可视化、用户交互
- WebSocket服务器与用户界面之间的实时通信桥梁
简约至上
- 版本1.0 特性仅提供基本测试功能
- 路线图项目未来版本的高级功能
- 明确的界限每个组件都有单一职责
生产质量
- 综合测试>80%的代码覆盖率
- 错误处理优雅降级与恢复
- 文档实施所需的完整规格说明
- 类型安全全程严格使用TypeScript
实施指南
对于参与此项目的大型语言模型(LLM)实施者:
先决条件
# Deno 2.5+
deno --version
# bb-mcp-server library
deno info jsr:@beyondbetter/bb-mcp-server开发环境设置
# Clone the repository
git clone https://github.com/Beyond-Better/bb-mcp-server-client-inspector.git
cd bb-mcp-server-client-inspector
# Terminal 1: MCP Server
cd mcp-server
cp .env.example .env
deno task dev
# Terminal 2: Fresh UI
cd fresh-ui
cp .env.example .env
deno task dev测试
# MCP Server tests
cd mcp-server
deno task test
# UI tests
cd fresh-ui
deno task test关键设计决策
1. 分离进程
为什么清晰的职责分离,独立开发,即时热重载 自然运作
考虑的备选方案在MCP服务器中嵌入Fresh应用程序(过于复杂)
2. WebSocket通信
为什么实时更新,低延迟,双向通信
考虑的备选方案HTTP轮询(延迟较高,开销较大)
3. bb-mcp-server 库
为什么经过验证的基础设施、插件系统、内置会话管理
考虑的备选方案原始MCP SDK(更多样板代码,重复造轮子) (基础设施)
4. Deno KV 存储
为什么内置、快速、简单的API,非常适合会话数据
考虑过的备选方案外部数据库(v1.0版本中无需如此复杂)
5. 新鲜群岛
为什么极简JavaScript,快速渲染,易于理解
已考虑的备选方案SPA框架(复杂度更高,包体积更大)
成功指标
功能
- ✅ 成功测试了采样请求和响应
- ✅ 成功测试了触发流程(接受/拒绝/取消)
- ✅ 成功触发并验证通知
- ✅ 清晰显示所有MCP协议消息
- ✅ 支持多个连接的客户端(HTTP模式)
可用性
- ✅ 简单设置(从克隆到运行少于5分钟)
- ✅ 直观的用户界面(学习曲线极小)
- ✅ 清晰的错误信息和反馈
- ✅ 响应式实时更新
质量
- ✅ 全面的测试覆盖率(>80%)
- ✅ 为大型语言模型(LLM)使用提供清晰的文档说明
- ✅ 包含示例测试场景
- ✅ 准生产就绪的错误处理
贡献
这个项目旨在由大型语言模型(LLMs)按照全面的(规划/指南/步骤)来实施 设计文档。在贡献时:
- 先阅读相关的设计文档
- 遵循实施阶段
- 在实现的同时编写测试
- 根据需要更新文档
- 确保全程类型安全
许可证
麻省理工学院许可证(推荐以促进最大范围的采用)
项目状态
当前设计完成 - 准备实施
- ✅ 完整的设计文档
- ✅ 架构确定
- ✅ 已指定类型定义
- ✅ 已确定测试策略
- ✅ 已规划实施阶段
- 🔨 实施状态:尚未开始
下一步行动
对于实施者:
- 请查阅 PROJECT_OVERVIEW.md 以了解背景信息
- 阅读 ARCHITECTURE.md 文件以了解系统架构
- 按照IMPLEMENTATION_PHASES.md开始实施第一阶段
- 根据需要引用特定的设计文件
- 按照 TESTING_STRATEGY.md 编写测试
仓库(或存储库)
GitHub: beyond-better/bb-mcp-server-client-inspector
JSR 包: @beyondbetter/bb-mcp-client-inspector
______________________________________________________________________
项目版本0.1.0(设计阶段) 文档版本1.0 最后 已更新2025年10月22日 状态设计完成 - 准备实施
______________________________________________________________________
_为MCP社区倾心打造_
