多芬观念
此MCP服务器为Claude提供了对Notion工作区的完全读/写访问权限。
- 代币高效 -一个典型的Notion页面是来自API的50-100KB的JSON。该服务器将其压缩为2-5KB的可读文本(减少87-92%),因此Claude可以在不破坏上下文的情况下处理大型工作区。
- 并行读/写 --突变与异步速率限制同时执行。对页面的批量编辑是并行进行的,而不是一次一个块。
- 区块类型覆盖范围广 --16种块类型、内联格式、数据库CRUD、表读/写、列布局和数据库模式管理。尚未普及(同步块和媒体是只读的)。
运作原理
Notion基本上不感觉像是花哨的降价吗?好吧,这就是整个想法。当你通过此服务器阅读Notion页面时,你会得到如下内容:
R4kQ # Potential names for my cat
t9Xm > Serious contenders
pL3n - **Gerald**
vB8s - Very distinguished
J2wE - **Margaret** :red[(vetoed @date:2026-02-14)]
hA3z > Backups
dR5v - **Dr. Philip Hoffmann III**
wU6j # Potential names for my newborn
bT1y - :blue[Mr. Beans] (current frontrunner)
xF4p - Pros: already responds to it
gN9s - Cons: none
kD2r - Mittens
eP5m - *Does this sound too much like a cat?*
gI7N - See @p:R4kQ与降价有很多小区别-- > 是一个开关(可折叠部分), @p:R4kQ 是一个页面提及,以及 跟随Streamlit, :red[...] 是彩色文本,但该格式旨在无需学习任何新内容即可立即阅读。有关涵盖所有块类型、内联格式、变异命令和错误代码的完整规范,请参阅 docs/dnn-spec.md.
与markdown的一大区别是左边的四个字符代码(R4kQ, t9Xm, ...).每一个都是对Notion块的令牌高效引用。MCP服务器在读写过程中管理这些ID,以便编辑针对正确的块。
先决条件
注: 到目前为止只在Ubuntu上测试过。
设置
1.获取Notion API令牌
在以下位置创建内部集成 notion.so/profile/集成它需要 阅读, 更新,以及 插入内容 能力。您将获得一个以开头的令牌 ntn_.
然后共享您想要访问的页面/数据库:在Notion中打开每个顶级页面,转到 ... → 连接,并添加您的集成。子页面继承访问权限。
2.将令牌保存到文件中
mkdir -p ~/.config/dauphin-notion-mcp
echo "ntn_YOUR_TOKEN_HERE" > ~/.config/dauphin-notion-mcp/token3.添加到克劳德代码
将此添加到 ~/.claude/settings.json (或一个项目 .mcp.json):
{
"mcpServers": {
"dauphin-notion-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"--refresh",
"--from",
"git+https://github.com/treuille/dauphin-notion-mcp",
"dauphin-notion-mcp",
"--token-file",
"~/.config/dauphin-notion-mcp/token"
]
}
}
}重新启动克劳德代码。您应该看到五个新工具: notion_read, notion_apply, notion_search, notion_check_auth,以及 notion_get_url.叫克劳德跑 notion_check_auth 以验证连接。
3b。添加到Codex(未经测试)
注: 这些说明尚未经过测试。如果你遇到问题,请 打开一个问题.
将此添加到 ~/.codex/config.toml (或项目范围 .codex/config.toml):
[mcp_servers.dauphin-notion-mcp]
command = "uvx"
args = [
"--refresh",
"--from", "git+https://github.com/treuille/dauphin-notion-mcp",
"dauphin-notion-mcp",
"--token-file", "~/.config/dauphin-notion-mcp/token",
]或者使用CLI:
codex mcp add dauphin-notion-mcp -- uvx --refresh --from git+https://github.com/treuille/dauphin-notion-mcp dauphin-notion-mcp --token-file ~/.config/dauphin-notion-mcp/token尚未支持
- 同步块 --显示为占位符,无法创建
- 图像/视频/文件 --显示为
!image等。;不能
通过API创建
- 块体方程 --只读(内联
:eq[expr]作品)
更新日志
v0.2.0--2026-03-31
- 灵活的更新语法 —
u/e现在接受三种形式:引用(u ID = "text"),未报价(u ID = text),并缩进(u ID内容在下一缩进行)。以前只引用了支持。 - 语法错误提示 --当使用语法错误的已知命令时,错误现在会显示预期的格式和示例,而不是将其报告为未知命令。
- 带空格的代码围栏语言 --代码块现在接受多词语言提示(例如。, ```
`plain text```),此前曾被拒绝。 - 身份验证检查中的服务器版本 —
notion_check_auth现在在其响应中包含服务器版本(来自pyproject.toml),以便于调试。
v0.1.3--2026-03-30
- 写入时删除空字段 -Notion API返回的块数据有时包含
null-有值字段(例如。,icon: null).由于API拒绝显式null,但接受不存在的字段,因此现在在编写之前将对其进行剥离。修复克隆或移动某些块类型时的错误。
v0.1.2--2026-03-29
e块更新的别名 —e ID = "text"现在被接受为的别名u,符合自然的“编辑”意图。help命令 —script="help"返回一个紧凑的命令引用,而不执行任何操作。- 更智能的未知命令错误 --未识别的命令现在与有效命令和常见的自然语言别名进行模糊匹配(例如。,
edit→u,delete→x),有“你是说?”的建议。 - 明确的
!table N到相关的子行 --使用时!table N使用缩进的管道行,这些行现在可以作为显式表块的子级正确附着,而不是被包裹在第二个合成表中。 - 桌子创建护栏 --常见错误警告:
@table(只读格式,不是写命令),!table没有列计数,管道行缺少外部管道。 - 键入创建响应 —
+结果现在包括块类型(例如。,+A1b2(paragraph) +C3d4(to_do)),页脚中有类型摘要。 - 解析错误建议 --错误消息现在包含内联建议文本,因此无需检查结构化错误即可看到修复。
v0.1.-2026-03-14
- 方程式语法 --内联方程现在使用
:eq[expr]指令而不是$expr$美元符号被视为文字,因此$50不再触发方程式解析。 - 稳定的移动ID --移动块会保留其短ID,而不是分配新ID,因此对移动块的引用仍然有效。
+db响应元数据 —+db结果现在包括数据库短ID和属性名称(例如。,+db=7QI8 props: Name, Status, Due).+row响应格式 —+row结果现在以列表形式返回创建的ID,与其他创建命令一致。- ID注册表重新分配 新
reassign()ID注册表上的方法支持将短ID重新指向移动操作内部使用的不同UUID。
v0.1.0--2026-02-20
- 缺少有效载荷诊断 —
+row,urow,以及+db现在,检测缺失或非缩进的有效载荷,并生成带有自动修复建议的可操作错误消息,而不是默默地接受不完整的命令。 - 顺序模式执行 --连续模式操作(
+prop,xprop,uprop)现在,在同一个数据库上,使用与连续移动相同的链接机制,顺序执行以避免竞争条件。 - 扩展工具文档字符串 —
notion.read和notion.apply使用表操作、相对日期过滤器示例、类型化引用和更清晰的参数描述更新文档字符串。
v0.03--2026-02-17
- 数据库创建和管理 —
+db创建具有类型化属性定义的数据库,+prop添加属性,xprop删除属性,以及uprop重命名属性。属性定义使用紧凑Name(type: config)支持选择选项、数字格式、关系目标和对偶关系的语法。 - 全桌支持 --表格不再是不透明的占位符。它们呈现为以管道分隔的行(
| cell | cell |)具有完整的读/写往返。连续的表行会自动分组到表父级中,Markdown分隔符行会自动删除。 - 结构块符号 --列布局和表使用新的
!type N记谱法(!cols 3,!col 1,!table 4)这暴露了它们的结构以供编辑,取代了旧的不透明列渲染。 - 页面定位 —
+page现在接受after=和pos=start控制新页面在其父页面中的显示位置。 - 可变长度代码围栏 --代码块现在支持3个以上的回溯,关闭围栏需要与打开长度相匹配。
- 改进的
!-前缀消歧 --标注、不透明和结构块都以开头!现在,它们以明确的优先级顺序消除了歧义:彩色标注→ 不透明(!type~) → 结构(!type N) → 默认详图索引。 - 自动刷新安装 --推荐
uvx配置现在包括--refresh所以Claude Code总是使用最新版本。
v0.02--2026-02-14
- 更好地搜索和过滤数据库 —
notion_read现在接受filter,sort,以及columns参数。DSL过滤器支持比较运算符(=,!=,~,!~, `,=),一元检查(?空的,!?非空),布尔逻辑(&,|)、括号分组、引用的属性名称和相对日期(-14d).排序需要紧凑的规格,如Due desc, Status asc。Columns选择要返回的属性(Name, Status, Due`).模式感知编译验证属性名并强制类型。 - 并行读取 --每个条目
pages列表现在可以覆盖depth,limit,filter,sort,以及columns独立地,启用在单个调用中混合页面和筛选数据库的批处理读取。 - 更多块类型覆盖 --数据库提及,
link_mention(富URL嵌入),link_preview(集成嵌入),以及template_mention类型现在被呈现,而不是默默地丢弃。注释(粗体、斜体、颜色等)用于提及输出。页面和行图标(表情符号或外部URL)包含在DNN输出中。 - 更好的移动语义 -包含Notion托管文件(图像、视频、PDF)的移动块现在通过file Upload API重新部署文件以获得永久引用。飞行前检查块是否可以移动,对于同步块、表、面包屑和其他不可移植类型返回明确的错误。连续移动到同一父级,使用自动链接按顺序执行,以保持脚本顺序。
m X -> after=Y没有parent=现在返回一个有用的错误,而不是默默地失败。 - 已重命名MCP配置密钥 --推荐的密钥
.mcp.json/settings.json现在是dauphin-notion-mcp(是notion-mcp),以避免与其他Notion MCP服务器发生冲突。
许可证
Apache 2.0
