study-all MCP 服务端
使用说明(Markdown格式)如下,便于快速上手与理解各功能点。
-
项目简介
- 该仓库实现了一个 MCP 服务器端,按 MCP 协议暴露多种工具(如 context.resolve、config.get、progress、session、review、stats、routine 等)给 LLM 客户端使用,服务器负责会话管理、能力声明以及与客户端的通信。实现内容覆盖从解析学习计划、审阅队列、会话日志、代码与文档元信息到生成 transcripts 等多种学习场景的上下文服务能力。
-
主要功能点
- MCP 服务器核心:基于 MCP 协议实现服务端,支持通过标准化的 JSON-RPC 交互接收请求并返回 envelope 形式的响应。
- 工具注册与执行:统一注册一组工具(如 context.resolve、config.get、progress、session、review、routine、stats 等),客户端可按需调用并获得结构化结果。
- 会话与日志管理:提供会话日志追加、读取、重置、摘要化等能力,支持多种视角的学习记录与进度跟踪。
- 资源与模块分析:提供代码/文档的模块映射、计划解析、元数据解析等能力,帮助LLM进行上下文感知与任务规划。
- 可扩展和多传输支持:设计意图支持多种传输方式(如 stdio、SSE、WebSocket 等),便于与不同类型的 LLM 客户端对接。
-
安装与运行
- 依赖与构建:在 Node.js 环境下,需安装项目依赖并构建 MCP 相关产物(仓库中给出构建与类型校验的指令,需按仓库提供的脚本执行以生成 dist 输出)。
- 启动入口:公共入口为 scripts/start-mcp.sh,通过该脚本启动 MCP 服务器并监听标准输入输出(Stdio)。
- 构建产物要求:运行前需要在 mcp 目录中生成构建输出(dist),确保 mcp/dist/src/index.js 存在。
-
服务器配置与客户端接入
- MCP 客户端配置(示例描述,非代码块): { "serverName": "study-all-mcp", "command": "bash", "args": ["<仓库根目录>/scripts/start-mcp.sh"], "cwd": "<仓库根目录>" }
- 说明
- serverName 与 MCP 服务在服务端的注册名称保持一致,便于客户端识别与注册。
- command/args 指向启动 MCP 服务器的命令与参数,客户端在连接时会使用该信息来启动并与服务器建立通信。
- 以上配置仅作示例,实际需按客户端实现所需的 JSON 配置格式提供,并确保路径正确。
-
基本使用方法
- 准备工作:确保 Node.js 环境就绪、依赖安装完成、并完成 MCP 产物的构建(生成 mcp/dist)。
- 启动服务器:执行仓库提供的启动脚本来启动 MCP 服务器,服务器启动后即可接受客户端请求。
- 客户端调用:通过 MCP 客户端框架向服务器发送 JSON-RPC 请求,调用注册的工具(如 context.resolve、session.getSourcePaths 等),获取 envelope 形式的响应并进行后续处理。
- 常用操作流程:解析上下文 -> 查询计划/模块 -> 读取/写入会话日志 -> 获取仪表板/进度信息 -> 生成 transcripts 等。
-
额外信息
- 代码覆盖范围广,包含多种与学习过程相关的功能模块,适合将 LLM 与本地学习知识库、计划与评估流程整合在一起的应用场景。
- 如需进一步自定义或扩展能力,只需在 server 注册新的 ToolDef,并实现对应的 run 函数即可无缝接入 MCP 框架。