Confluence MCP服务器

一个企业级的Model Context Protocol (MCP)服务器,用于Atlassian Confluence,设计用于在企业环境中安全部署。

  • by detasar
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 detasar/ConfluenceMCPServer4Enterprise

使用说明

Confluence MCP服务器-企业版

Atlassian Confluence的企业级模型上下文协议(MCP)服务器,专为在企业环境中安全部署而设计。

特性

  • 每用户身份验证 -每个用户都使用自己的凭据(PAT或OAuth)进行身份验证
  • 许可执行 -尊重Confluence的本地权限;用户只能访问他们授权的内容
  • 审计日志 -SIEM兼容的JSON Lines格式,用于合规性和安全监控
  • 多语言支持 -完全支持英语和土耳其语的i18n
  • 企业部署 -包括Docker、Kubernetes和NGINX配置
  • 敏感内容检测 -检测并可选择性地编辑个人身份信息、财务数据和凭据
  • 内部支持 -适用于Confluence服务器/数据中心(6.0+)和云

快速开始

使用Docker

# Clone the repository
git clone https://github.com/your-org/ConfluenceMCPServer4Enterprise.git
cd ConfluenceMCPServer4Enterprise

# Create environment file
cp .env.example .env
# Edit .env with your Confluence credentials

# Run with Docker Compose
cd deployment/docker
docker-compose up -d

使用Python

# Install from source
pip install -e .

# Run the server
confluence-mcp --transport sse --port 9000 \
  --confluence-url https://confluence.example.com \
  --confluence-personal-token YOUR_PAT

配置

环境变量

变量 描述 默认值
CONFLUENCE_URL 汇流基URL 必填
CONFLUENCE_PERSONAL_TOKEN 个人访问令牌(服务器/DC) -
CONFLUENCE_USERNAME 云用户名 -
CONFLUENCE_API_TOKEN API云代币 -
CONFLUENCE_SSL_VERIFY 验证SSL证书 true
CONFLUENCE_SPACES_FILTER 逗号分隔的允许空格 全部
READ_ONLY_MODE 禁用写入操作 false
MCP_LOCALE 语言(en 或 tr) en
AUDIT_ENABLED 启用审核日志记录 true

看 .env.示例 对于所有选项。

命令行选项

confluence-mcp --help

Options:
  --transport [stdio|sse|streamable-http]
  --port INTEGER
  --host TEXT
  --confluence-url TEXT
  --confluence-personal-token TEXT
  --read-only
  --locale [en|tr]
  -v, --verbose

可用工具

读取操作

工具 说明
confluence_search 使用CQL或简单文本搜索内容
confluence_get_page 按ID或标题获取页面内容
confluence_get_page_children 列出子页面
confluence_get_comments 获取页面评论
confluence_get_labels 获取页面标签
confluence_check_permission 检查用户权限

写入操作

工具 说明
confluence_create_page 创建新页面
confluence_update_page 更新现有页面
confluence_delete_page 删除页面
confluence_add_comment 添加评论
confluence_add_label 添加标签

安全

每用户身份验证

对MCP服务器的每个请求都需要用户身份验证。服务器不在用户之间共享凭据。

个人访问令牌(PAT) -对于服务器/数据中心:

Authorization: Token YOUR_PERSONAL_ACCESS_TOKEN

OAuth承载令牌 -对于云:

Authorization: Bearer YOUR_OAUTH_TOKEN

许可执行

  1. Confluence原生 -服务器对所有API调用使用用户的令牌,因此Confluence自动强制执行权限
  2. 预检查(可选) -操作前进行显式权限验证
  3. 空间滤波 -通过以下方式限制进入特定空间 CONFLUENCE_SPACES_FILTER
  4. 只读模式 -通过禁用所有写入操作 READ_ONLY_MODE=true

审计日志

所有操作均以JSON行格式记录:

{
  "timestamp": "2025-01-15T10:30:45.123Z",
  "request_id": "req_abc123",
  "user_id": "user123",
  "action": "page_read",
  "status": "success",
  "resource_type": "page",
  "resource_id": "123456",
  "space_key": "DEV",
  "duration_ms": 234
}

敏感内容检测

服务器可以检测并标记:

  • 国民身份证(TCKN、SSN)
  • 信用卡号码
  • IBAN号码
  • API密钥和令牌
  • 文本密码
  • 电子邮件地址
  • 保密标记

部署

Docker Compose

cd deployment/docker
docker-compose up -d

Kubernetes

# Create namespace
kubectl create namespace mcp

# Apply configurations
kubectl apply -f deployment/kubernetes/configmap.yaml
kubectl apply -f deployment/kubernetes/deployment.yaml
kubectl apply -f deployment/kubernetes/ingress.yaml

建筑学

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│   MCP Client    │────►│  NGINX/Ingress  │────►│   MCP Server    │
│  (Claude, etc.) │ TLS │  (TLS, Rate     │     │  (This Server)  │
└─────────────────┘     │   Limiting)     │     └────────┬────────┘
                        └─────────────────┘              │
                                                         │ User's PAT
                                                         ▼
                                               ┌─────────────────┐
                                               │   Confluence    │
                                               │  Server/Cloud   │
                                               └─────────────────┘

多语言支持

服务器支持所有面向用户的消息的英语和土耳其语。

设置语言:

# Via environment
export MCP_LOCALE=tr

# Via command line
confluence-mcp --locale tr

# Via HTTP header
Accept-Language: tr

发展

先决条件

  • Python 3.11+
  • Docker(可选)

设置

# Clone
git clone https://github.com/your-org/ConfluenceMCPServer4Enterprise.git
cd ConfluenceMCPServer4Enterprise

# Create virtual environment
python -m venv venv
source venv/bin/activate  # or `venv\Scripts\activate` on Windows

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run linter
ruff check src/

项目结构

ConfluenceMCPServer4Enterprise/
├── src/confluence_mcp/
│   ├── __init__.py          # Entry point
│   ├── server/              # MCP server and tools
│   ├── confluence/          # Confluence API client
│   ├── security/            # Permission, audit, sensitive detection
│   ├── i18n/                # Internationalization
│   └── utils/               # Utilities
├── deployment/
│   ├── docker/              # Docker configurations
│   ├── kubernetes/          # K8s manifests
│   └── nginx/               # NGINX config
├── docs/                    # Documentation
└── tests/                   # Test suite

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 运行测试和梳理
  5. 提交拉取请求

许可证

MIT许可证-请参阅 许可证 了解详情。

致谢

该项目基于 mcp澳大利亚 对企业用例进行了重大修改。