Skip to main content
Glama

confluence-mcp

面向 Atlassian Confluence Server 6.x 的 MCP,把某个页面层级下的文档树拉出来,供 Cursor / Codex 等 AI IDE 分析。

支持两种运行方式:

模式

适用场景

stdio(默认)

本机 Cursor 直接拉起进程

HTTP / Streamable HTTP

部署到局域网机器,多台 IDE 共用

工具

Tool

作用

find_page

按标题查找页面(可带 spaceKey)

list_subtree

递归列出某页下的子树(id / 路径 / depth)

get_page

取单页正文(纯文本,可选 HTML)

get_subtree_docs

一次拉取整棵子树正文,供 AI 分析

示例:以某项目的需求文档根页面为例,pageId=<pageId>,空间 <space-key>

Related MCP server: Confluence MCP Server

配置

复制 .env.example,用环境变量注入(不要把密码写进仓库):

CONFLUENCE_BASE_URL=http://<confluence-host>:<port>
CONFLUENCE_USERNAME=<your-username>
CONFLUENCE_PASSWORD=********
CONFLUENCE_SPACE_KEY=<space-key>

HTTP mode (LAN / K8s) — server only needs base URL; users send Basic auth

MCP_TRANSPORT=http MCP_HOST=0.0.0.0 MCP_PORT=3100


## 本机运行(stdio)

```bash
cd confluence-mcp
npm install
npm run build

# Windows PowerShell 示例
$env:CONFLUENCE_BASE_URL="http://<confluence-host>:<port>"
$env:CONFLUENCE_USERNAME="<your-username>"
$env:CONFLUENCE_PASSWORD="********"
$env:CONFLUENCE_SPACE_KEY="<space-key>"
node dist/index.js

Cursor mcp.json

{
  "mcpServers": {
    "confluence": {
      "command": "node",
      "args": ["D:/vscode/mcps/confluence-mcp/dist/index.js"],
      "env": {
        "CONFLUENCE_BASE_URL": "http://<confluence-host>:<port>",
        "CONFLUENCE_USERNAME": "<your-username>",
        "CONFLUENCE_PASSWORD": "********",
        "CONFLUENCE_SPACE_KEY": "<space-key>"
      }
    }
  }
}

部署到局域网(推荐)

可以。 把 MCP 跑在能访问 Confluence 的内网机器上(跳板机 / 同网段服务器),Cursor 通过 HTTP 连过去。

1. 在局域网机器上启动

cd confluence-mcp
npm install && npm run build

export CONFLUENCE_BASE_URL=http://<confluence-host>:<port>
export CONFLUENCE_SPACE_KEY=<space-key>
export MCP_TRANSPORT=http
export MCP_HOST=0.0.0.0
export MCP_PORT=3100

node dist/index.js --http
# → listening; clients must send Authorization: Basic ...

健康检查:GET http://<lan-ip>:3100/health

也可用 systemd / nssm / Docker / K8s 常驻。防火墙放行 3100

2. Cursor 连远端

每位同事在自己的 mcp.json 里填自己的 Confluence 账号(Basic):

{
  "mcpServers": {
    "confluence": {
      "url": "http://<lan-ip>:3100/mcp",
      "headers": {
        "X-Confluence-Username": "你的用户名",
        "X-Confluence-Password": "你的密码"
      }
    }
  }
}

不同 Cursor 版本对远端 MCP 字段略有差异;若 url 不被识别,可用本机 stdio,或在本机用反向代理/SSH 隧道:
ssh -L 3100:127.0.0.1:3100 user@lan-host,再把 url 写成 http://127.0.0.1:3100/mcp

部署拓扑

[Cursor / Codex] --X-Confluence-Username/Password--> [confluence-mcp] --REST(同一账号)--> [Confluence]

要点:

  1. MCP 必须放在能访问 Confluence 的网段

  2. 每人在 mcp.json 填 X-Confluence-Username / X-Confluence-Password,权限随账号走。

  3. 服务端只配置 CONFLUENCE_BASE_URL,不要存共享账号密码。

  4. 工具参数可直接贴 viewpage.action?pageId= 链接。

  5. 大子树用 maxDepth / maxPages,避免一次塞爆模型上下文。

Podman 构建 & Kubernetes 部署

Podman 本地构建 / 试跑

cd confluence-mcp

podman build -t confluence-mcp:1.0.0 .

podman run --rm -p 3100:3100 \
  -e CONFLUENCE_BASE_URL=http://<confluence-host>:<port> \
  -e CONFLUENCE_SPACE_KEY=<space-key> \
  confluence-mcp:1.0.0

验证:curl http://127.0.0.1:3100/health

HTTP 模式不在服务端存用户密码。每位同事在 Cursor 里填两个字段即可:

{
  "mcpServers": {
    "confluence": {
      "url": "http://<ingress-host>:3100/mcp",
      "headers": {
        "X-Confluence-Username": "你的用户名",
        "X-Confluence-Password": "你的密码"
      }
    }
  }
}

也可仍用 Authorization: Basic ...(兼容)。

工具参数 page 支持直接粘贴链接,例如:

http://<confluence-host>:<port>/pages/viewpage.action?pageId=<pageId>

会自动抽出 pageId。也可用工具 resolve_page_link 先解析。

推到你们的镜像仓库(按实际 registry 改):

podman tag confluence-mcp:1.0.0 registry.example.com/confluence-mcp:1.0.0
podman push registry.example.com/confluence-mcp:1.0.0

部署到 K8s

  1. 编辑 deploy/deploy.yaml:改 image、Secret 里的 CONFLUENCE_BASE_URL

  2. 集群 Pod 必须能访问 Confluence 地址

  3. 应用清单:

kubectl apply -f deploy/deploy.yaml
kubectl get svc confluence-mcp confluence-mcp-nodeport -n <namespace>
  • 集群内:http://confluence-mcp.<namespace>:3100/mcp

  • 局域网同事:用 Ingress / NodePort,Cursor 配置里填自己的 Basic 账号(见上)

{
  "mcpServers": {
    "confluence": {
      "url": "http://<ingress>/mcp",
      "headers": {
        "X-Confluence-Username": "你的用户名",
        "X-Confluence-Password": "你的密码"
      }
    }
  }
}

在对话里怎么用

  • 「解析这个链接并列出子树:http://confluence.../pages/viewpage.action?pageId=

  • 「用 confluence 拉《示例项目》下文档」(标题 / pageId / 链接均可)

  • 「拉取示例文档整棵子树正文并总结需求」

  • get_subtree_docs + maxDepth: 1 只拿当前层级

  • find_page / resolve_page_link 按标题或链接定位

开发

npm run dev          # stdio
npm run dev:http     # http://0.0.0.0:3100/mcp

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/riverlover/confluence_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server