项目简介
此项目实现了一个基于 Model Context Protocol (MCP) 的服务器,专为大型语言模型(LLMs)设计,使其能够便捷地搜索和访问 AWS Lambda Powertools 的官方文档。它通过提供标准化的接口,将复杂的文档库转化为LLM可理解和交互的上下文信息。
主要功能点
- 文档搜索: 允许LLM使用关键词搜索 AWS Lambda Powertools 在不同编程语言(Python, TypeScript, Java, .NET)及版本的文档内容。
- 页面抓取: 能够根据搜索结果提供的URL,获取特定文档页面的详细内容,并将其转换为Markdown格式供LLM阅读和摘要。
- 多语言支持: 内置支持针对 Python, TypeScript, Java, .NET 四种 Powertools 运行时的文档索引。
- 本地高效搜索: 使用 lunr.js 在服务器端进行本地文档索引搜索,响应快速。
- MCP 标准兼容: 完全遵循 Model Context Protocol (MCP) 规范,可与任何兼容的MCP客户端(如某些LLM桌面应用)无缝集成。
安装步骤
要运行此MCP服务器,您需要 Node.js 环境。
- 安装依赖: 在项目根目录打开终端,运行以下命令安装项目所需的所有依赖项:
pnpm install - 构建项目: 依赖安装完成后,运行以下命令编译项目代码:
这将在 'dist' 目录下生成可执行文件。pnpm build
服务器配置
此服务器通过标准输入/输出 (Stdio) 与MCP客户端通信。您需要将以下配置信息添加到您的MCP客户端的配置中(例如,Claude Desktop 的配置文件 '~/.claude.conf' 或 '~/.config/claude.conf'),以便客户端能够启动并连接到此服务器。
在MCP配置文件的 'mcpServers' 部分,添加一个条目,例如命名为 "powertools":
- 服务器名称 (Key): 为此服务器指定一个在客户端中唯一的名称,例如 'powertools'。
- 命令 (command): 指定用于启动服务器的 shell 命令。对于此项目,推荐使用 'npx' 来直接运行已发布的 npm 包。命令应为 'npx'。
- 参数 (args): 指定传递给命令的参数。对于 'npx' 启动 npm 包,参数通常是 '-y' (自动确认安装) 和包的名称 '@serverless-dna/powertools-mcp'。参数列表应包含 '-y' 和 '@serverless-dna/powertools-mcp'。
配置完成后,MCP客户端在需要时将自动启动此命令,并通过标准输入输出与之通信。
基本使用方法
一旦服务器在MCP客户端中配置并启动,LLM就可以通过调用服务器暴露的工具来与Powertools文档进行交互:
- 调用 'search_docs' 工具: LLM可以调用名为 'search_docs' 的工具来搜索文档。需要提供搜索关键词 ('search') 和目标运行时 ('runtime',例如 'python', 'typescript', 'java', 'dotnet')。可选参数包括特定版本 ('version'),默认为 'latest'。服务器将返回相关的文档页面标题、URL 和摘要片段。
- 调用 'fetch_doc_page' 工具: LLM可以调用名为 'fetch_doc_page' 的工具来获取特定页面的完整内容。需要提供页面的URL ('url')。服务器将返回该页面的Markdown格式内容。通常LLM会在调用 'search_docs' 找到相关页面后,使用返回的URL调用此工具来深入阅读。
LLM会根据用户的指令或其内部逻辑,决定何时调用哪个工具,以及传递什么参数。用户只需在支持MCP的LLM客户端中,通过与LLM自然语言交互,即可利用此服务器获取Powertools文档信息。
信息
分类
开发者工具