Confluence MCP Server

by minhoyooDEV
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides access to Confluence API functionality including retrieving space lists, fetching pages within spaces, accessing specific page details by ID, creating new pages, and updating existing pages.

Confluence MCP 服务器

用于访问 Confluence API 的模型上下文协议服务器系统。使用个人访问令牌与 Confluence 进行通信。充当访问 VPN 区域内的 Confluence API 的中介服务器。

系统配置

该项目由两台服务器组成:

  1. MCP 服务器(server.ts):与 Confluence API 通信并处理数据的主服务器。
    • 默认端口:3000
    • 提供 RESTful API
    • MCP 协议处理
  2. 代理服务器(proxyServer.ts):充当 MCP 客户端和 MCP 服务器之间的代理。
    • 默认端口:3001
    • 接收来自 MCP 客户端的请求并将其转发到主服务器

该架构旨在解决VPN域问题。 MCP 服务器在 VPN 内部运行并访问 Confluence API,而代理服务器在外部可访问的环境中运行。

功能

  • 查看所有 Confluence 空间的列表
  • 查看特定空间内的所有页面
  • 通过页面ID获取特定页面信息
  • 创建新页面
  • 更新现有页面

安装和设置

先决条件

  • Node.js 16.x 或更高版本
  • Bun 1.0.0 或更高版本

安装

# 저장소 클론 git clone https://github.com/yourusername/confluence-mcp-server.git cd confluence-mcp-server # 의존성 설치 bun install

设置环境变量

在项目根目录中创建一个.env文件并添加以下内容:

PORT=3000 PROXY_PORT=3001 MCP_SERVER_URL=http://localhost:3000 CONFLUENCE_BASE_URL=https://wiki.musinsa.com PERSONAL_ACCESS_TOKEN=your_personal_access_token NODE_ENV=development

执行

开发环境

# MCP 서버 실행 (Confluence API와 통신) bun run dev # 프록시 서버 실행 (MCP 클라이언트와 통신) bun run dev:proxy # MCP 서버 Stdio 모드 실행 (선택 사항) bun run dev:stdio

生产环境

# 빌드 bun run build # MCP 서버 실행 bun run serve # 프록시 서버 실행 bun run serve:proxy

端点

MCP 服务器端点(默认端口:3000)

  • POST /mcp - 处理 MCP 请求的主端点。
  • GET /mcp/tools - 列出可用工具
  • GET /api/spaces - 列出所有空间
  • GET /api/spaces/:spaceKey/pages - 检索特定空间中的页面列表
  • GET /api/pages/:pageId - 检索有关特定页面的信息
  • POST /api/pages - 创建新页面
  • PUT /api/pages/:pageId - 更新页面
  • GET /health - 检查服务器健康状况

代理服务器端点(默认端口:3001)

  • POST /mcp - 接收 MCP 客户端请求并将其转发到 MCP 服务器。
  • GET /tools - 列出可用工具
  • GET /health - 检查代理服务器状态

故障排除

排查 VPN 区域问题

该项目已拆分为两个服务器以解决 VPN 区域问题:

  1. MCP 服务器在 VPN 内部运行并直接访问 Confluence API。
  2. 代理服务器在外部可访问的环境中运行并接收来自 MCP 客户端的请求。

当 MCP 客户端无法直接访问 Confluence API 时,此配置充当中介。

错误“获取空间时出错:无法连接”

此错误可能由以下问题引起:

  1. HTTPS 证书问题:在开发环境中禁用 SSL 证书验证,但在生产环境中需要正确设置证书。
  2. 网络连接问题:这可能是由于防火墙或代理设置阻止您访问 Confluence 服务器。
  3. 个人访问令牌问题:令牌可能已过期或格式错误。

如何解决

  1. 确保.env文件中的CONFLUENCE_BASE_URL正确。
  2. 验证您的个人访问令牌是否有效。
  3. 检查您的防火墙设置以确保您可以访问您的 Confluence 服务器。
  4. 请联系您的网络管理员来验证访问权限。
  5. 确保 MCP 服务器和代理服务器之间的连接设置正确(设置MCP_SERVER_URL )。

测试

# 모든 테스트 실행 bun test # 특정 테스트 실행 bun test src/test/getSpaces.test.ts

分发配置

推荐的分发配置

对于生产环境,我们建议采用以下部署配置:

  1. MCP 服务器:部署在 VPN 内部或可以访问 Confluence 服务器的网络上。
  2. 代理服务器:部署在 MCP 客户端可访问的网络上。

安全注意事项

  • 我们建议使用 HTTPS 加密代理服务器和 MCP 服务器之间的通信。
  • 请妥善保管您的个人访问令牌,并根据需要定期更新。
  • 在生产环境中,添加适当的身份验证机制,以防止未经授权访问代理服务器。

执照

麻省理工学院

ID: dp2vzvb1t8