Craft 官方 Cursor 插件 1.0.0:基于 OAuth 的远程 MCP 服务器接入与知识库操作指南
【免费下载链接】pluginsCursor plugin specification and official plugins项目地址: https://gitcode.com/GitHub_Trending/plugins125/plugins
本篇文章以third_party/craft插件的 CHANGELOG.md 为骨架,结合同目录下的 README.md、mcp.json 与仓库级配置说明,系统讲解该插件如何在 Cursor 中通过官方远程 MCP 服务器连接 Craft 空间,实现文档、日常笔记、任务与集合的搜索、创建与更新。读完本文,你将掌握该插件的安装方式、零 API Key 的 OAuth 鉴权流程、单空间作用域模型、多空间接入策略,以及底层mcpServers配置的解析原理。
一、插件定位:Cursor 与 Craft 之间的 MCP 桥梁
Craft(craft.do)是一款面向文档、笔记与知识管理的协作产品。在plugins125/plugins仓库中,third_party/craft是一个由 Cursor 官方维护的第三方集成插件,其核心作用是把 Craft 的能力通过官方托管的远程 Model Context Protocol(MCP)服务器暴露给 Cursor 内的 Agent。
从仓库根目录的 README.md 插件清单可以看到,该插件被归类为 Integrations(集成),市场描述为 “Search, create, and update documents and daily notes.”,对应的 marketplace 注册条目位于 .cursor-plugin/marketplace.json:
{ "name": "craft", "source": "third_party/craft", "description": "Search, create, and update documents and daily notes." }source字段指向third_party/craft,说明插件的全部内容(清单、MCP 配置、文档)都存放在该目录下。按照仓库结构规范,一个完整插件目录应包含mcp.json、README.md、CHANGELOG.md与LICENSE,third_party/craft恰好齐备。
二、版本 1.0.0 首发:CHANGELOG 逐条解读
CHANGELOG 记录了该插件的首个正式版本,共包含三条关键变更,逐条展开如下。
2.1 新增指向 Craft 官方托管服务的craftMCP 服务器
Added the
craftMCP server pointing athttps://mcp.craft.do/my/mcp.
这是插件最核心的配置。所谓“远程 MCP 服务器”,是指 MCP 端点以 HTTP(S) URL 形式托管在云端,而非本地进程。插件通过type: "http"声明这一连接类型。仓库中的实际配置文件 mcp.json 内容如下:
{ "mcpServers": { "craft": { "type": "http", "url": "https://mcp.craft.do/my/mcp" } } }该配置在 Cursor 的插件机制中会被合并进客户端的 MCP 服务器清单,成为 Agent 可调用的一组工具。插件本身不包含任何本地代码,工具的运行时由 Craft 官方托管服务提供。
2.2 鉴权采用 OAuth:无需配置 API Key 或 Client ID
Auth uses OAuth — no API key or client ID to configure.
与仓库内其他需要令牌的集成形成鲜明对比。例如 third_party/github/mcp.json 需要在headers中注入${GITHUB_PERSONAL_ACCESS_TOKEN}才能访问;而 Craft 插件采用标准的 OAuth 授权码流程,插件配置中没有任何密钥字段。用户在 Cursor 弹出授权界面时登录 Craft 并选择要授权的空间,即可完成鉴权。这一设计显著降低了配置门槛,也避免了令牌在配置文件中硬编码的安全风险。
2.3 Logo 采用 Craft 官方标识
Logo: Craft's official mark, from the
craftdocsGitHub organization.
插件的品牌图标取自 Craft 官方组织发布的标识,存放于 third_party/craft/assets/logo.png,用于在 Cursor 插件市场中展示。这在仓库的第三方插件中属于标准做法,同类插件(如third_party/github、third_party/gmail)也各自维护了assets/目录。
三、安装与首次连接:完整操作路径
结合 README.md 的 Install 与 Before you connect 两节,完整的接入流程分为三步。
3.1 前置条件:先在 Craft 应用中创建 MCP 连接
README 特别强调了一个容易被忽略的前提:必须在 Craft 应用侧先建立 MCP 连接,否则端点不会授权。操作位置是 Craft 侧边栏的Connections(连接)区域。只有在 Craft 内存在该连接后,Cursor 侧发起的 OAuth 授权请求才会被接受。这一步是后续一切操作的先决条件,属于典型的“应用侧预授权”设计。
3.2 在 Cursor 中安装插件
两种方式任选其一:
- 打开Cursor Settings → Plugins,搜索Craft,点击Install,随后完成 Craft 的登录授权提示;
- 在聊天窗口直接执行
/add-plugin craft。
安装完成后,Cursor 会为插件建立 MCP 连接,并在授权界面要求用户选择要授予访问权限的 Craft 空间。
3.3 手动配置等价物:mcpServers JSON
如果希望在 Cursor 之外的其他 MCP 客户端中复用该连接,README 提供了与插件内部配置一致的mcpServers片段(即上文 mcp.json 中的内容)。由于鉴权完全依赖 OAuth,该片段无需任何凭据字段即可填入任意支持 HTTP 类型 MCP 的客户端。
四、Agent 能力矩阵:连接后可执行的操作
README 的 “What agents can do” 一节给出了连接建立后 Agent 可用的能力分类,整理如下:
| 分类 | 能力说明 |
|---|---|
| Search(搜索) | 跨文档搜索,支持标签(tag)、日期(date)与正则(regex)过滤条件 |
| Documents(文档) | 文档的创建、读取、更新与删除 |
| Daily notes & tasks(日常笔记与任务) | 操作日常笔记与任务项 |
| Collections(集合) | 管理集合,包括对集合结构(schema)的编辑 |
需要特别说明的是:工具的具体名称与参数模式以 Craft 官方托管运行时为准,插件本身不定义工具清单——这是远程托管型 MCP 的典型特征,服务端随版本演进即可更新工具能力,客户端无需升级插件。README 明确指出 “The hosted runtime is the source of truth for tool names and schemas.”
五、作用域模型与多空间接入策略
这是该插件最值得深入理解的设计细节,README 的 Notes 一节给出了三条明确规则。
5.1 工具调用被限定在授权时选择的空间内
OAuth 授权时选择的 Craft 空间决定了 Agent 所有工具调用的数据边界,即搜索、读写都只作用于该空间,不会跨越空间。
5.2 端点为全局共享 URL,空间隔离发生在授权层
https://mcp.craft.do/my/mcp对所有人都是同一个地址,空间隔离不体现在 URL 中,而是由 OAuth 授权流程中的空间选择决定。这意味着该 URL 无法被用来推测或访问任何特定空间。
5.3 一个连接绑定一个空间:跨空间需多服务器条目
由于一个连接只绑定一个空间,若 Agent 需要操作多个 Craft 空间,就需要在mcpServers中为每个空间增加一条独立的服务器条目(每条仍指向同一 URL,但分别走各自的 OAuth 授权与空间选择流程)。这是实际部署中需要为每个空间重复一次授权操作的原因。
此外 README 还专门提醒:Packagist 上的stimmt/craft-mcp是一个无关的 CraftCMS插件,与本仓库中面向 craft.do 知识库的 Cursor 插件不是同一产品,避免在检索时混淆。
六、仓库层面的配置校验与结构印证
该插件在仓库中的合规性可以通过 scripts/validate-plugins.mjs 的校验逻辑得到印证。脚本会遍历 .cursor-plugin/marketplace.json 中的每个条目,检查:
source指向的插件目录必须存在(对应third_party/craft);- 目录内必须包含
.cursor-plugin/plugin.json清单,且清单字段必须通过 schemas/plugin.schema.json 的 JSON Schema 校验; - marketplace 中的
name必须与 plugin.json 中的name一致。
对于mcpServers字段,plugin.schema.json 允许其值为路径字符串、内联配置对象或二者组成的数组。third_party/craft采用内联对象形式,把 MCP 配置直接写在 mcp.json 中——这是远程 HTTP 类第三方插件的标准组织方式,与third_party/github、third_party/gmail等保持一致。
七、许可与使用边界
插件本身以 MIT 许可发布,见 third_party/craft/LICENSE,与仓库整体许可一致。使用过程中需要留意:
- 鉴权与数据访问完全依赖 Craft 官方托管的 MCP 服务,插件只承担配置与 OAuth 桥接职责;
- 工具能力随官方运行时的演进而变化,文档表格描述的是连接后能力的概要,具体以授权后实际暴露的工具为准;
- 若遇到 Craft 侧的连接问题,应先回到 3.1 节确认 Craft 应用内已创建 MCP 连接,再排查 Cursor 侧的授权状态。
结语
third_party/craft插件 1.0.0 展示了远程托管型 MCP 集成的一种简洁范式:一个 HTTP URL 加一套 OAuth 流程即可让 Cursor Agent 获得完整的文档、笔记、任务与集合操作能力,免去了本地进程管理与密钥配置的负担。其单空间绑定的作用域模型既保证了数据安全边界,也通过“一空间一服务器条目”的方式支持了多空间场景。对希望把 Craft 知识库接入 Cursor 工作流的开发者而言,遵循“先建连接、再装插件、后选空间”的顺序即可顺利上手。
【免费下载链接】pluginsCursor plugin specification and official plugins项目地址: https://gitcode.com/GitHub_Trending/plugins125/plugins
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考