LFX Changelog MCP Server
使用说明(Markdown 摘要)
-
项目简介
- 该仓库实现了一个 MCP 服务器端,提供对变更日志、产品、以及搜索等资源的托管与访问能力,並暴露多组可供 LLM 调用的工具(Tools),以便 LLM 能以标准化方式读取、修改和查询后端数据,以及渲染/获取 Prompt 模板等能力。
- MCP 服务器通过 Model Context Protocol SDK 提供的服务端接口,注册资源、工具并通过标准的 JSON-RPC 与客户端通信,默认使用 StdioTransport(标准输入输出)进行传输。
-
主要功能点
- 资源(Ressources):公开/受限的资源(如产品列表、已发布的 changelogs 等)可被 MCP 客户端查询。
- 工具(Tools):包含公开工具和管理员工具,用于列出、创建、更新、发布、删除 changelog;列出产品、搜索 changelogs 等,部分工具需要授权。
- Prompts/模板:通过 MCP 机制支持与 LLM 的对话流程,提供可渲染的上下文与模板能力。
- 安全与权限:对管理员工具进行鉴权控制,确保只有具备相应 API Key/角色的客户端能执行敏感操作。
- 多传输支持:当前实现基于 StdioServerTransport,后续可扩展为 SSE、WebSocket 等传输。
-
安装与运行步骤(简要)
- 安装依赖
- 在仓库根目录安装依赖以确保工作区可以编译运行(如 yarn install)。
- 构建与打包
- 构建 MCP 服务端包,使其具备可执行入口(如 dist/index.js)。
- 启动 MCP 服务端
- 使用 MCP 客户端与之通信前,请确保 MCP 服务端可通过配置的启动命令启动,当前实现提供一个可直接以 Node 运行的入口。
- 连接方式
- 该实现默认通过标准输入输出(stdio)进行传输,MCP 客户端需要相应的配置来建立连接。
- 运行环境
- 该服务端在运行时会通过环境变量 BASE_URL 提供对后端 API 的访问,并通过 SDK 客户端向后端 API 发起请求。
- 安装依赖
-
服务器配置(JSON 配置示例,客户端需提供) 说明:以下配置用于 MCP 客户端描述服务器如何启动与连接。serverName 指定 MCP 服务器的名称,command/args 指定启动该服务器的命令及参数。实际部署中请以你的运行环境和部署脚本为准。
{ "serverName": "lfx-changelog", "description": "MCP 服务器,向 LLM 提供变更日志相关资源、工具与查询能力", "command": "node", "args": ["dist/index.js"], "workingDirectory": "", "env": { "BASE_URL": "http://localhost:4204" } // 注:BASE_URL 会被 MCP 服务器用来访问后端 API,确保后端数据库与 OpenSearch 等依赖在同一环境可用。 }
-
基本使用方法
- 启动阶段:在服务器所在环境执行配置的启动命令,确保 MCP 服务端正常输出启动信息并等待连接。
- 客户端交互:LLM 客户端通过 MCP 协议以 JSON-RPC 的形式调用工具、读取资源、获取 Prompts 等。服务端会校验鉴权信息,返回相应的结果或错误信息。
- 常见操作示例(概念性描述)
- 列出 changelogs(管理员工具需要认证)
- 创建/更新/发布 changelog
- 搜索 changelogs
- 获取产品列表
- 安全性与鉴权:管理员相关工具需提供有效的 API Key/权限,非管理员工具对外暴露的能力有限,错误信息包括身份鉴权和授权相关提示。
-
备注
- MCP 服务端依赖 Model Context Protocol SDK,具体工具/资源注册在服务端代码内,结合后端 API 与数据库实现数据查询/变更逻辑。