使用说明
四元纸币MCP服务器
一个为以下对象提供MCP服务的插件 思源票据.
🌻 特性
- 大多数工具都支持 排除文档 功能。
- 它包括某些输入参数验证 不是直接的API包装器 四元纸币。
- 安装并启用插件后即可使用 桌面客户端Docker和移动平台 不支持.
✨ 快速开始
- 从市场或1下载。解压缩
package.zip在释放,2。将文件夹移动到workspace/data/plugins/3.并将文件夹重命名为syplugin-anMCPServer; - 启用插件;
- 插件监听端口
16806默认情况下(主机:127.0.0.1),请使用http://127.0.0.1:16806/sse作为服务器访问地址;
⭐ 如果这对你有帮助,请考虑给它一颗星!
🛠 支持的工具(摘要)
有关详细工具、支持的排除文档和其他注意事项,请参阅 支持的工具 部分。
- 文档和块操作:创建、读取、更新和删除;
- 数据库操作:
- 创建数据库,添加/删除/更新数据库行、添加/删除数据库列,检索数据库结构信息;
- 属性操作:创建、读取、更新和删除;
- 抽认卡操作:从Markdown内容创建抽认卡,按块ID创建抽认卡可,按块标识删除抽认卡可;
- 模板操作:检索现有模板,获取原始模板文件内容,预览模板渲染结果,预览Sprig渲染结果,创建或覆盖模板,渲染模板并在文档开头插入,删除现有模板;
- 笔记本操作:列出笔记本、重命名笔记本;
❓ 常见问题
-
Q1:如何在MCP客户端中使用它? 请参阅后续章节。
-
Q2:常见的MCP客户端有哪些?
-
Q3:插件支持身份验证吗?
- v0.2.0及以上版本支持身份验证。在插件设置中设置身份验证令牌后,您必须设置
authorizationMCP客户端中具有值的请求标头Bearer YourToken.
- v0.2.0及以上版本支持身份验证。在插件设置中设置身份验证令牌后,您必须设置
-
Q4:它可以在Docker中使用吗?
-
否。该插件依赖于Node.js环境,不支持在移动设备或Docker中运行。
为了支持在Docker中部署的思源,建议切换到其他MCP项目。列出了一些项目 这里.
或者,您可以修改代码,将此插件与思源前端解耦。
-
-
Q5:如何查看配置的授权码?
- 授权码保存为哈希值。您只能修改它们;您无法查看当前活动的授权码。
-
Q6:连接MCP客户端时,出现错误
Invalid Host: x.x.x.x或者类似的东西。我该怎么修?{ "jsonrpc": "2.0", "error": { "code": -32000, "message": "Invalid Host: x.x.x.x" }, "id": null }- 默认情况下,出于安全原因,该服务仅处理来自的请求
localhost。如果您需要通过特定域访问它或在非本地环境中连接到MCP服务,则必须在中手动声明它 插件设置-允许的主机. - 使用计算机的相应本地网络IP或绑定域名填写此设置。
- 简单地说:您在MCP客户端中输入的任何IP或域名也必须在此处输入。
- 默认情况下,出于安全原因,该服务仅处理来自的请求
-
Q7:我只连接过一次,为什么设置页面显示连接计数大于1?
- 延迟统计:请手动单击刷新状态按钮以获取最新结果。
- 连接泄漏:一些MCP客户端在关闭时不发送标准的断开连接信号,导致旧连接在后台仍被占用。当功能重新启动时,系统会建立一个新的重叠连接。
- 多设备连接:请确认其他软件是否正在访问MCP服务或相关端口。
- 还有问题吗? 请检查插件日志或设置授权码,以防止信息泄露。
-
Q8:什么是“矢量索引客户端插件-查询”工具?
- 此工具通过知识图/矢量搜索直接检索匹配的内容块或回答问题。
- 要使用此工具,您需要下载、启用并正确配置 syplugin向量索引客户端 插件。
- 目前,该插件仅支持lightRAG服务器。
-
Q9:如何更好地利用插件提供的MCP服务?
- 限制不同任务的可用工具。例如,当您不需要操作模板时,禁用与模板相关的工具。
- 该插件提供适用于某些任务类型的Prompts。您需要在MCP客户端中使用这些相关提示;具体操作方法请参考每个客户的文档。
-
Q10:我可以创建基于HTTPS的服务吗?
-
对。你需要放置两个文件,
server-key.pem和server-cert.pem,在目录中Workspace/data/storage/petal/syplugin-anMCPServer,然后重新启动思源笔记。如果MCP服务启动时的通知消息以结束with HTTPS,这意味着它已启用。 -
Q10.1:MCP客户端显示
net::ERR_CERT_AUTHORITY_INVALID- 这是自签名证书所期望的。请参考前一点:a)删除两个证书文件并继续使用HTTP;b)用权威CA颁发的证书替换它们;c)或将自签名证书添加到您的信任列表中(不建议)。
-
Q10.2:MCP客户端显示
net::ERR_EMPTY_RESPONSE- 请检查:如果使用HTTPS,客户端URL必须以开头
https://。否则,请删除这两个证书文件并继续使用HTTP。
- 请检查:如果使用HTTPS,客户端URL必须以开头
-
Q10.3:MCP客户端显示
net::ERR_CERT_COMMON_NAME_INVALID- 生成证书时,确保 CN(通用名称) 字段并添加
subjectAltName(桑) 现场。使用localhost例如:openssl req -x509 -newkey rsa:4096 -sha256 -days 365 -nodes -keyout server-key.pem -out server-cert.pem -subj "/CN=localhost" -addext "subjectAltName=DNS:localhost,IP:127.0.0.1"
- 生成证书时,确保 CN(通用名称) 字段并添加
-
如何在MCP客户端中进行配置?
不同的MCP客户端需要不同的配置方法。请参阅MCP客户文件。
MCP客户端会不断更新,因此此处的配置或使用说明可能不直接适用,仅供参考。
在这里,我们假设:插件的端口为
16806,授权令牌为abcdefg.
修改MCP应用程序的配置,选择 Streamable HTTP 输入、类型和配置端点。
支持流式HTTP的客户端
以下配置使用 樱桃工作室 作为一个例子。不同的MCP客户端可能需要不同的配置格式——请参阅MCP客户端文档。
无授权令牌的插件
- 类型:选择流式HTTP(
streamablehttp); - 网址:
http://127.0.0.1:16806/mcp; - 标题:留空;
带有授权令牌的插件
- 类型:选择流式HTTP(
streamablehttp); - 网址:
http://127.0.0.1:16806/mcp; - 标题:
Authorization=Bearer abcedfg;
仅支持Stdio的客户
如果MCP客户端不支持基于HTTP的通信,只支持stdio,则需要一种转换方法。
在这里,我们使用 node.js + mcp-remote@next.
-
下载Node.js:https://nodejs.org/en/download
-
安装
mcp-remote@next:
npm install -g mcp-remote@next
以下配置使用 5ire 作为一个例子。不同的MCP客户端可能需要不同的配置格式——请参阅MCP客户端文档。
无授权令牌的插件
命令:
npx mcp-remote@next http://127.0.0.1:16806/mcp
带有授权令牌的插件
命令:
npx mcp-remote@next http://127.0.0.1:16806/mcp --header Authorization:${AUTH_HEADER}
环境变量:
姓名: AUTH_HEADER
价值: Bearer abcdefg
🔧 支持的工具
[!警告]
并非所有工具都强制执行严格的排除文档验证。在使用排除文档之前或更新MCP工具之后,请仔细阅读工具支持列表,并考虑禁用一些工具。
| 目标 | R/W | 可进行破坏性/手动审查 |
工具功能 | 排除单据 | 状态/备注 |
|---|---|---|---|---|---|
| 文档和块 | |||||
| 读取 | 使用SQL搜索 | ⚠️ | 只有当结果包含ID并且返回的项目数<300时,才会检查排除的文档 | ||
| 按ID获取文档Markdown | ✅ | — | |||
| 通过ID获取Kramdown块 | ✅ | — | |||
| 列出文档的子文档 | ✅ | — | |||
| 列出子块 | ✅ | — | |||
| 矢量检索客户端插件-查询 | ❌ | 需要下载并正确配置syplugin-vectorIndexClient插件 此工具尚不支持排除的文档 |
|||
| 按ID获取反向链接 | ✅ | — | |||
| 写 | 将内容添加到日记中 | ✅ | — | ||
| 按ID将内容附加到指定文档 | ✅ | 不支持domstring | |||
| 按ID在指定位置创建新文档 | ✅ | 不支持domstring | |||
| 插入子块(前/后) | ✅ | 不支持domstring | |||
| 在指定位置插入块 | ✅ | 不支持domstring | |||
| 是/是 | 更新块 | ✅ | 不支持domstring | ||
| 重命名文档 | ✅ | — | |||
| 是/否 | 移动文档 | ✅ | — | ||
| 是/否 | 移动块 | ✅ | ⚠️ 移动标题需要先折叠,这将导致折叠状态丢失 | ||
| 是/是 | 删除文档 | ✅ | — | ||
| 是/是 | 删除块 | ✅ | — | ||
| 数据库 | 只支持基本的数据库操作,请参阅 参考 | ||||
| 读取 | 获取数据库架构 | ✅ | — | ||
| 获取数据库视图架构 | ✅ | — | |||
| 查询数据库结果 | ✅ | — | |||
| 获取数据库所在的块ID | ✅ | — | |||
| 搜索现有数据库 | ✅ | — | |||
| 写入 | 创建数据库 | ✅ | — | ||
| 添加新的数据库行 | ✅ | — | |||
| 修改数据库行 | ✅ | 不支持汇总、模板和关系列类型 | |||
| 是/是 | 删除数据库行 | ✅ | — | ||
| 添加数据库列 | ✅ | — | |||
| 是/是 | 删除数据库列 | ✅ | — | ||
| 属性 | |||||
| 读取 | 读取属性 | ✅ | — | ||
| 写入 | 修改属性(添加/删除/更新) | ✅ | — | ||
| 闪卡 | |||||
| 写 | 从Markdown内容创建抽认卡 | ✅ | — | ||
| 按块ID创建抽认卡 | ✅ | — | |||
| 是/否 | 按块ID删除抽认卡 | ❌ | — | ||
| 模板 | |||||
| 阅读 | 列出现有模板 | ❌ | — | ||
| 原始模板文件内容 | ❌ | — | |||
| 预览模板渲染结果 | ⚠️ | 只有克拉姆敦被归还;可以通过getBlock绕过检查 | |||
| 预览Sprig渲染结果 | ❌ | 不涉及用户文档 | |||
| 写入 | 创建或覆盖模板 | ❌ | 不涉及用户文档 | ||
| 渲染模板并在文档开头插入 | ⚠️ | 插入固定在文档开头,无法指定 由于功能类似 getBlock 可以在模板中使用,此工具可以绕过检查访问排除的文档 |
|||
| 删除现有模板 | ❌ | — | |||
| 笔记本 | |||||
| 阅读 | 列出笔记本 | ❌ | 不涉及用户文档 | ||
| 写入 | 重命名笔记本 | ✅ | — |
🙏 参考文献与致谢
一些依赖关系列在
package.json.
| 开发人员/项目 | 项目描述 | 引用 |
|---|---|---|
| thuanpham582002/taby mcp服务器 | 在终端软件Tabby中提供MCP服务;MIT许可证 | MCP服务的实现方法 |
| 威尔逊 / 霜冻 | 系统提示CC BY-SA 4.0 | 系统提示等,位于 static/ |
