Skip to main content
Glama
GetNote MCP Server

GetNote MCP Server

by iswalle

getnote-mcp

MCP (Model Context Protocol) server for 得到大脑(Get笔记) Open API.

得到大脑(Get笔记)是一款个人笔记管理工具。通过此 MCP Server,AI 模型可以帮助用户管理笔记。

🔑 获取 API Key:https://www.biji.com/openapi

💡 开通会员:前往得到大脑会员购买页

Installation

需要 Node.js 20 或更高版本。

# 直接运行(推荐,无需克隆)
npx @getnote/mcp

# 或全局安装
npm install -g @getnote/mcp

Related MCP server: Joplin MCP Server

使用场景

  • 用户说「帮我记一下」「保存到笔记」「记录下来」→ save_note

  • 用户说「改一下这个笔记」「更新笔记内容」→ update_note

  • 用户说「查一下我的笔记」「找找之前的笔记」→ list_notes

  • 用户说「搜一下」「找找我哪些笔记提到了 XX」→ recall

  • 用户说「在 XX 知识库搜一下」→ recall_knowledge

  • 用户分享了一个链接,说「保存这个」→ save_note(链接笔记)

  • 用户说「给这个笔记加个标签」→ add_note_tags

  • 用户说「读这条链接笔记原文 / 读取会议转写」→ get_note_original / get_note_transcript

  • 用户说「把笔记放进知识库的某个文件夹」→ list_topic_directories + batch_add_notes_to_topic

  • 用户说「订阅这个抖音博主」→ follow_topic_blogger

Features

Exposes the following tools to AI models:

Tool

Description

list_notes

获取笔记列表(游标分页)

list_reference_resources

按课程名/老师定位有个人笔记的课程容器

get_notes

单次后端批量读取最多20条个人笔记正文,保留预算与逐条状态

get_note

获取笔记详情(支持 image_quality=original 获取原图)

get_note_original

按笔记类型直接读取原文

get_note_transcript

直接读取录音、会议或课堂转写

get_note_attachments

直接列出图片、音频和文件附件

get_note_marks

读取笔记标记

get_note_chapters

读取独立章节时间线

list_sprouts / get_sprout

列出发芽报告 / 读取报告详情

get_knowledge_file_capabilities

查询知识库文件限制

get_knowledge_file_upload_token

获取临时 OSS 上传凭据;可传原 operation_id

get_knowledge_file_upload_operation

查询原文件上传凭据操作,避免重复申请

upload_knowledge_file

提交已上传文件的入库元数据

get_note_timeline

直接读取录音或会议时间线及原文资源

get_note_quick_note

直接读取录音快捷笔记

get_note_todos

读取会议总结中明确待办章节规则解析出的待办;不让模型自由猜测

save_note

新建笔记(纯文本/链接/图片,见下方类型说明)

update_note

更新笔记(标题/内容/标签,仅支持 plain_text 类型)

get_note_task_progress

查询创建笔记任务进度(链接/图片笔记)

delete_note

删除笔记(移入回收站)

add_note_tags

添加笔记标签

delete_note_tag

删除笔记标签

recall

全局语义搜索(在所有笔记中搜索)

recall_knowledge

知识库语义搜索(在指定知识库中搜索)

list_topics

获取知识库列表,默认 DEFAULT,可指定 scope

create_topic

创建知识库

list_topic_notes

获取知识库笔记列表

batch_add_notes_to_topic

批量添加笔记到知识库

remove_note_from_topic

从知识库移除笔记

list_topic_directories

浏览知识库文件夹及资源

create_topic_directory

创建知识库文件夹

update_topic_directory

重命名或移动知识库文件夹

delete_topic_directory

删除空知识库文件夹

get_upload_config

获取图片上传配置

get_upload_token

获取图片上传凭证;可传原 operation_id

get_upload_operation

查询原图片上传凭据操作,避免重复申请

upload_image

完整图片上传(自动获取凭证 + 上传到 OSS)

list_topic_bloggers

获取知识库订阅的博主列表

follow_topic_blogger

订阅抖音博主到知识库

list_topic_blogger_contents

获取博主内容列表(摘要)

get_blogger_content_detail

获取博主内容详情(含原文)

list_topic_lives

获取知识库已完成直播列表

get_live_detail

获取直播详情(含 AI 摘要和原文转写)

get_quota

查询 API 调用配额

share_note

生成笔记分享链接

follow_topic_live

在知识库里订阅得到直播

list_subscribe_topics

获取真实订阅的他人知识库,默认 DEFAULT,可指定 scope

Usage

配置授权

当前本地 MCP 通过 OpenAPI API Key 和 Client ID 鉴权。先在 https://www.biji.com/openapi 创建或选择应用,完成账号授权并生成 API Key,再把两项凭证配置给 MCP 客户端。不要把凭证写进会提交到仓库的配置文件。

Environment variable

# 临时使用
GETNOTE_API_KEY=your_api_key GETNOTE_CLIENT_ID=your_client_id node dist/index.js

# 持久化(添加到 ~/.zshrc 或 ~/.bashrc)
export GETNOTE_API_KEY=gk_live_xxx
export GETNOTE_CLIENT_ID=cli_xxx
# 可选:仅在明确联调测试环境时覆盖
export GETNOTE_API_URL=http://entree.dev.didatrip.com

CLI flag

node dist/index.js --api-key your_api_key --client-id your_client_id

Claude Desktop Configuration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "getnote": {
      "command": "node",
      "args": ["/path/to/getnote-mcp/dist/index.js"],
      "env": {
        "GETNOTE_API_KEY": "your_api_key_here",
        "GETNOTE_CLIENT_ID": "your_client_id_here"
      }
    }
  }
}

Limits

Item

Limit

每日知识库创建上限

每个账号每天最多创建 50 个知识库

重置时间

按 北京时间自然日 00:00 重置

⚠️ 超出限制时,create_topic 接口将返回 429 错误(reason: quota_daily_exceeded)。

Notes on Note Types

save_note supports three note types:

Type

Description

plain_text

纯文本笔记(默认)

link

链接笔记(需传 link_url)

img_text

图片笔记(需传 image_urls,通过上传图片到 OSS 获取)

语音笔记等其他类型只能在 得到大脑(Get笔记) App 或 Web 端创建,MCP 可以读取但无法创建。

录音台与录音卡笔记

使用 list_notes 的 source 定向筛选:AI录音台/墨案MOAN录音台为 vendor_moan,GetSeed录音卡为 getseed。设备全部笔记只限定来源,不额外加 note_type=audio/meeting;录音卡长录音和闪念均包含。明确只要其中一种录音卡模式时,才叠加 recorder_audio 或 recorder_flash_audio。

{"name":"list_notes","arguments":{"source":"vendor_moan","page_size":20}}

昨天/上周的笔记叠加 created_from/created_to(用户时区的RFC3339边界,from包含、to不包含)。翻页保留全部原条件,核对 applied_filters.source 与 notes[].source,按 pagination.next_cursor 继续并去重。has_more=false且无未解决的partial/warnings才表示当前授权范围已遍历;旧total不是设备范围总数。空结果不换来源补数,不能用标签或标题猜设备来源;没有设备约束的普通录音查询不加设备source。

只覆盖已经同步成笔记且有权读取的主笔记,不包括设备未同步或尚未形成笔记的会议记录。设备范围内的正文主题先按来源列候选、按需读正文,不把全局recall的Top-K后过滤称为完整设备搜索。转写用 get_note_transcript,不把AI总结/preview当作转写,也不把转写缺失当作笔记不存在。

查找笔记与书库

  • 书名用 list_topics 的 query,作者用 author,并指定 scope: "BOOKSPACE"。两者同时传入时须同时匹配;订阅书库使用 list_subscribe_topics。

  • 书库定位后用 list_topic_notes 读取笔记。用户要全部笔记时不默认加 note_type: "ref";仅要划线或摘录时再加。

  • 本分支增加 list_reference_resources:source=dedao、resource_type=course,query仅匹配课程名exact/prefix,author精确匹配老师,两者AND且至少一个。由返回course_type+course_id调用 list_notes 的 reference_course_type/reference_course_id;当前66,包含课程直接引用及所属课节。旧reference_resource_id仍是原课节ID,组合按交集;course+topic_id与课程内语义搜索尚未开放。

  • 新请求核对当前接口 capabilities/applied_filters,不把本地安装当作服务已发布,不接受旧服务忽略课程条件的成功结果。课程目录允许空结果页has_more=true,继续真实next_cursor;只有完成当前授权范围的遍历才能说已查全。

  • 列表用于定位;完整内容调用 get_note,引用原文调用 get_note_original。引用笔记的 ref_content 是原文,content 是个人评论。

  • 少量个人笔记可用 get_notes 的ids字符串数组,最多20个去重ID,默认content/ref_content/reference;original显式请求。默认32000/上限64000个Unicode码点及1MiB,成功项完整,deferred_budget整条待读,保留pending_ids/partial,不自动并发20次详情,不开放知识库共享权限。未知未来字段与状态原样保留。

  • recall / recall_knowledge 显式传response_mode=snippet,可选max_snippet_chars=100..1000(默认400),核对search.snippet.v1,保留snippet_source/truncated/content_state;full指完整命中片段,不是全文。旧调用不传新参数保持原正文和top_k语义。

  • 按响应的 pagination.next_page / next_cursor 继续,保持筛选条件;只有遍历完成才能说全部找到。语义搜索 Top-K 不代表全量,搜索为空也不能证明没有相关笔记。

独立报告与知识库文件

  • 标记 get_note_marks、发芽 list_sprouts / get_sprout、章节 get_note_chapters 与录音 get_note_timeline 独立读取。

  • 文件上传前调用 get_knowledge_file_capabilities 获取格式、大小、页数与额度限制。

  • get_knowledge_file_upload_token 获取临时凭据,本机用 CLI 1.6.0+ 的 getnote upload <文件> --token-file <受控文件> --max-size-bytes <能力上限> 直传 OSS,无需 CLI 再登录。

  • upload_knowledge_file 提交文件元数据;用 list_topic_directories 确认同一资源达到 SUCCESS。OSS 上传完成不等于解析完成。凭据不出现在聊天或命令参数中。

图片上传流程

通过 MCP 上传图片创建笔记需要三步:

1. 获取上传凭证

Tool: get_upload_token
Input: { "mime_type": "png" }

返回 OSS 上传凭证:

{
  "accessid": "LTAI5t...",
  "host": "https://ali-bj2-oss-get-notes-prod.oss-accelerate.aliyuncs.com",
  "policy": "eyJleHBpcmF...",
  "signature": "nhyBord...",
  "callback": "eyJjYWxs...",
  "object_key": "get_notes_prod/...",
  "access_url": "https://ali-bj2-oss-get-notes-prod.oss-accelerate.aliyuncs.com/...",
  "oss_content_type": "image/png"
}

2. 上传到 OSS

使用凭证通过 multipart/form-data POST 上传:

curl -X POST "${host}" \
  -F "key=${object_key}" \
  -F "OSSAccessKeyId=${accessid}" \
  -F "policy=${policy}" \
  -F "signature=${signature}" \
  -F "callback=${callback}" \
  -F "Content-Type=${oss_content_type}" \
  -F "file=@/path/to/image.png;type=${oss_content_type}"

3. 创建图片笔记

使用凭证中的 access_url 创建笔记:

Tool: save_note
Input: {
  "title": "图片笔记",
  "note_type": "img_text",
  "image_urls": ["${access_url}"]
}

推荐流程:直接使用 upload_image 工具,它会自动完成步骤 1 和 2 并返回 image_url。image_path 仅接受相对路径;也可以传 image_base64,避免 MCP 读取超出工作目录的本地文件。

API

  • Base URL: https://openapi.biji.com/open/api/v1

  • Auth: Bearer Token (API Key)

Get your API Key and Client ID at 得到大脑(Get笔记)开放平台.

新版契约兼容

  • 所有雪花 ID 优先传十进制字符串。为兼容历史调用,工具仍接受 JavaScript 安全整数;超过 Number.MAX_SAFE_INTEGER 的数字会被拒绝,避免静默精度损失。

  • save_note 支持 topic_id、parent_id、client_request_id。重试同一创建请求时复用同一个 client_request_id。

  • list_topics 和 list_subscribe_topics 默认只返回 DEFAULT;需要书籍、客户档案或团队知识库时,显式传 BOOKSPACE、CUSTOMER 或 TEAMSPACE。订阅列表不包含自己创建的知识库。

  • 知识库支持文件夹浏览和管理;batch_add_notes_to_topic 可传 directory_id,把笔记直接加入目标文件夹。

  • 即使 HTTP 为 200,success:false 仍按失败处理;错误结果保留 code/reason/retryable/field/constraint/expected_type/request_id。

  • 错误保留 supported_values、retry_after_seconds 和完整 rate_limit_detail(包括未来字段),以及 request_id。旧服务器仅对已知只读接口的瞬时 QPS 429 最多额外重试 2 次、累计等待不超过 5 秒。v2 只有明确 dimension=qps、request_execution=not_started、retry_action=retry_same_operation 且 retryable=true 时,才允许重放已知操作;写入复用原请求体、图片 URL 与 client_request_id。配额、服务不可用、已受理或执行状态不确定的请求不自动重试。取消会中止排队、等待与请求,并保留最后 API 建议。

  • 同一 Node 进程内,按规范化 API 地址、授权 Key 和 Client ID 的 SHA256 隔离排队;同一授权身份的调用及其重试串行,其他身份独立。仅从服务器 quota/config/capabilities 策略或 QPS 错误学习节奏,缓存仅作建议,闲置身份 5 分钟后释放;多个进程之间不协调。

  • 图片和文件凭据先协商 runtime。只有服务器同时启用治理、操作恢复并声明 Idempotency-Key 与对应状态接口时,才使用稳定的 operation_id;默认生成一次,也可显式传入 ^[A-Za-z0-9._:-]{1,128}$。旧服务器或关闭能力时保留原流程,不发送幂等头;显式要求恢复会在签发前明确失败。

  • 凭据响应丢失或操作未确认时,只查询原操作,不生成新 Key。可用 get_upload_operation / get_knowledge_file_upload_operation 继续查询;只有原期限内的 issued 状态返回原凭据,过期、未知或未确认会返回原标识、类型、查询建议和 retryable=false。冲突保持冲突,不将不同参数恢复成另一项请求。凭据敏感,不放入聊天或日志。

  • 保存遭遇限流时保留已上传对象和同一笔记 client_request_id,不要重新上传;pending / processing 不等于完成。

  • GETNOTE_API_URL 可传站点根地址、/open 或完整 /open/api/v1;未设置时仍使用生产地址。

🚀 进阶用法:用笔记内链实践柳比歇夫时间日志法

柳比歇夫时间日志法的核心是每天记录自己把时间花在了哪里,事后统计、复盘、改进。

结合 得到大脑(Get笔记)内链,AI 可以帮你自动串联:

每天早上

👤 帮我记一条今日工作日志,内链到「产品设计方案」和「客户反馈」这两条笔记

🤖 已记录「2026-04-24 工作日志」,正文已插入两条内链。

每周复盘

👤 找找我这周的工作日志,整理一下时间分配

🤖 找到 5 条日志,你这周:产品设计 12h、客户沟通 6h、开会 4h……

内链格式:在笔记正文里用 https://biji.com/note/{note_id} 引用其他笔记。示例:

参考上次的讨论:https://biji.com/note/1234567890000000001

告诉 AI 要内链到哪条笔记,AI 会自动获取对应 note_id 插入。


🆕 更新日志

日期

版本

新能力

适合怎么用

2026-11-04

v1.11.0

限流排队与安全原请求重试;原上传操作恢复;兼容旧服务能力接口;图片传输支持取消、超时并禁止重定向重传

并发任务遵守实际账号预算,响应不确定时核对原凭证和对象,不重复签发

2026-10-13

v1.9.1

修复订阅查询中布尔筛选字段被误判为非法响应的问题;明确书名与作者参数

正常查询订阅书库,保留作者等筛选条件的严格校验

2026-10-13

v1.9.0

支持书库身份、引用来源和时间筛选,保留分页及元数据

按来源找到笔记,通过详情读取全文,区分划线原文与评论

2026-09-24

v1.8.0

独立读取标记、发芽、章节时间线;支持知识库文件能力、临时上传凭据与入库

云 MCP 配合本地 CLI 上传文件,无需重复授权

2026-08-13

v1.7.0

1. 支持知识库目录浏览、创建、重命名、移动和删除2. 支持将笔记加入指定目录,以及读取和维护已有团队知识库 TEAMSPACE3. 支持订阅抖音博主、读取博主内容4. 增加录音原文、链接原文、附件、时间线、快捷笔记和会议待办工具5. 统一雪花 ID、结构化错误和异步任务结果

让支持 MCP 的 AI 工具直接整理知识库、归档笔记并读取深层内容;调用失败时保留明确原因和 request_id,便于恢复与排查

2026-04-23

v1.3.1

1. 笔记内链2. 保存分享链接自动变笔记

1. 用内链串联每天的工作日志和项目笔记,实践时间日志法2. 收到别人发来的分享链接直接存入笔记

2026-04-16

v1.3.0

1. 生成笔记分享链接2. 知识库订阅得到直播

1. 把笔记一键分享给朋友2. 在知识库里订阅得到直播课,直播结束后 AI 摘要自动入库

2026-03-23

v1.2.x

获取我订阅的知识库,支持语义搜索

开通了某个知识库,可以直接问 AI:「在我订阅的 XXX 知识库里搜一下时间管理」

2026-03-12

v1.2.0

查看订阅博主内容、直播摘要和转写原文

把别人的知识变成自己可检索的笔记库


License

MIT

Available Tools

49 tools
add_note_tagsC

为指定笔记添加标签。

Inputs: tags (required), note_id (required).

batch_add_notes_to_topicC

批量将笔记添加到知识库(每批最多 20 个)。

Inputs: note_ids (required), topic_id (required), directory_id.

create_topicB

创建新的知识库。⚠️ 限制:每天最多创建 50 个知识库,北京时间自然日 00:00 重置。

Inputs: name (required), cover, description.

create_topic_directoryC

在知识库中创建文件夹。

Inputs: name (required), topic_id (required), parent_id.

delete_noteA

删除笔记(移入回收站)。需要 note.content.trash scope。

Inputs: note_id (required).

delete_note_tagA

删除笔记的指定标签(系统标签不可删除)。

Inputs: tag_id (required), note_id (required).

delete_topic_directoryB

删除空的知识库文件夹。属于破坏性操作,调用前必须取得用户确认。

Inputs: topic_id (required), directory_id (required).

follow_topic_bloggerC

把抖音博主订阅到指定知识库,后续可读取该博主内容。

Inputs: link (required), topic_id (required), platform.

follow_topic_liveA

订阅一个得到 App 直播到知识库。直播结束后经 AI 处理即可通过 list_topic_lives 查看。目前仅支持得到 App 直播链接。需要 topic.live.write scope。

Inputs: link (required), topic_id (required).

get_blogger_content_detailA

获取博主内容详情,包含完整原文(post_media_text)。需要 topic.blogger.read scope。

Inputs: post_id (required), topic_id (required).

get_knowledge_file_capabilitiesA

上传前查询当前配置允许的文件扩展名、MIME、大小、页数和独立日限额;不缓存为固定格式列表。

Inputs: no named parameters.

get_knowledge_file_upload_operationA

仅查询原知识库文件上传凭据操作。保留已上传对象和同一笔记 client_request_id;保存遇限流不要重新上传。凭据敏感,不得放进聊天、日志或命令参数。任务 pending/processing 不等于完成。恢复仅查询原 operation_id,不能自动申请新 key。

Inputs: operation_id (required).

get_knowledge_file_upload_tokenA

保留已上传对象和同一笔记 client_request_id;保存遇限流不要重新上传。凭据敏感,不得放进聊天、日志或命令参数。任务 pending/processing 不等于完成。恢复仅查询原 operation_id,不能自动申请新 key。获取一次 OSS 文件上传临时凭据。通过本地 getnote upload --token-file --max-size-bytes <能力上限> 直接 PUT 到 OSS,无需再次 CLI 登录。凭据通过受控文件或 stdin 传入,不写命令参数或聊天;不要把文件字节传给云 MCP。

Inputs: mime_type (required), operation_id.

get_live_detailA

获取直播详情,包含 AI 摘要(post_summary)和完整原文转写(post_media_text)。需要 topic.live.read scope。

Inputs: live_id (required), topic_id (required).

get_noteA

获取指定笔记的详细内容,包括正文、标签、附件、音频转录、网页链接等。

字段语义说明(AI Agent 重要参考): content 通常是 AI 总结,不一定是原文。不同类型笔记的原文字段如下:

  • 引用笔记(ref):原文 = note.ref_content,note.content 是个人评论

  • 普通文字笔记(plain_text):原文 = note.content

  • 链接/网页笔记(link):原文 = note.web_page.content,AI 总结 = note.content

  • 录音笔记(audio/local_audio):转写原文 = note.audio.original,AI 总结 = note.content

用户要求'读原文'时,先看 note.note_type,再按上述对应关系取字段。

Inputs: id (required), image_quality.

get_note_attachmentsA

直接列出笔记中的图片、音频和文件附件,不需要从完整详情中猜字段。

Inputs: id (required).

get_note_chaptersA

读取总结中的独立章节时间线 chapter_timeline;start_ms 为毫秒,保留 source。与录音 moments 和标记分别读取,不能相互替代。

Inputs: id (required).

get_note_marksA

读取笔记标记(包含文字标记、照片等),与 Timeline 独立,不用时间线替代标记。

Inputs: note_id (required).

get_note_originalA

直接读取笔记原文。引用笔记返回 ref_content,链接笔记返回网页原文,录音笔记返回转写原文,文字笔记返回正文;无原文或不支持的类型会报错。

Inputs: id (required).

get_note_quick_noteA

直接读取录音笔记的快捷笔记;没有快捷笔记时明确返回不可用。

Inputs: id (required).

get_notesA

单次后端批量读取最多20个去重个人笔记ID,保持顺序。默认content/ref_content/reference,original需显式选择;引用原文ref_content,content是评论。默认32000/最多64000Unicode码点及1MiB。逐条保留ok/unavailable/failed/deferred_budget、content_state、pending_ids和partial,成功调用不代表每条读完;整条超预算按需改用旧get_note,不自动并发20次。不批量开放知识库共享权限。需note.batch_detail.v1。

Inputs: ids (required), fields, max_total_chars.

get_note_task_progressA

查询创建笔记任务的处理进度。用于链接笔记(note_type=link)创建后,通过 save_note 返回的 task_id 轮询任务状态,直到 status 变为 success(可获取 note_id)或 failed(可获取 error_msg)。建议每 10~30 秒轮询一次,约 3 分钟内完成。需要 note.content.read scope。

Inputs: task_id (required).

get_note_timelineB

直接读取录音或会议笔记的结构化时间线和原文资源;没有时间线时明确返回不可用。

Inputs: id (required).

get_note_todosA

读取从会议总结中明确的待办章节按规则解析出的条目。返回 source 和 items;空列表表示未识别到明确待办章节,不应让模型自由补写。

Inputs: id (required).

get_note_transcriptA

直接读取录音台、录音卡及录音、会议或课堂笔记的转写原文;设备来源先用list_notes.source定位。没有转写时明确返回不可用,不用AI总结代替。

Inputs: id (required).

get_quotaA

查询当前 API Key 的调用配额,包括 read/write/write_note 三类的日/月剩余次数。

Inputs: no named parameters.

get_sproutB

读取已授权用户发芽报告原文,id 来自 list_sprouts。

Inputs: id (required).

get_upload_configA

获取图片上传配置,包括支持的文件类型、大小限制等。上传图片前先调用此接口了解约束。

Inputs: no named parameters.

get_upload_operationA

仅查询原图片上传凭据操作。保留已上传对象和同一笔记 client_request_id;保存遇限流不要重新上传。凭据敏感,不得放进聊天、日志或命令参数。任务 pending/processing 不等于完成。恢复仅查询原 operation_id,不能自动申请新 key。

Inputs: operation_id (required).

get_upload_tokenB

保留已上传对象和同一笔记 client_request_id;保存遇限流不要重新上传。凭据敏感,不得放进聊天、日志或命令参数。任务 pending/processing 不等于完成。恢复仅查询原 operation_id,不能自动申请新 key。获取 OSS 图片上传凭证。返回 accessid/host/policy/signature 等字段,用于 multipart/form-data POST 上传图片到阿里云 OSS。上传成功后获取 image_id,再用 save_note 创建图片笔记。⚠️ mime_type 必须与实际文件格式一致,否则 OSS 签名失败。

Inputs: count, mime_type, operation_id.

list_notesA

按来源、引用资源或知识库查找笔记。列表只返回定位信息;少量个人笔记正文按需用get_notes,知识库共享笔记保持get_note原权限路径。新查询核对meta.capabilities、applied_filters并按pagination.next_cursor翻页;partial/warnings未解决时末页也不代表来源完整。书库无匹配可按note_type=ref列定位信息,在真实reference中核对书籍作者/书名/book_id;保留时间、平台和知识库范围,平台未知不自加dedao,一次发现最多5页,未遍历完说明未查完。book_info.author与reference.author冲突须分别标注,候选不直接认定作者身份。total_count=null表示未知。

Inputs: page, cursor, source, topic_id, +13 more.

list_reference_resourcesA

按课程名/老师定位有个人笔记的得到课程,不需要知识库。query仅课程名exact/prefix,author精确,二者AND且至少一个;用返回course_type+course_id筛选list_notes。核对reference.resources.v1与applied_filters,空页has_more=true仍沿next_cursor继续。保留每页partial/warnings及候选metadata_state;course_directory_no_lessons表示目录缺课节,末页has_more=false仍不能宣称找全老师的全部课程。total未知,不冒充全站课程列表或课程内语义搜索。

Inputs: source (required), resource_type (required), query, author, +3 more.

list_sproutsB

按月份读取当前用户发芽报告;发芽不是标记数据。

Inputs: month (required), limit, since_id.

list_subscribe_topicsA

获取当前用户真实订阅的他人知识库,不含自己创建的库。默认DEFAULT;书籍显式BOOKSPACE,保留query/author/book_id及分页。自有书库无匹配时可补查这里;仍无匹配且用户未限定只查订阅库时,按list_notes的个人引用来源路线核对候选,保留已知平台/时间,不能把空库当没有笔记。返回topics[]、has_more、total。

Inputs: page, query, scope, author, +2 more.

list_topic_blogger_contentsA

获取知识库中某个博主发布的内容列表(摘要,不含原文)。需要 topic.blogger.read scope。

Inputs: topic_id (required), follow_id (required), page.

list_topic_bloggersA

获取知识库订阅的博主列表。需要 topic.blogger.read scope。

Inputs: topic_id (required), page.

list_topic_directoriesB

浏览知识库文件夹结构及当前目录下的笔记等资源。支持个人、书籍、客户档案和团队知识库。

Inputs: topic_id (required), directory_id.

list_topic_livesA

获取知识库中已完成且 AI 已处理的直播列表。需要 topic.live.read scope。

Inputs: topic_id (required), page.

list_topic_notesA

列出知识库内可访问的笔记,支持来源、引用资源、时间筛选。列表只返回定位信息;需要正文和完整元数据时调用 get_note。按 pagination.next_page 翻页;去重 ID,重复游标/页码、无进展或中途失败不能声称全量完成。

Inputs: topic_id (required), page, source, edited_to, +12 more.

list_topicsA

获取用户创建、拥有或加入的知识库列表,默认DEFAULT;查书名/书籍作者显式scope=BOOKSPACE,query只匹配书名、author匹配书籍作者,二者AND,只有作者线索就只传author。返回topics[]、has_more、total,完整分页并核对book_info。无匹配且用户未限定只查自有时,用list_subscribe_topics保留全部条件补查;仍无匹配再按list_notes的引用来源路线补查,不能把空书库当账号没有划线。用户限定具体知识库时保留原范围;来源作者冲突保留为待核验候选。

Inputs: page, query, scope, author, +2 more.

recallB

全局语义搜索:在所有笔记中进行语义召回。适用场景:「搜一下」「找找我哪些笔记提到了 XX」。返回结果按相关度从高到低排序。需要 note.recall.read scope。

Inputs: query (required), top_k, response_mode, max_snippet_chars.

recall_knowledgeA

知识库语义搜索:在指定知识库范围内进行语义召回。适用场景:「在我的 XX 知识库搜一下 XX」。返回结果按相关度从高到低排序。需要 note.topic.recall.read scope。

Inputs: query (required), topic_id (required), top_k, response_mode, +1 more.

remove_note_from_topicC

将笔记从知识库中移除。

Inputs: note_ids (required), topic_id (required).

save_noteA

新建笔记(⚠️ 仅支持新建,不支持编辑已有笔记)。支持纯文本笔记(plain_text)、链接笔记(link)和图片笔记(img_text)。

🔗 笔记内链:Get笔记正文支持链接到其他笔记,格式为 https://biji.com/note/{note_id}。如需在笔记正文中引用其他笔记,按此格式填写 content 中的链接。若当前笔记后续会被分享出去,则应优先调用 share_note 工具获取被引用笔记的分享链接,并以分享链接替代内链写入正文。

图片笔记流程:先用 upload_image 上传图片获取 image_url,再调用此接口传入 image_urls。

返回值说明:

  • plain_text:同步返回 id、title、created_at、updated_at。

  • link(分享链接:biji.com/note/share_note/* 或 d.biji.com/* 短链):同步返回 id、title、created_at、updated_at,无需轮询。

  • link(普通链接):返回 tasks 数组(每项含 task_id 和 url),需用 get_note_task_progress 轮询进度。

Inputs: tags, title, content, link_url, +5 more.

share_noteA

生成笔记的公开分享链接。幂等接口,多次调用返回同一个 share_url。需要 note.sharing.write scope。

Inputs: note_id (required), share_exclude_audio.

update_noteA

更新已有笔记的标题、内容或标签。⚠️ 仅支持 plain_text 类型笔记,链接笔记、图片笔记等暂不支持更新。至少需要传 title、content、tags 中的一个。tags 是替换操作,会覆盖原有标签。

Inputs: note_id (required), tags, title, content.

update_topic_directoryB

重命名或移动知识库文件夹。未提供的字段保持不变。

Inputs: topic_id (required), directory_id (required), name, parent_id.

upload_imageA

保留已上传对象和同一笔记 client_request_id;保存遇限流不要重新上传。凭据敏感,不得放进聊天、日志或命令参数。任务 pending/processing 不等于完成。恢复仅查询原 operation_id,不能自动申请新 key。上传图片到 OSS。返回 image_url(用于创建图片笔记的 image_urls 参数)。

Inputs: mime_type, image_path, image_base64, operation_id.

upload_knowledge_fileB

保留已上传对象和同一笔记 client_request_id;保存遇限流不要重新上传。凭据敏感,不得放进聊天、日志或命令参数。任务 pending/processing 不等于完成。恢复仅查询原 operation_id,不能自动申请新 key。OSS 直传成功后将原文件加入知识库,只接收元数据,不接收本地路径或 base64。返回处理中的资源不等于入库成功;用 list_topic_directories 查询同一 ID,直到 SUCCESS 或 FAIL。

Inputs: md5 (required), url (required), topic_id (required), file_name (required), +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 49 tools

    Disambiguation3/5

    The set is broadly split into notes, topics, uploads, and content sources, but several tools overlap in practice: list_notes, list_topic_notes, get_notes, recall, and recall_knowledge all find/read notes, and the upload credential/operation tools have parallel image-vs-file variants with intricate boundaries. Descriptions are detailed and often disambiguate, but the sheer number of similar read/search paths leaves real misselection risk.

    Naming Consistency4/5

    Most tools follow a snake_case verb_noun pattern (list_notes, create_topic, delete_topic_directory, follow_topic_blogger), and related tools cluster predictably. Minor deviations exist: save_note instead of create_note, recall without a noun, singular/plural tag inconsistency (add_note_tags vs delete_note_tag), and generic get_upload_operation for the image-specific operation.

    Tool Count2/5

    49 tools is very heavy for a single MCP server, even for a broad note/knowledge-base platform. Many granular facets (attachments, timeline, chapters, quick note, todos, marks, transcripts) and parallel upload flows could be consolidated or grouped, reducing agent selection burden.

    Completeness3/5

    Note operations are fairly complete: create, read, update, delete, tags, sharing, batch reads, semantic search, attachments, transcripts, and topic membership. However, knowledge-base lifecycle coverage is incomplete with no update/delete/fetch-detail topic operations, and blogger/live tools support follow/list/detail but no unfollow, creating notable dead ends in management workflows.

    Maintenance

    ActivityActive
    ResponsivenessUsually handled

    Related MCP Connectors

    Related MCP Servers