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_docnotefast_get_blocknotefast_get_doc_treenotefast_get_backlinksnotefast_get_entity_notesnotefast_list_docsnotefast_list_tagsnotefast_list_deletednotefast_export_markdownnotefast_get_config
写入notefast_create_docnotefast_create_blocknotefast_update_blocknotefast_delete_docnotefast_restore_blocknotefast_set_doc_tagsnotefast_suggest_title
大文件导入notefast_stage_markdown(分块暂存)+ notefast_create_doc_from_file
分享notefast_share_docnotefast_unshare_docnotefast_get_share
关联notefast_autolink_run(对单个 block 立即执行建链)

大文件导入

长文档不要一次性塞进 notefast_create_doc——正文经过模型转写容易丢失换行。正确姿势是分块暂存

  1. 反复调用 notefast_stage_markdown 追加 Markdown 原文(首块省略 upload_id,后续传入同一 id);
  2. 完成后调用 notefast_create_doc_from_file(upload_id=...),服务端按 Markdown 解析为块树。

典型用法

  • 在 OpenCode 里说「把这篇文章存进我的知识库」→ Agent 调用 notefast_create_doc
  • 「我关于 SQLite WAL 写过什么?」→ notefast_semantic_searchnotefast_chat
  • 「把这两篇笔记关联起来」→ notefast_autolink_run

MCP 与 Web UI 操作的是同一个 SQLite 文件——Agent 写入的内容立刻出现在应用里,反之亦然。