MCP 集成
通过 MCP 把知识库的完整能力暴露给 OpenCode 等外部 Agent。
NoteFast 内置 MCP server,与 REST API 同源。任何 MCP 客户端接上后,即可获得与内置界面完全相同的能力——检索、读写、建链、分享、对话。
连接配置
在 OpenCode 的 opencode.json(项目根目录或 ~/.config/opencode/)中加入:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"notefast": {
"type": "remote",
"url": "http://localhost:3140/mcp",
"headers": {
"Authorization": "Bearer nf_your-secret-token"
}
}
}
}
令牌使用设置页生成的可撤销令牌,或环境变量中的 API_TOKEN(读写分离时对应 READ_TOKEN / WRITE_TOKEN)。
工具一览
| 类别 | 工具 |
|---|---|
| 检索 | notefast_search(全文)、notefast_semantic_search(语义)、notefast_search_entities(实体) |
| 对话 | notefast_chat(带引用的 RAG 问答,Agent 循环) |
| 读取 | notefast_get_doc、notefast_get_block、notefast_get_doc_tree、notefast_get_backlinks、notefast_get_entity_notes、notefast_list_docs、notefast_list_tags、notefast_list_deleted、notefast_export_markdown、notefast_get_config |
| 写入 | notefast_create_doc、notefast_create_block、notefast_update_block、notefast_delete_doc、notefast_restore_block、notefast_set_doc_tags、notefast_suggest_title |
| 大文件导入 | notefast_stage_markdown(分块暂存)+ notefast_create_doc_from_file |
| 分享 | notefast_share_doc、notefast_unshare_doc、notefast_get_share |
| 关联 | notefast_autolink_run(对单个 block 立即执行建链) |
大文件导入
长文档不要一次性塞进 notefast_create_doc——正文经过模型转写容易丢失换行。正确姿势是分块暂存:
- 反复调用
notefast_stage_markdown追加 Markdown 原文(首块省略upload_id,后续传入同一 id); - 完成后调用
notefast_create_doc_from_file(upload_id=...),服务端按 Markdown 解析为块树。
典型用法
- 在 OpenCode 里说「把这篇文章存进我的知识库」→ Agent 调用
notefast_create_doc - 「我关于 SQLite WAL 写过什么?」→
notefast_semantic_search或notefast_chat - 「把这两篇笔记关联起来」→
notefast_autolink_run
MCP 与 Web UI 操作的是同一个 SQLite 文件——Agent 写入的内容立刻出现在应用里,反之亦然。