项目简介
SushiMCP 是一个专为开发者设计的 Model Context Protocol (MCP) 服务器。它旨在通过提供结构化的文档和其他上下文信息,帮助大型语言模型 (LLM) 更好地理解代码库、框架、库或特定领域的知识,从而生成更准确、更相关的代码或回答。
主要功能点
- 托管和提供文档资源: 管理一个可配置的文档源列表,支持通过 HTTP/S URL 或本地文件路径加载文档内容。这些文档源通常包含项目的参考资料、API 文档或其他对 LLM 有用的文本信息。
- 列出可用文档源: 提供一个 MCP 工具,允许连接的 LLM 客户端查询当前服务器配置的所有文档源名称列表。
- 获取特定文档内容: 提供一个 MCP 工具,允许 LLM 客户端通过文档源的名称获取其详细内容,以便模型可以使用这些信息进行推理。
- 域名安全控制: 支持配置允许服务器从中获取远程文档的特定域名列表,增强安全性。
- 灵活配置: 启动服务器时可以通过命令行参数指定要加载的文档源(包括覆盖默认源)和允许的域名。
安装步骤
SushiMCP 是一个 Node.js 应用。你需要先安装 Node.js。然后,可以通过 'npx' 直接运行它,无需全局安装:
(无需单独安装步骤,客户端通过 'npx' 调用即可)
服务器配置(供 MCP 客户端使用)
LLM 客户端需要配置如何启动 SushiMCP 服务器并与其连接。典型的 MCP 客户端配置是一个 JSON 格式的对象,指定服务器的名称、启动命令及参数。对于 SushiMCP,配置大致如下(注意:这不是代码,是给客户端看的信息):
- 服务器名称 (Server Name): 例如 'SushiMCP'
- 启动命令 (Command): 'npx'
- 命令参数 (Args):
- '@chriswhiterocks/sushimcp@latest': 指定要运行的包。
- '--url <名称>:<URL或路径>': 添加一个文档源,可以重复使用此参数添加多个源。'<名称>' 是客户端调用工具时使用的标识符,'<URL或路径>' 是文档的实际位置(HTTP/S URL 或绝对本地文件路径)。
- '--urls "<名称1>:<URL1> <名称2>:<URL2> ..."': 以空格分隔的方式一次性添加多个文档源。
- '--allow-domain <域名>': 允许从指定的域名获取远程文档,可以重复使用此参数。使用 '*' 表示允许所有域名(不推荐)。如果不指定此参数,默认只允许从 '--url' 或 '--urls' 中指定的远程源所在的域名获取。
- '--no-defaults': 可选参数,禁止加载服务器内置的默认文档源。
基本使用方法
一旦配置并启动了 SushiMCP 服务器,连接的 LLM 客户端就可以通过 JSON-RPC 协议调用其提供的工具来获取上下文信息:
- 列出可用源: 客户端调用 'list_llms_txt_sources' 工具,无需参数。服务器返回一个包含所有已配置文档源名称的 JSON 数组,例如 '["hono", "drizzle", "mylocal"]'。
- 获取源内容: 客户端调用 'fetch_llms_txt' 工具,并提供一个 JSON 对象作为输入,例如 '{"url": "drizzle"}'。服务器会查找名为 "drizzle" 的源,验证其 URL 是否在允许的域名列表中(如果是远程源),然后获取文档内容并返回给客户端。
通过这些工具,LLM 可以按需获取特定文档的内容,用于增强其对当前任务上下文的理解。
信息
分类
开发者工具