一个与AFFiNE(自托管或云)集成的模型上下文协议(MCP)服务器。它通过标准输入输出(stdio)将AFFiNE工作区和文档暴露给AI助手。
<a href="https://glama.ai/mcp/servers/@DAWNCR0W/affine-mcp-server"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=1421345468,4172598532&fm=3081&app=3081&f=PNG?w=760&h=400" alt="AFFiNE Server MCP 服务器" /> </a>新增于v1.2.2:修复CLI二进制文件以始终通过Node运行(无shell误执行)。默认情况下,启动时对email/password登录不阻塞;设置
AFFINE_LOGIN_AT_START=sync以在启动时阻塞。
# 全局安装(推荐)
npm i -g affine-mcp-server
# 或通过npx临时运行(无需安装)
npx -y -p affine-mcp-server affine-mcp -- --version
该包安装了一个名为affine-mcp的CLI,用于通过stdio运行MCP服务器。
注意:从v1.2.2起,CLI包装器(bin/affine-mcp)确保Node运行ESM入口点,防止shell误解释JS。
通过环境变量进行配置(shell或应用配置)。不再推荐使用.env文件。
AFFINE_BASE_URLAFFINE_API_TOKEN | AFFINE_COOKIE | AFFINE_EMAIL + AFFINE_PASSWORDAFFINE_GRAPHQL_PATH(默认/graphql),AFFINE_WORKSPACE_ID,AFFINE_LOGIN_AT_START(默认async,设置为sync以阻塞)认证优先级:
AFFINE_API_TOKEN → 2) AFFINE_COOKIE → 3) AFFINE_EMAIL + AFFINE_PASSWORD添加到你的Claude Desktop配置中:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.json{
"mcpServers": {
"affine": {
"command": "affine-mcp",
"env": {
"AFFINE_BASE_URL": "https://your-affine-instance.com",
"AFFINE_EMAIL": "you@example.com",
"AFFINE_PASSWORD": "secret!",
"AFFINE_LOGIN_AT_START": "async"
}
}
}
}
提示:
AFFINE_COOKIE或AFFINE_API_TOKEN实现零延迟启动。!(zsh历史扩展),在shell中将其用单引号包裹或使用上述JSON配置。注册MCP服务器到Codex:
全局安装路径(最快)
npm i -g affine-mcp-servercodex mcp add affine --env AFFINE_BASE_URL=https://your-affine-instance.com --env 'AFFINE_EMAIL=you@example.com' --env 'AFFINE_PASSWORD=secret!' --env AFFINE_LOGIN_AT_START=async -- affine-mcp使用npx(无需全局安装)
codex mcp add affine --env AFFINE_BASE_URL=https://your-affine-instance.com --env 'AFFINE_EMAIL=you@example.com' --env 'AFFINE_PASSWORD=secret!' --env AFFINE_LOGIN_AT_START=async -- npx -y -p affine-mcp-server affine-mcp令牌或cookie(无需启动时登录)
codex mcp add affine --env AFFINE_BASE_URL=https://... --env AFFINE_API_TOKEN=... -- affine-mcpcodex mcp add affine --env AFFINE_BASE_URL=https://... --env "AFFINE_COOKIE=affine_session=...; affine_csrf=..." -- affine-mcp注意事项:
affineaffine-mcpAFFINE_BASE_URL + 一种认证方法(AFFINE_API_TOKEN | AFFINE_COOKIE | AFFINE_EMAIL/AFFINE_PASSWORD)list_workspaces – 列出所有工作区get_workspace – 获取工作区详情create_workspace – 创建工作区并带有初始文档update_workspace – 更新工作区设置delete_workspace – 永久删除工作区list_docs – 分页列出文档get_doc – 获取文档元数据search_docs – 关键词搜索文档recent_docs – 列出最近更新的文档publish_doc – 将文档设为公开revoke_doc – 撤销公开访问create_doc – 创建新文档(基于WebSocket)append_paragraph – 追加段落块(基于WebSocket)delete_doc – 删除文档(基于WebSocket)list_comments, create_comment, update_comment, delete_comment, resolve_commentlist_histories, recover_doccurrent_user, sign_in, update_profile, update_settingslist_access_tokens, generate_access_token, revoke_access_tokenlist_notifications, read_notification, read_all_notificationsupload_blob, delete_blob, cleanup_blobsapply_doc_updates – 应用CRDT更新到文档git clone https://github.com/dawncr0w/affine-mcp-server.git
cd affine-mcp-server
npm install
npm run build
# 直接运行
node dist/index.js
# 或作为全局CLI暴露给Codex/Claude而不发布
npm link
# 现在像全局二进制一样使用`affine-mcp`
认证
affine_session,affine_csrf)AFFINE_LOGIN_AT_START=sync。连接
AFFINE_BASE_URL可达/graphql.env文件bin/affine-mcp),防止shell误执行.env文件AFFINE_LOGIN_AT_START环境变量(默认async,设置为sync以在启动时阻塞)create_doc,append_paragraph,delete_doc(现在支持创建/编辑/删除)affine_*和非前缀名称affine-mcp便于npm i -g使用欢迎贡献!
MIT许可证 - 查看LICENSE文件了解详情
对于问题和疑问:
dawncr0w - GitHub