这是一个针对 Atlassian Confluence 的 Model Context Protocol (MCP) 服务器实现。该服务器提供了一组工具,用于通过 MCP 协议与 Confluence 进行交互,使 AI 代理能够无缝地处理 Confluence 内容。使用 Flask 构建,便于部署到 Cloud Run。
pip install -r requirements.txt
在项目根目录创建一个 .env 文件,并包含以下变量:
CONFLUENCE_URL=https://your-instance.atlassian.net/wiki
CONFLUENCE_ACCESS_TOKEN=your_access_token
PORT=8080 # 可选,默认为 8080
获取访问令牌的方法:
服务器提供了以下 MCP 工具:
@tool("search_confluence")
def search(query: str) -> Dict[str, Any]
@tool("get_spaces")
def get_spaces() -> Dict[str, Any]
@tool("get_page_content")
def get_page_content(space_key: str, page_id: str) -> Dict[str, Any]
@tool("create_page")
def create_page(space_key: str, title: str, content: str) -> Dict[str, Any]
@tool("update_page")
def update_page(space_key: str, page_id: str, content: str) -> Dict[str, Any]
@tool("delete_page")
def delete_page(space_key: str, page_id: str) -> Dict[str, Any]
本地运行服务器:
python example.py
服务器将在 http://localhost:8080 启动
docker build -t confluence-mcp .
docker tag confluence-mcp gcr.io/[PROJECT-ID]/confluence-mcp
docker push gcr.io/[PROJECT-ID]/confluence-mcp
gcloud run deploy confluence-mcp \
--image gcr.io/[PROJECT-ID]/confluence-mcp \
--platform managed \
--allow-unauthenticated \
--set-env-vars="CONFLUENCE_URL=[YOUR_URL],CONFLUENCE_ACCESS_TOKEN=[YOUR_TOKEN]"
所有工具都包含了适当的错误处理,并会在响应中返回合适的错误信息。响应格式包括:
{"error": "错误信息"}欢迎贡献!请随时提交 Pull Request。
本项目采用 MIT 许可证 - 详情见 LICENSE 文件。