Coding Friend Learn MCP Server

  • 项目简介
    • 该仓库实现了一个 MCP 服务器,用于通过 JSON-RPC 与客户端通信,向客户端提供对学习文档的资源管理、工具注册与执行,以及提示/模板相关的功能。服务器通过标准输出/输入(STDIO)传输实现与客户端的交互,便于在 Claude Code 等环境中集成。
  • 主要功能点
    • 资源与文档管理:列出、检索、读取、创建和更新学习文档及分类信息,支持按类别、标签和关键字检索。
    • 工具注册与执行:注册大量与学习文档相关的工具,如列出分类、列出文档、读取文档、创建/更新文档、搜索、获取待复习列表等,LLM 可以调用这些工具执行具体操作。
    • 窗口与提示模板:以文档元数据为基础,支持对文档的摘要、段落、标题等内容的获取,方便在对话中提供上下文信息。
    • 传输与会话:采用 MCP 服务器模式,理论上支持多种传输(此实现使用 STDIO 传输),实现对会话管理和能力声明的支持。
  • 安装步骤
    • 进入子项目目录:cli/lib/learn-mcp
    • 安装依赖并构建:在该目录执行常规的 Node/TS 项目构建流程(如 npm install、npm run build),生成可执行的服务器代码
    • 启动服务器(示例,具体执行命令以打包产物为准):在命令行执行 node dist/index.js <docsDir>,其中 docsDir 是学习文档根目录的路径
    • 运行后,服务器将通过 STDIO 与 MCP 客户端通信;客户端需要知道服务器启动命令及参数
  • 服务器配置(MCP 客户端需要的最小配置信息) 说明:MCP 客户端通过一个 JSON 配置来启动服务器并连接。下面示例描述了服务器的名称、启动命令和参数。请在你的 MCP 客户端中按需替换 docsDir 路径。
    • 服务器名称:coding-friend-learn
    • 启动命令(command):node
    • 启动参数(args):dist/index.js, <学习文档根目录路径>
    • 注释:服务器会读取命令行第二个参数作为学习文档根目录(代码中为 process.argv[2],若提供环境变量则优先使用环境变量 LEARN_DOCS_DIR)。
    • JSON 配置示例(仅供描述,不作为代码块展示): { // serverName: MCP 客户端识别的服务器名称 "serverName": "coding-friend-learn", // command: 用来启动 MCP 服务器的可执行程序 "command": "node", // args: 启动命令的参数,包含打包后的入口文件路径和学习文档目录 "args": ["dist/index.js", "<path/to/docs/learn>"] }
  • 基本使用方法
    • 通过 MCP 客户端调用工具,例如列出类别、检索文档、读取文档、创建/更新文档、获取待复习清单等,服务器将返回对应的 JSON-RPC 响应或错误信息。
    • 集成要点:服务器设计为后端服务,负责会话创建与能力声明,客户端仅需要正确的启动命令和参数即可建立连接并发起 RPC 调用。
    • 运行后可持续扩展:工具注册函数可以随时增加新的文档相关操作,LLM 可以通过调用这些工具实现更丰富的交互能力。

服务器信息