内容
# 企业版 Confluence MCP 服务器
适用于 Atlassian Confluence 的企业级模型上下文协议(MCP)服务器,专为企业环境中的安全部署而设计。
## 功能特点
- **用户认证** - 每个用户都使用自己的凭证(个人访问令牌或 OAuth)进行认证
- **权限强制执行** - 尊重 Confluence 的原生权限;用户只能访问他们有权访问的内容
- **审计日志** - 兼容 SIEM 的 JSON Lines 格式,用于合规性和安全监控
- **多语言支持** - 完整支持英语和土耳其语
- **企业部署** - 包含 Docker、Kubernetes 和 NGINX 配置
- **敏感内容检测** - 检测并可选地编辑个人身份信息、财务数据和凭证
- **本地支持** - 与 Confluence 服务器/数据中心(6.0+)和云端配合使用
## 快速开始
### 使用 Docker
```bash
# 克隆仓库
git clone https://github.com/your-org/ConfluenceMCPServer4Enterprise.git
cd ConfluenceMCPServer4Enterprise
# 创建环境文件
cp .env.example .env
# 使用您的 Confluence 凭证编辑 .env
# 使用 Docker Compose 运行
cd deployment/docker
docker-compose up -d
```
### 使用 Python
```bash
# 从源代码安装
pip install -e .
# 运行服务器
confluence-mcp --transport sse --port 9000 \
--confluence-url https://confluence.example.com \
--confluence-personal-token YOUR_PAT
```
## 配置
### 环境变量
| 变量 | 描述 | 默认值 |
|----------|-------------|---------|
| `CONFLUENCE_URL` | Confluence 基地址 | 必需 |
| `CONFLUENCE_PERSONAL_TOKEN` | 个人访问令牌(服务器/数据中心) | - |
| `CONFLUENCE_USERNAME` | 云端用户名 | - |
| `CONFLUENCE_API_TOKEN` | 云端 API 令牌 | - |
| `CONFLUENCE_SSL_VERIFY` | 验证 SSL 证书 | `true` |
| `CONFLUENCE_SPACES_FILTER` | 以逗号分隔的允许空间 | 所有 |
| `READ_ONLY_MODE` | 禁用写入操作 | `false` |
| `MCP_LOCALE` | 语言(英语或土耳其语) | `en` |
| `AUDIT_ENABLED` | 启用审计日志 | `true` |
参见 [.env.example](.env.example) 获取所有选项。
### 命令行选项
```bash
confluence-mcp --help
选项:
--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 Lines 格式记录:
```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
```bash
cd deployment/docker
docker-compose up -d
```
### Kubernetes
```bash
# 创建命名空间
kubectl create namespace mcp
# 应用配置
kubectl apply -f deployment/kubernetes/configmap.yaml
kubectl apply -f deployment/kubernetes/deployment.yaml
kubectl apply -f deployment/kubernetes/ingress.yaml
```
### 架构
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP 客户端 │────►│ NGINX/Ingress │────►│ MCP 服务器 │
│ (Claude 等) │ TLS │ (TLS,速率 │ │ (此服务器) │
└─────────────────┘ │ 限制) │ └────────┬────────┘
└─────────────────┘ │
│ 用户的 PAT
▼
┌─────────────────┐
│ Confluence │
│ 服务器/云端 │
└─────────────────┘
```
## 多语言支持
服务器支持英语和土耳其语的所有用户界面消息。
设置语言:
```bash
# 通过环境变量
export MCP_LOCALE=tr
# 通过命令行
confluence-mcp --locale tr
# 通过 HTTP 头
Accept-Language: tr
```
## 开发
### 先决条件
- Python 3.11+
- Docker(可选)
### 设置
```bash
# 克隆
git clone https://github.com/your-org/ConfluenceMCPServer4Enterprise.git
cd ConfluenceMCPServer4Enterprise
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # 或 `venv\Scripts\activate` 在 Windows 上
# 安装开发依赖项
pip install -e ".[dev]"
# 运行测试
pytest
# 运行 linting
ruff check src/
```
### 项目结构
```
ConfluenceMCPServer4Enterprise/
├── src/confluence_mcp/
│ ├── __init__.py # 入口点
│ ├── server/ # MCP 服务器和工具
│ ├── confluence/ # Confluence API 客户端
│ ├── security/ # 权限、审计、敏感检测
│ ├── i18n/ # 国际化
│ └── utils/ # 实用工具
├── deployment/
│ ├── docker/ # Docker 配置
│ ├── kubernetes/ # K8s 清单
│ └── nginx/ # NGINX 配置
├── docs/ # 文档
└── tests/ # 测试套件
```
## 贡献
1. 分叉仓库
2. 创建功能分支
3. 进行更改
4. 运行测试和 linting
5. 提交拉取请求
## 许可证
MIT 许可证 - 参见 [LICENSE](LICENSE) 获取详细信息。
## 致谢
该项目基于 [mcp-atlassian](https://github.com/sooperset/mcp-atlassian),并针对企业用例进行了重大修改。