Confluence集成服务器

一个用于Confluence Wiki集成的模型上下文协议(MCP)服务器,部署在Databricks Apps上,提供搜索页面、获取内容和列出空间等功能。

  • by kunaldb
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kunaldb/wiki_mcp_server

使用说明

Wiki MCP服务器

用于Confluence wiki集成的模型上下文协议(MCP)服务器,部署在copula Apps上。

特性

  • 🔍 搜索汇流 -按查询文本搜索wiki页面
  • 📄 获取页面内容 -从Confluence页面检索完整内容
  • 📚 列出空间 -浏览可用的Confluence空间

先决条件

  • 启用了应用程序的copula工作区
  • 具有API访问权限的汇流帐户
  • 已配置copula命令行界面
  • Python 3.11+

设置

1.克隆存储库

git clone <your-repo-url>
cd wiki_mcp_server

2.配置Confluence凭据

复制模板文件:

cp app.yaml.template app.yaml

更新 app.yaml 使用您的实际凭据:

  • 汇流URL:您的Confluence实例URL(例如。, https://your-company.atlassian.net)
  • conference_邮件:您的Confluence/Jira电子邮件地址
  • CONFLUENCE_API_TOKEN配置文件:生成时间https://id.atlassian.com/manage-profile/security/api-tokens

3.配置部署设置(可选)

部署脚本使用合理的默认值,但可以使用环境变量进行自定义:

默认行为

默认情况下,脚本将:

  • 自动检测您的copula用户名
  • 将文件同步到: /Workspace/Users/<your-username>/mcp_servers/wiki_mcp_server
  • 使用应用程序名称进行部署: mcp-wiki-server

自定义应用程序名称

export APP_NAME="my-custom-wiki-mcp-server"

自定义工作区路径

要更改文件在Rancher工作区中的同步位置,请执行以下操作:

# Option 1: Set the full workspace path
export WORKSPACE_PATH="/Workspace/Users/your.email@company.com/custom_folder/wiki_mcp"

# Option 2: Set just the base path (will append username and default subfolder)
export WORKSPACE_BASE_PATH="/Workspace/Shared/mcp_servers"

示例:

# Sync to a specific personal folder
export WORKSPACE_PATH="/Workspace/Users/kunal.gaurav@databricks.com/Generative_AI/mcp/Wiki_mcp_server"
./deployment.sh

# Sync to a shared team folder
export WORKSPACE_PATH="/Workspace/Shared/team_projects/wiki_mcp"
./deployment.sh

# Use a custom app name
export APP_NAME="prod-wiki-mcp-server"
./deployment.sh

使用配置文件(推荐)

创建持久配置文件:

# Copy the example config
cp deployment-config.example.sh deployment-config.sh

# Edit with your settings
nano deployment-config.sh

# Source and deploy
source deployment-config.sh && ./deployment.sh

直接编辑deployment.sh

您还可以编辑 deployment.sh 并更改顶部的默认值:

# Edit these lines in deployment.sh
APP_NAME="${APP_NAME:-mcp-wiki-server}"
WORKSPACE_BASE_PATH="${WORKSPACE_BASE_PATH:-/Workspace/Users}"

4.部署到copula应用程序

使脚本可执行并运行:

chmod +x deployment.sh
./deployment.sh

脚本将:

  1. 自动检测您的copula用户名
  2. 显示配置(应用程序名称、工作区路径)
  3. 要求确认
  4. 将代码同步到copula工作区
  5. 创建copula应用程序(如果它不存在)
  6. 使用您的Confluence凭据进行部署

5.测试部署

测试脚本会自动检测您的应用程序名称和URL:

# Install test dependencies (first time only)
uv pip install databricks-mcp databricks-sdk

# Run tests (auto-detects app name from deployment.sh)
python test.py

# Or specify a custom app name
python test.py --app-name my-custom-app

测试将:

  • 自动检测来自的应用程序名称 deployment.sh
  • 查询AppDCLI以获取应用程序URL
  • 测试所有3个MCP工具(列出空间、搜索、获取内容)

可用的MCP工具

1. search_confluence

按查询文本搜索Confluence页面。

参数:

  • query (必填):搜索查询文本
  • space_key (可选):将搜索限制在特定空间
  • limit (可选):最大结果(默认值:10)

例子:

result = mcp_client.call_tool(
    "search_confluence",
    {"query": "API documentation", "limit": 5}
)

2. get_wiki_content

从Confluence页面获取完整内容。

参数:

  • page_id (必填):汇流页ID或URL
  • format (可选):“存储”(HTML)或“视图”(渲染)。默认值:“存储”

例子:

result = mcp_client.call_tool(
    "get_wiki_content",
    {"page_id": "123456789", "format": "storage"}
)

3. list_confluence_spaces

列出所有可用的汇流空间。

参数:

  • limit (可选):返回的最大空间(默认值:25)

例子:

result = mcp_client.call_tool(
    "list_confluence_spaces",
    {"limit": 10}
)

部署快速参考

环境变量

变量 描述 默认值
APP_NAME 您的copula应用程序的名称 mcp-wiki-server
WORKSPACE_PATH copula工作区中的完整路径 /Workspace/Users/<username>/mcp_servers/wiki_mcp_server
WORKSPACE_BASE_PATH 基本工作区路径(自动附加用户/文件夹) /Workspace/Users

常见部署命令

# Standard deployment (uses defaults)
./deployment.sh

# Deploy with custom app name
APP_NAME="my-wiki-mcp" ./deployment.sh

# Deploy to specific workspace path
WORKSPACE_PATH="/Workspace/Users/you@company.com/my_apps/wiki_mcp" ./deployment.sh

# Deploy to shared folder
WORKSPACE_PATH="/Workspace/Shared/team_mcps/wiki_server" ./deployment.sh

# Check app status
databricks apps get mcp-wiki-server

# View app logs
databricks apps logs mcp-wiki-server

# Redeploy after changes
./deployment.sh

# Delete the app
databricks apps delete mcp-wiki-server

测试命令

# Run tests (auto-detects app from deployment.sh)
python test.py

# Test specific app
python test.py --app-name my-custom-app

# One-liner: Deploy and test
./deployment.sh && python test.py

# Get just the app URL
databricks apps get mcp-wiki-server --output json | jq -r '.url'

工作区路径示例

个人工作空间:

/Workspace/Users/kunal.gaurav@databricks.com/mcp_servers/wiki_mcp_server
/Workspace/Users/kunal.gaurav@databricks.com/Generative_AI/mcp/Wiki_mcp_server
/Workspace/Users/kunal.gaurav@databricks.com/projects/confluence_mcp

共享工作区:

/Workspace/Shared/mcp_servers/wiki
/Workspace/Shared/team_apps/confluence_integration
/Workspace/Shared/ai_tools/wiki_mcp

发展

局部测试

安装依赖项:

uv pip install -r requirements.txt

本地测试汇流连接:

python confluence_cred.py

项目结构

wiki_mcp_server/
├── app.py                 # Main MCP server implementation
├── main.py                # Entry point
├── app.yaml              # Databricks App config (not in Git)
├── app.yaml.template     # Template for app.yaml
├── requirements.txt      # Python dependencies
├── deployment.sh         # Deployment script
├── test.py              # Test client
└── README.md            # This file

安全说明

⚠️ 重要:从不承诺 app.yaml 或将具有实际凭据的文件导入Git!

以下文件已从Git中排除(请参见 .gitignore):

  • app.yaml -包含您的实际凭据
  • confluence_cred.py -带有凭据的本地测试脚本
  • .env -环境变量

仅模板文件(app.yaml.template, .env.template)应该承诺。

故障排除

403禁止的错误

如果应用程序尝试访问Confluence时出现403个错误:

  1. 验证凭据 -确保您的API令牌有效
  2. 检查IP分配列表 -您的Confluence实例可能会通过IP限制访问
  3. 从copula笔记本进行测试 -验证ViewModel是否可以访问Confluence
  4. 联系IT -您可能需要允许列出copula应用程序的IP范围

应用程序无法启动

检查部署日志:

databricks apps logs <app-name>

常见问题:

  • 缺少或无效的环境变量
  • 依赖项安装不正确
  • 端口冲突

许可证

[您的许可证在这里]

贡献

[您的投稿指南请点击此处]