Svelte 文档 MCP 服务器
本项目是一个 Model Context Protocol (MCP) 服务器,旨在为 LLM 应用提供高效访问 Svelte 官方文档的能力。通过 MCP 协议,该服务器允许 LLM 客户端以标准化的方式获取 Svelte 文档内容,并利用强大的搜索工具来辅助知识检索和应用开发。
主要功能点:
- Svelte 文档资源访问: 以 MCP 资源的形式提供完整 Svelte 官方文档,包括核心库、SvelteKit 框架和 CLI 工具的文档。
- 高级搜索功能: 支持关键词或自然语言查询,可按文档类型(API、教程、示例、错误)和文档包(svelte, kit, cli)进行过滤,并提供上下文感知的结果摘要和层级结构信息。
- 高效缓存: 使用 LibSQL 数据库缓存文档内容,提升访问速度并降低资源消耗。
- 自动更新: 定期检查文档更新,保持内容与官方文档同步。
- 多种文档版本: 提供完整版、精简版和压缩版文档,以适应不同 LLM 的上下文窗口大小限制。
安装步骤:
- 克隆仓库: 在本地克隆 GitHub 仓库:
git clone https://github.com/spences10/mcp-svelte-docs - 进入目录: 导航到项目目录:
cd mcp-svelte-docs - 安装依赖: 使用 pnpm 安装项目依赖:
pnpm install - 构建项目: 构建项目文件:
pnpm build
服务器配置:
要将此 MCP 服务器与 MCP 客户端(如 Cline 或 Claude Desktop)配合使用,您需要在客户端中配置一个新的 MCP 服务器连接。以下是配置示例,您需要将以下 JSON 配置添加到您的 MCP 客户端设置中。
{ "mcpServers": { "svelte-docs": { "command": "npx", "args": ["-y", "mcp-svelte-docs"], "env": { "LIBSQL_URL": "file:local.db" // 可选:LibSQL 数据库 URL,默认为本地文件数据库 file:local.db // "LIBSQL_AUTH_TOKEN": "your-auth-token-if-using-remote-db" // 可选:远程 LibSQL 数据库的身份验证令牌 } } } }
请注意:
- 'command' 字段指定了启动服务器的命令,这里使用 'npx -y mcp-svelte-docs',确保您的环境中已安装 Node.js 和 npm/pnpm。
- 'args' 字段是传递给命令的参数,'-y' 参数用于 'npx' 自动安装 'mcp-svelte-docs' 包(如果尚未安装)。
- 'env' 字段允许您设置环境变量,例如 'LIBSQL_URL' 用于指定 LibSQL 数据库的连接 URL。默认配置使用本地文件数据库 'file:local.db'。如果您需要连接到远程 LibSQL 数据库,请配置 'LIBSQL_URL' 和 'LIBSQL_AUTH_TOKEN'。
基本使用方法:
配置完成后,您的 MCP 客户端将能够连接到 Svelte 文档 MCP 服务器。您可以通过以下方式使用它:
-
访问文档资源: 使用 'svelte-docs://docs/{文档路径}' 格式的 URI 访问文档资源。例如:
- 'svelte-docs://docs/llms.txt':获取标准版 Svelte 文档索引。
- 'svelte-docs://docs/svelte/llms.txt':获取 Svelte 核心库文档。
- 'svelte-docs://docs/kit/llms.txt':获取 SvelteKit 文档。
- 'svelte-docs://docs/cli/llms.txt':获取 Svelte CLI 文档。
- 'svelte-docs://docs/llms-full.txt':获取完整版 Svelte 文档。
- 'svelte-docs://docs/llms-small.txt':获取压缩版 Svelte 文档。
-
使用搜索工具: 调用 'search_docs' 工具进行文档搜索。例如,您可以发送如下 JSON-RPC 请求来搜索关于 "bind:value directive" 的 API 文档:
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "search_docs", "arguments": { "query": "bind:value directive", "doc_type": "api" } }, "id": 1 }
- 获取文档分块: 对于大型文档,可以使用 'get_next_chunk' 工具分块获取内容,参数包括文档 'uri' 和 'chunk_number'。
请参考仓库的 README.md 文件和源代码了解更多详细信息和高级用法。
信息
分类
开发者工具