mcp-reticle

使用说明(Markdown 格式)

  • 项目简介

    • mcp-reticle 是一个围绕 Model Context Protocol(MCP)的后端生态,提供可运行的 MCP 服务器示例(包括模拟服务器、SSE/HTTP/WS 等传输的代理实现,以及日志与上下文分析工具),并与前端界面配合实现对资源、工具、Prompts 的上下文服务与调用能力的调试与观测。
  • 主要功能点

    • MCP 服务器模拟与测试
      • 提供初始化、工具列表、资源列表/读取、Prompts 列表与获取、以及工具调用等典型 MCP 请求的模拟响应,便于测试、验证客户端与代理的行为。
    • 服务器端传输与代理
      • 支持多种传输方式的代理实现:标准输入输出(stdio)、HTTP/SSE、流式 HTTP、WebSocket,便于在不同环境下调试 MCP 流量。
    • 日志与上下文分析
      • 集成了日志记录、Token 计数、会话记录与分析工具,便于对上下文成本和调用成本进行观测和分析。
    • Mock 数据与测试辅助
      • 提供大量的 Mock 数据与脚本,用于快速模拟真实 MCP 场景,帮助前后端开发快速迭代。
  • 安装与运行步骤

    • 运行 MCP 服务器(示例用途的模拟服务器)
      • 使用 Python 运行脚本,启动一个示例 MCP 服务器:
        • python3 scripts/mock-mcp-server.py --name <你的服务器名称> --verbose
      • 脚本会监听标准输入并通过标准输出返回 MCP 响应,适合作为测试用后端。
    • 启动 MCP 服务客户端/代理进行观测
      • 使用仓库中的代理组件(Rust 实现的 stdio/HTTP/WS 等代理)将 MCP 客户端与服务器解耦合,进行流量捕获、日志记录以及上下文分析。
    • 运行示例流量与测试
      • 结合 scripts/mock-mcp-agent.py、scripts/mock-mcp-sse-server.py、脚本和前端 UI,可实现端到端的 MCP 请求-响应序列,及日志/上下文统计的可视化。
  • 服务器配置(MCP 客户端连接 MCP 服务器所需的配置信息)

    • MCP 客户端在连接 MCP 服务器时需要一个配置描述,通常包含服务器名称、启动命令及参数等信息。示例配置(JSON 格式,描述用途,不是代码片段,仅供理解):
      • 服务器名称: filesystem
        • 启动命令: python3
        • 启动参数: ["scripts/mock-mcp-server.py", "--name", "filesystem-server"]
        • 注释: 这是运行一个本地的 MCP 服务器模拟器,用于对接测试客户端与代理的工作流。
      • 服务器名称: http-api
        • 启动命令: reticle
        • 启动参数: ["proxy", "--name", "api", "--upstream", "http://localhost:8080", "--listen", "3001"]
        • 注释: 这是一个将本地 MCP 服务透传给前端观测的 HTTP/SSE 代理,用于调试远程 MCP 服务器。
    • 注意:上述配置仅用于 MCP 客户端在接入阶段构造连接,实际客户端实现会按需读取此类配置并启动对应的 MCP 服务器进程。MCP 客户端不需要包含在此处的实现细节,配置仅用于描述如何启动服务器。
  • 基本使用方法

    • 启动一个本地 MCP 服务器示例(Filesystem)
      • 运行一个模拟 MCP 服务器,该服务器会对 MCP 客户端请求进行初始化并返回具体工具、资源、Prompts 等信息。
    • 启动一个代理/观测层
      • 通过仓库提供的 stdio/HTTP/WS 代理,将客户端请求转发给 MCP 服务器,并在代理端进行日志、令牌统计、和上下文分析。
    • 使用前端可视化
      • 将前端界面与后端代理对接,浏览日志、查看会话、筛选 Prompts/Resources、并查看上下文成本分析。
    • 运行辅助工具
      • 使用 scripts/mock-mcp-agent.py 来产生大量 MCP 请求以测试观测与性能;使用脚本如 scripts/mock-mcp-sse-server.py 进行 SSE 场景的观测。
  • 备注

    • 本仓库包含大量与 MCP 相关的工具集成代码(Rust、Python、Shell 脚本等),以实现“观察、调试、分析 MCP 流量”的完整工作流,而不仅仅是单一的服务器实现。

服务器信息