汇流adf-mcp

MCP服务器,用于以原生ADF(Atlassian文档格式)读取和写入Confluence页面。
为什么存在
Confluence将页面存储在 ADF(Atlassian文档格式),一种结构化的JSON格式。大多数工具转换为HTML或纯文本,在此过程中会丢失结构、格式和元数据。此MCP服务器直接与ADF配合使用,因此编辑是精确的——查找/替换、表更新和提及交换发生在文档节点级别,而不会损坏周围的内容。
设置
需求
- Python 3.12+
- 具有API访问权限的Confluence Cloud实例
环境变量
export CONFLUENCE_URL="https://your-domain.atlassian.net/wiki"
export CONFLUENCE_USERNAME="you@example.com"
export CONFLUENCE_API_TOKEN="your-api-token"
在生成API令牌https://id.atlassian.com/manage-profile/security/api-tokens.
OAuth 2.0(可选)
您可以使用OAuth 2.0(3LO)代替基本身份验证。设置这三个环境变量:
export CONFLUENCE_OAUTH_CLIENT_ID="your-oauth-client-id"
export CONFLUENCE_OAUTH_CLIENT_SECRET="your-oauth-client-secret"
export CONFLUENCE_OAUTH_REFRESH_TOKEN="your-initial-refresh-token"
如果这三个都设置好了,服务器会自动使用OAuth;否则,它将退回到基本身份验证(CONFLUENCE_USERNAME / CONFLUENCE_API_TOKEN).
旋转刷新令牌将持久化到 .cache/confluence/.oauth_tokens.json 因此服务器可以重新启动而无需重新授权。
看 Atlassian OAuth 2.0(3LO)文档 了解如何创建OAuth应用程序并获取初始刷新令牌。
Claude代码配置
复制 .env.example 到 .env 并填写您的凭据。服务器加载 .env 自动。
添加到 .claude/settings.json:
{
"mcpServers": {
"confluence-adf": {
"command": "uvx",
"args": ["--from", "git+https://github.com/karbassi/confluence-adf-mcp", "confluence-adf-mcp"]
}
}
}
工具
页面
| 工具 | 说明 |
|---|
confluence_get_page | 获取一个页面并在本地缓存 |
confluence_create_page | 使用ADF内容创建新页面 |
confluence_push_page | 将缓存的页面编辑推送到Confluence |
confluence_extract_text | 从页面中提取纯文本 |
confluence_copy_page | 复制页面 |
confluence_archive_page | 存档页面(确认后) |
confluence_move_page | 将页面移动到新的父级(确认) |
confluence_revert_page | 将页面还原到以前的版本 |
编辑
| 工具 | 说明 |
|---|
confluence_edit_page | 查找/替换缓存页面中的文本 |
confluence_find_replace | 取、查找/替换和推入一步 |
confluence_regex_replace | 在页面上查找/替换正则表达式 |
confluence_replace_mention | 在用户之间交换@提及 |
confluence_add_link | 向页面添加超链接 |
表格
| 工具 | 说明 |
|---|
confluence_update_table_cell | 更新单个表单元格 |
confluence_insert_table_row | 在表格中插入一行 |
confluence_delete_table_row | 从表中删除行 |
任务
| 工具 | 说明 |
|---|
confluence_update_task | 切换任务复选框状态(完成/待办) |
发现
| 工具 | 说明 |
|---|
confluence_search_pages | 使用CQL搜索页面 |
confluence_list_pages | 列出空间中的页面 |
confluence_get_child_pages | 获取子页面 |
confluence_get_ancestors | 获取父链 |
confluence_list_spaces | 列出空间 |
confluence_get_contributors | 获取独特的页面贡献者 |
confluence_get_user | 解析帐户ID以显示名称 |
标签
| 工具 | 说明 |
|---|
confluence_get_labels | 在页面上获取标签 |
confluence_add_labels | 向页面添加标签 |
confluence_remove_label | 从页面中删除标签 |
版本
| 工具 | 说明 |
|---|
confluence_list_versions | 列出版本历史记录 |
confluence_compare_versions | 将两个版本作为文本进行区分 |
评论
| 工具 | 说明 |
|---|
confluence_add_comment | 添加页脚注释 |
confluence_list_comments | 列出页脚注释 |
confluence_add_inline_comment | 添加内联注释 |
confluence_list_inline_comments | 列出内联评论 |
附件
| 工具 | 说明 |
|---|
confluence_list_attachments | 在页面上列出附件 |
confluence_upload_attachment | 上传文件作为附件 |
confluence_download_attachment | 下载本地文件的附件 |
confluence_delete_attachment | 删除附件(确认后) |
属性
| 工具 | 说明 |
|---|
confluence_get_page_properties | 获取内容属性 |
confluence_set_page_property | 设置内容属性 |
访问控制
| 工具 | 说明 |
|---|
confluence_set_restrictions | 设置读取/更新限制 |
confluence_watch_page | 查看或取消查看页面 |
缓存
| 工具 | 说明 |
|---|
confluence_list_cache | 列出本地缓存的页面 |
confluence_clear_cache | 清除页面缓存 |
贡献
看 贡献.md.