WarpDrive文档服务

提供WarpDrive和EmberData文档的MCP服务器,支持通过Cursor、Claude Desktop等MCP客户端实时查询文档。

  • by MehulKChaudhari
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 MehulKChaudhari/warp-drive-mcp

使用说明

曲速驱动mcp

MCP服务器,将WarpDrive和EmberData文档作为工具公开。从Cursor、Claude Desktop或任何MCP客户端使用它,这样助手就可以查找真实的文档,而不是猜测。

从以下位置提取文档 canary.warp-drive.io 并缓存30分钟。所有工具都是只读的(没有副作用)。

要求: Node.js 18或更高版本。


安装

将服务器添加到MCP配置中。如果使用,则不进行全局安装 npx.

使用npx(推荐):

{
  "mcpServers": {
    "warp-drive": {
      "command": "npx",
      "args": ["-y", "warp-drive-mcp"]
    }
  }
}

使用本地构建: 使用完整路径 node 并到 dist/index.js 因此客户端可以找到它们(例如,如果您使用Volta/nvm并从Dock启动应用程序):

{
  "mcpServers": {
    "warp-drive": {
      "command": "/path/to/node",
      "args": ["/path/to/warp-drive-mcp/dist/index.js"]
    }
  }
}

配置文件位置:

客户端 配置路径
光标 ~/.cursor/mcp.json (Mac/Linux), %APPDATA%\Cursor\mcp.json (Windows)
克劳德桌面 ~/Library/Application Support/Claude/claude_desktop_config.json (Mac), %APPDATA%\Claude\claude_desktop_config.json (Windows)

更改配置后重新启动客户端。服务器名称旁边的绿点表示它正在运行。

故障排除

  • spawn node ENOENT 或 spawn npx ENOENT --客户找不到 node/npx 在其PATH中(从Dock/Photlight启动应用程序时很常见)。在中使用完整路径 command例如。 /Users/you/.volta/bin/node 或 /Users/you/.volta/bin/npx.快跑 which node 或 which npx 在终端中获取您的路径,然后将其放入配置中。
  • 红点/服务器未启动 --检查客户的MCP或开发人员日志以了解确切的错误。确认配置键为 mcpServers (光标,克劳德桌面)和路径 dist/index.js 使用本地构建时是绝对的。
  • 错误或旧文档 --文档被缓存30分钟。重新启动服务器(或客户端)以强制重新获取。

工具

服务器公开了5个工具。客户(Cursor、Claude等)根据您的问题决定何时给他们打电话。

search_warp_drive_docs

按关键字搜索文档。将其用于API名称、概念或“如何使用X”问题。

参数 类型 默认值 说明
query string -- 要搜索什么(例如。 RequestManager, Store.request, JSONAPICache setup, React hooks)
maxResults number 5 要返回多少个文档节(1-10)

何时使用: 在编写WarpDrive代码之前,或者当用户询问特定的API或概念时。


get_warp_drive_package

获取一个包裹的完整文档内容(例如。 @warp-drive/core, @warp-drive/react).

参数 类型 说明
packageName string 包名称,例如。 @warp-drive/core, @warp-drive/json-api, @ember-data/store

何时使用: 当你需要一个包的全貌,而不仅仅是一个搜索片段时。


get_warp_drive_overview

返回所有WarpDrive包的高级概述(每个包的用途)。

没有参数。

何时使用: “什么是WarpDrive?”,“我应该为X使用哪个包?”,或者在启动新项目时,你不确定包的布局。


get_warp_drive_guide

搜索指南和烹饪书风格的文档(教程、“如何”内容)。

参数 类型 说明
topic string 要查找的主题(例如。 auth handler, request builder, caching, React setup, migration from adapters)

何时使用: “如何设置…”、“如何编写…”或分步/迁移问题。


check_warp_drive_注意事项

检查API或程序包是否已弃用,以及要使用什么。

参数 类型 说明
apiName 字符串 API、包或类名称(例如。 StableRecordIdentifier, @ember-data/request, findAll builder)

何时使用: 用户看到弃用警告,或者您正在接触旧版 @ember-data/* 代码,并希望现代的替代品。


光标:提示助手使用工具

在使用WarpDrive的项目中,您可以添加一个游标规则,以便助手在相关时调用这些工具。创建 .cursor/rules (或使用现有的规则文件)并添加以下内容:

When working with WarpDrive (@warp-drive/* or @ember-data/*):
- Call search_warp_drive_docs before writing WarpDrive code.
- Use get_warp_drive_guide for “how to” and setup questions.
- Use check_warp_drive_deprecations for legacy @ember-data/* APIs.
- Don’t guess APIs; look them up first.

发展

git clone https://github.com/MehulKChaudhari/warp-drive-mcp
cd warp-drive-mcp
npm install   # or pnpm install
npm run build # if you used pnpm: pnpm run build
  • 运行内置服务器: node dist/index.js 或 pnpm start
  • 开发模式(观看): npm run dev 或 pnpm dev

要将MCP配置指向此存储库,请设置 command 到你的 node 二进制和 args 走向绝对的道路 warp-drive-mcp/dist/index.js.


运作原理

服务器是一个stdio MCP进程。客户端启动它,并使用JSON-RPC通过stdin/stdout进行对话。当助手需要文档时,它会调用其中一个工具;服务器获取 https://canary.warp-drive.io/llms-full.txt (或者如果仍然新鲜,则使用内存中的缓存),然后搜索或过滤该内容并返回相关位。所有这些都生活在 src/index.ts.


链接


贡献

欢迎提交Bug报告和PR。项目存储库中的未解决问题和PR(请参见 package.json 对于URL)。


许可证

麻省理工学院