Confluence API代理服务器

一个通过Personal Access Token与Confluence API通信的代理服务器系统,解决VPN区域访问问题,提供页面管理和空间查询功能。

  • by minhoyooDEV
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 minhoyoodev/confluence-mcp-server

使用说明

汇流MCP服务器

用于访问Confluence API的Model Context Protocol服务器系统。使用Personal Access Token与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/工具 -查看可用工具列表
  • GET/api/空格 -查看所有空间列表
  • GET/api/spaces/:spaceKey/pages -查看特定空间的页面列表
  • GET/api/pages/:pageId -查看特定页面信息
  • POST/api/页面 -创建新页面
  • PUT/api/pages/:pageId -更新页面
  • GET/健康 -检查服务器状态

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

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

故障排除

VPN区域疑难解答

为了解决VPN区域的问题,该项目被分为两台服务器:

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

此配置在MCP客户端无法直接访问Confluence API的情况下充当中介。

“获取空格时出错:无法连接”오류

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

  1. HTTPS证书问题:开发环境禁用SSL证书验证,但生产环境需要正确的证书设置。

  2. 网络连接问题:由于防火墙或代理设置,无法访问Confluence服务器。

  3. 个人访问令牌문제:令牌可能已过期或格式不正确。

解决方法

  1. .env 文件的 CONFLUENCE_BASE_URL验证是否正确。
  2. 验证Personal Access Token是否有效。
  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服务器之间的通信。
  • 请安全管理Personal Access Token,并根据需要定期更新。
  • 在生产环境中添加适当的认证机制,以防止未经授权访问代理服务器。

许可证

麻省理工学院