Confluence MCP服务

一个为Confluence设计的模型上下文协议(MCP)服务器,支持在AI驱动的开发工具中无缝访问Confluence页面和空间。

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

使用说明

MCP Confluence(可译为“MCP融合平台”或根据具体语境调整)

英语 | 简体中文

A. 模型上下文协议(MCP) 为Confluence提供的服务器,使得用户能够在如Cursor等AI驱动的开发工具中无缝访问Confluence页面和空间。

特点/功能

  • 🔍 看起来像是一个放大镜的符号,常用于表示搜索、查看细节或探索等动作,在中文中可以简单地翻译为“🔍 放大镜”或根据上下文翻译为“🔍 搜索”、“🔍 查看细节”等。由于这是一个符号,没有固定的中文翻译,具体翻译需结合语境。 搜索页面在Confluence页面中进行全文搜索
  • 文件 获取页面内容通过ID或标题检索完整页面内容
  • 🏢(办公大楼/公司) 列出空间浏览可用的Confluence空间
  • 🔧 修理工具或螺丝刀的象征 **高级CQL(Cassandra查询语言)**支持Confluence查询语言(CQL)
  • 🚀 表情符号“🚀”通常被用来表示火箭、快速前进或加速等概念,在中文中可以翻译为“🚀”或者根据上下文意译为“火箭”、“飞速前进”等。由于表情符号本身没有固定的中文翻译,所以这里直接保留了原符号。 易于集成与Cursor及其他MCP兼容工具协同工作
  • 🔒(锁形符号,通常表示安全、保密或锁定状态) 安全支持Confluence服务器和云版的认证

安装

NPM(Node Package Manager,Node包管理器)

npm install -g confluence-mcp-server

来自来源

git clone https://github.com/yourusername/mcp-confluence.git
cd mcp-confluence
npm install
npm run build

快速入门

1. 获取Confluence凭据

对于Confluence Cloud(云版)

  • 访问 https://id.atlassian.com/manage-profile/security/api-tokens
  • 创建一个API令牌
  • 使用你的电子邮件作为用户名

对于Confluence服务器/数据中心

  • 使用您常用的用户名和密码

2. 在光标处进行配置

添加到您的光标设置中(设置 → MCP 或 ~/.cursor/mcp.json):

{
  "mcp.servers": {
    "confluence": {
      "command": "npx",
      "args": ["confluence-mcp-server"],
      "env": {
        "CONFLUENCE_BASE_URL": "https://your-confluence.com",
        "CONFLUENCE_USERNAME": "your-username",
        "CONFLUENCE_API_TOKEN": "your-api-token"
      }
    }
  }
}

对于本地安装:

{
  "mcp.servers": {
    "confluence": {
      "command": "node",
      "args": ["/path/to/mcp-confluence/dist/cli.js"],
      "env": {
        "CONFLUENCE_BASE_URL": "https://your-confluence.com",
        "CONFLUENCE_USERNAME": "your-username",
        "CONFLUENCE_API_TOKEN": "your-api-token"
      }
    }
  }
}

3. 重启光标(或:重置光标)

重启光标以加载MCP服务器。

4. 开始使用

在 Cursor 中,你现在可以问:

  • “在Confluence中搜索技术文档”
  • 获取标题为“API指南”的页面
  • “列出所有Confluence空间”
  • “在Confluence中查找有关身份验证的页面”

可用工具

搜索页面

使用关键词搜索页面。

参数:

  • query (字符串,必填):搜索关键词
  • limit (数字,可选):结果数量(默认:10)

示例:

Search Confluence for "API documentation"

获取页面

通过ID获取页面。

参数:

  • pageId (字符串,必填):Confluence 页面 ID

示例:

Get Confluence page with ID 123456

通过标题获取页面

通过标题获取页面。

参数:

  • title (字符串,必填):页面标题
  • spaceKey (字符串,可选):将搜索限制在特定空间内

示例:

Get Confluence page titled "Developer Guide"

获取空格

列出可用的 Confluence 空间。

参数:

  • limit (数字,可选):要返回的空格数量(默认:10)

示例:

List Confluence spaces

使用CQL进行搜索

使用Confluence查询语言进行高级搜索。

参数:

  • cql (字符串,必填):CQL 查询
  • limit (数字,可选):结果数量(默认:10)

示例:

Search Confluence with CQL: type=page AND space=DEV AND lastModified >= now('-7d')

配置

环境变量

  • CONFLUENCE_BASE_URL (必填):您的Confluence实例URL
  • CONFLUENCE_USERNAME (必填):您的用户名或电子邮件
  • CONFLUENCE_API_TOKEN (必填):您的API令牌或密码

配置文件

或者,创建一个 .env 文件:

CONFLUENCE_BASE_URL=https://your-confluence.com
CONFLUENCE_USERNAME=your-username
CONFLUENCE_API_TOKEN=your-api-token

发展

设置

# Clone the repository
git clone https://github.com/yourusername/mcp-confluence.git
cd mcp-confluence

# Install dependencies
npm install

# Build
npm run build

脚本

# Development mode with hot reload
npm run dev

# Build for production
npm run build

# Run tests
npm test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage
npm run test:coverage

# Lint code
npm run lint

# Format code
npm run format

# Type check
npm run typecheck

运行测试

# Run all tests
npm test

# Run with coverage
npm run test:coverage

# Watch mode
npm run test:watch

API 参考文档

Confluence客户端

Confluence REST API的直接客户端。

import { ConfluenceClient } from 'confluence-mcp-server';

const client = new ConfluenceClient({
  baseUrl: 'https://your-confluence.com',
  username: 'your-username',
  apiToken: 'your-token',
});

// Search pages
const results = await client.searchPages('query', 10);

// Get page by ID
const page = await client.getPage('123456');

// Get page by title
const page = await client.getPageByTitle('Page Title', 'SPACE');

// Get spaces
const spaces = await client.getSpaces(10);

ConfluenceMCPServer(可译为“Confluence MCP 服务器”)

MCP服务器实现。

import { ConfluenceMCPServer } from 'confluence-mcp-server';

const server = new ConfluenceMCPServer({
  baseUrl: 'https://your-confluence.com',
  username: 'your-username',
  apiToken: 'your-token',
});

// Process MCP requests
const response = await server.processRequest(mcpRequest);

示例

见 例子 包含更多使用示例的目录:

故障排除

连接问题

问题: 无法连接到 Confluence

解决方案:

  1. 验证您的Confluence网址是否正确
  2. 确保您可以在浏览器中访问 Confluence
  3. 检查您的网络连接
  4. 对于企业网络,请检查代理设置

认证错误

问题: 401 未授权

解决方案:

  1. 验证您的用户名和API令牌是否正确
  2. 对于Confluence Cloud,请使用您的电子邮件作为用户名
  3. 对于Confluence服务器,请使用您的常规用户名
  4. 确保您的账户拥有必要的权限

无结果

问题: 搜索未返回任何结果

解决方案:

  1. 检查你是否能访问这些空间
  2. 验证搜索查询是否正确
  3. 尝试不同的搜索词
  4. 检查 Confluence 中的空间权限

MCP服务器无法启动

问题: 在Cursor中服务器无法启动

解决方案:

  1. 检查 Cursor 控制台中的错误:帮助 → 切换开发者工具
  2. 验证cli.js的路径是否正确
  3. 确保已安装Node.js并且可以访问
  4. 配置更改后重启光标

贡献

欢迎贡献!请进行分支,创建功能分支,提交更改,并提交拉取请求(PR)。

许可证

这个项目遵循MIT许可证授权——详见 许可证 文件中详述。

致谢

支持

路线图

  • [ ] 支持页面创建和更新
  • [ ] 附件处理
  • [ ] 支持页面评论
  • [ ] Confluence Cloud 的 Webhooks 集成
  • [ ] 高级过滤选项
  • [ ] 缓存支持以提升性能

为开发者社区倾心打造