llm-energy MCP 服务器
使用说明(Markdown):
- 项目简介
- 这是一个以 MCP(Model Context Protocol)为基础的服务器端实现,核心职责是通过标准化的 JSON-RPC 接口向 LLM 客户端提供资源访问、工具调用和提示模板渲染等上下文服务。服务器按照 MCP 规定处理请求、返回 JSON-RPC 响应,并通过内存缓存管理提取的文档数据。
- 主要功能点
- 提取并管理文档资源:从网站获取 llms-full.txt/llms.txt,解析为分章节的文档集合,并生成 llms-full.md 与 AGENT-GUIDE.md 等文件。
- 注册与执行 Tools:实现 extract_documentation、fetch_llms_txt、get_document_section、list_extracted_documents、get_full_documentation、get_agent_guide、verify_llms_txt、discover_documentation_urls 等工具,支持参数校验和错误码返回。
- 资源管理与读取:对已提取的文档在内存中注册资源,支持读取 llms-full.md、AGENT-GUIDE.md,以及逐文档读取各分节内容。
- Prompts 与交互:提供 prompts 相关的描述、输入参数以及获取全量文档的指令引导,方便 LLM 进行上下文对话与操作。
- MCP 协议实现与传输:通过 MCP Server API 暴露能力Decl、工具、资源、Prompts 等,支持 Stdio 传输(当前示例服务器默认通过 Stdio 进行启动交互),并可扩展为 SSE/WebSocket 等传输。
- 会话与缓存:将提取出的 ExtractionResult 缓存在内存中,便于后续通过特定 URL 获取文档片段、全文,以及 agent guide。
- 安装与运行步骤
- 环境准备
- 安装 Node.js(推荐使用 Node.js 16 及以上版本)。
- 获取代码与安装依赖
- 克隆仓库后,在项目根目录执行安装依赖(如 npm install 或 yarn install)。
- 编译与启动服务器
- 该服务器源使用 TypeScript,需要将源码编译成可执行的 JavaScript 后再运行。
- 常见流程:安装依赖 -> 编译 -> 运行 dist/index.js 入口。
- 运行方式
- 通过命令行将 MCP 服务以标准输入输出传输形式启动,示例入口通常为 dist/index.js 或相应打包产物。
- 启动后,服务器会监听并响应来自 MCP 客户端的 JSON-RPC 请求。
- 环境准备
- 服务器配置(MCP 客户端需要) 说明:下面给出 MCP 客户端连接该服务器时应使用的配置示例。服务器名称、启动命令与参数请按实际部署路径填写。该配置用于 MCP 客户端启动并连接服务器,以实现工具调用、资源读取等能力。 json 配置示例(请按实际部署路径替换 dist/index.js 的路径): { "serverName": "llm-energy-mcp", "command": "node", "args": ["./mcp-server/dist/index.js"] } 注释:serverName 与服务器中的名称保持一致(代码中为 llm-energy-mcp,版本为 1.0.0),command 为启动命令,args 为入口文件路径(需将 TypeScript 源编译为可执行 JS 后再填入实际路径)。
- 基本使用方法
- 启动后,MCP 客户端通过 MCP 的 JSON-RPC 调用协议向服务器请求工具、资源与提示内容。
- 常见用法包括:调用 extract_documentation(传入 URL)以提取并缓存对应站点的 llms 文档、随后使用 get_full_documentation、get_document_section、get_agent_guide 等工具获取内容、以及 verify_llms_txt、discover_documentation_urls 做站点可用性与发现性检查。
- 在 LLM 端进行对话时,客户端可通过调用工具获得结构化文档和摘要,以作为上下文提供给模型进行推理和回答。