返回市场
麦克服汇流时间序列

麦克服汇流时间序列

作者:enjoyzl2 星标更新:2025-11-11

项目介绍

MCP Confluence 服务

这是一个基于MCP(模型上下文协议)实现的Confluence API服务。该服务提供了与Confluence交互的能力,支持获取空间信息、页面内容以及搜索等功能。

目录

功能特性

🔐 认证方法

  • 访问令牌认证(推荐)
  • 用户名和密码认证
  • 支持多环境配置

🔧 MCP 工具架构(优化)

  • 工具合并优化从12个工具简化到8个(减少33%)
  • 统一API设计通过操作参数区分操作类型
  • 智能参数验证根据操作自动验证必要参数
  • 完整的参数注释详细的参数说明可以在MCP Inspector中查看

📄 页面管理功能

  • **managePages**统一页面管理工具 ⭐
    • 创建页面(支持父页面和内容格式)
    • 更新页面(支持增量更新)
    • 删除页面⭐ 新增功能
    • 获取基本页面信息
    • 获取详细页面内容
    • Markdown支持🆕 自动转换为HTML
  • **getPageByPrettyUrl**通过标题准确获取页面
  • getSpace: 获取空间信息

💬 评论管理功能

  • **manageComments**统一评论管理工具 ⭐
    • 普通评论:创建、更新、删除、回复
    • 内部评论:创建、更新、删除、回复
    • 支持版本控制和监控评论
    • Markdown支持🆕 智能检测和转换
  • getPageComments: 获取页面上的所有评论(支持分页)
  • getComment: 获取单条评论详情

🔍 搜索功能

  • **searchContent**全文搜索内容(支持CQL语法)
  • **searchComments**搜索评论内容(支持有限空间)
  • 错误回滚机制当CQL语法错误时自动尝试基础搜索

⚡ 性能优化

  • HTTP连接复用支持Keep Alive
  • 响应压缩自动压缩传输
  • 请求超时控制可配置超时时间
  • 错误重试机制自动重试失败的请求

📊 日志和监控

  • 结构化日志输出JSON格式的日志
  • 请求耗时统计性能监控
  • 详细的错误信息便于调试
  • 操作记录跟踪完整的操作日志

快速开始

环境要求

  • Node.js >= 14.0.0
  • TypeScript >= 4.0.0

安装

# 安装依赖
npm install

构建

# 清理并构建项目
npm run build:clean

启动服务

# 启动服务
npm start

配置说明

认证配置

该服务支持两种认证方式,可以选择其中一种:

1. 访问令牌认证(推荐)

.env文件中配置:

CONFLUENCE_URL=https://your-confluence-url
CONFLUENCE_ACCESS_TOKEN=your-access-token

2. 用户名和密码认证

.env文件中配置:

CONFLUENCE_URL=https://your-confluence-url
CONFLUENCE_USERNAME=your-username
CONFLUENCE_PASSWORD=your-password

其他配置项

# 服务器配置
PORT=3000
NODE_ENV=development
TIMEOUT=10000
REJECT_UNAUTHORIZED=true

Cursor IDE配置

Windows配置

  1. 使用Smithery(推荐) 在%USERPROFILE%\.cursor\mcp.json中添加:
{
  "mcpServers": {
    "mcp-server-confluence-ts": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@smithery/cli@latest",
        "run",
        "@enjoyzl/mcp-server-confluence-ts",
        "--config",
        "{\"confluenceUrl\":\"your-confluence-url\",\"confluenceUsername\":\"your-username\",\"confluencePassword\":\"your-password\"}"
      ]
    }
  }
}
  1. 本地服务模式 在%USERPROFILE%\.cursor\mcp.json中添加:
{
  "mcpServers": {
    "mcp-server-confluence-ts": {
      "command": "cmd",
      "args": [
        "/k",
        "cd",
        "/d",
        "D:\\workspace\\code\\mcp\\mcp-server-confluence-ts",
        "&",
        "node",
        "dist/index.js"
      ]
    }
  }
}

Windows配置说明:

  • /k执行命令后保持命令窗口打开,方便查看日志
  • /d切换到指定驱动器
  • 使用&连接多个命令
  • 路径使用双斜杠\\转义
  • 可以包含项目中的环境变量.env文件配置

Mac/Linux配置

  1. 使用Smithery(推荐) 在~/.cursor/mcp.json中添加:
{
  "mcpServers": {
    "mcp-server-confluence-ts": {
      "command": "bash",
      "args": [
        "-c",
        "npx -y @smithery/cli@latest run @enjoyzl/mcp-server-confluence-ts --config '{\"confluenceUrl\":\"your-confluence-url\",\"confluenceUsername\":\"your-username\",\"confluencePassword\":\"your-password\"}'"
      ]
    }
  }
}
  1. 本地服务模式 在~/.cursor/mcp.json中添加:
{
  "mcpServers": {
    "mcp-server-confluence-ts": {
      "command": "node",
      "args": ["/Users/your-username/workspace/code/mcp/mcp-server-confluence-ts/dist/index.js"],
      "env": {
        "CONFLUENCE_URL": "your-confluence-url",
        "CONFLUENCE_USERNAME": "youraccount",
        "CONFLUENCE_PASSWORD": "yourpwd",
      }
    }
  }
}

Mac/Linux配置说明:

  • -c执行命令字符串
  • 使用&&连接多个命令
  • 路径使用正斜杠/
  • 可以包含项目中的环境变量.env文件配置
  • Mac用户的家目录通常位于/Users/your-username/
  • Linux用户的家目录通常位于/home/your-username/

开发模式

# 监听文件变化并自动编译
npm run dev

# 监听文件变化并自动重启服务
npm run dev:start

构建命令

# 仅构建项目
npm run build

# 清理构建目录
npm run clean

# 清理并重新构建
npm run build:clean

调试工具

# 基本调试模式
npm run inspector

# 开发调试模式(带详细日志)
npm run inspector:dev

MCP 工具使用指南

🚀 工具架构优化

此服务已完成工具架构优化,并按功能和使用频率进行了重组:

📁 1. 基础信息工具(最常用)
📁 2. 页面管理工具(核心功能)  
📁 3. 评论管理工具(扩展功能)
📁 4. 搜索工具(专用搜索)

🔧 MCP 工具列表

1. 基础信息工具 - 最常用的查询功能

getSpace - 获取空间信息

{
  "name": "getSpace",
  "arguments": {
    "spaceKey": "DEV"
  }
}

getPageByPrettyUrl - 根据标题准确获取页面

{
  "name": "getPageByPrettyUrl",
  "arguments": {
    "spaceKey": "DEV",
    "title": "API 开发指南"
  }
}

2. 页面管理工具 - 核心功能

managePages - 统一页面管理 ⭐ 合并优化

创建页面:

{
  "name": "managePages",
  "arguments": {
    "action": "create",
    "spaceKey": "DEV",
    "title": "新页面标题",
    "content": "<p>页面内容</p>",
    "parentId": "123456789",
    "representation": "storage"
  }
}

更新页面:

{
  "name": "managePages",
  "arguments": {
    "action": "update",
    "pageId": "123456789",
    "title": "更新的标题",
    "content": "<p>更新的内容</p>",
    "version": 2,
    "representation": "storage"
  }
}

删除页面:⭐ 新增功能

{
  "name": "managePages",
  "arguments": {
    "action": "delete",
    "pageId": "123456789"
  }
}

获取基本页面信息:

{
  "name": "managePages",
  "arguments": {
    "action": "get",
    "pageId": "123456789"
  }
}

获取详细页面内容:

{
  "name": "managePages",
  "arguments": {
    "action": "getContent",
    "pageId": "123456789",
    "expand": "body.storage,version,space"
  }
}

3. 评论管理工具 - 扩展功能

manageComments - 统一评论管理 ⭐ 合并优化

创建普通评论(HTML格式):

{
  "name": "manageComments",
  "arguments": {
    "action": "create",
    "commentType": "regular",
    "pageId": "123456789",
    "content": "这是一条普通评论",
    "representation": "storage"
  }
}

**创建普通评论(Markdown格式):**🆕

{
  "name": "manageComments",
  "arguments": {
    "action": "create",
    "commentType": "regular",
    "pageId": "123456789",
    "content": "## 代码审查意见\n\n这段代码需要优化:\n\n- **性能问题**: 数据库查询未优化\n- **安全问题**: 缺少输入验证\n\n建议修改:\n\n``javascript\n// 使用索引查询\nconst user = await User.findById(id).lean();\n```",
    "representation": "markdown"
  }
}

创建行内评论:

{
  "name": "manageComments",
  "arguments": {
    "action": "create",
    "commentType": "inline",
    "pageId": "123456789",
    "content": "这里需要注意性能问题",
    "originalSelection": "QueryHoldingsService.setHoldingData()",
    "matchIndex": 0,
    "numMatches": 1
  }
}

更新评论:

{
  "name": "manageComments",
  "arguments": {
    "action": "update",
    "commentType": "regular",
    "commentId": "98765432",
    "content": "更新后的评论内容",
    "version": 2
  }
}

删除评论:

{
  "name": "manageComments",
  "arguments": {
    "action": "delete",
    "commentType": "regular",
    "commentId": "98765432"
  }
}

回复普通评论:

{
  "name": "manageComments",
  "arguments": {
    "action": "reply",
    "commentType": "regular",
    "pageId": "123456789",
    "parentCommentId": "98765432",
    "content": "这是一条回复",
    "watch": false
  }
}

回复行业内的评论:

{
  "name": "manageComments",
  "arguments": {
    "action": "reply",
    "commentType": "inline",
    "commentId": "98765432",
    "pageId": "123456789",
    "content": "这是对行内评论的回复"
  }
}

getPageComments - 获取页面上的所有评论

{
  "name": "getPageComments",
  "arguments": {
    "pageId": "123456789",
    "start": 0,
    "limit": 25
  }
}

getComment - 获取单条评论详情

{
  "name": "getComment",
  "arguments": {
    "commentId": "98765432"
  }
}

4. 搜索工具 - 专用搜索功能

searchContent - 搜索页面内容(支持CQL)

{
  "name": "searchContent",
  "arguments": {
    "query": "API 开发"
  }
}

searchComments - 搜索评论内容

{
  "name": "searchComments",
  "arguments": {
    "query": "性能优化",
    "spaceKey": "DEV",
    "start": 0,
    "limit": 25
  }
}

📝 参数描述

操作参数选项:

  • 页面管理create, update, delete, get, getContent
  • 评论管理create, update, delete, reply

CommentType参数选项:

  • regular(默认):普通评论
  • inline:行业内的评论

Representation参数选项:

  • storage(推荐):HTML存储格式
  • **wiki**Wiki标记语法
  • editor2:编辑器格式
  • view:视图格式
  • **markdown**🆕:Markdown格式(自动转换为HTML)

🎯 优化亮点

工具数量优化合并12个工具为8个(减少33%)
统一API设计通过操作参数区分操作类型
智能参数验证根据操作类型自动验证必要参数
完整的参数注释详细的参数规范可以在MCP Inspector中查看
新增删除功能支持删除页面操作
双重评论类型统一管理普通评论和行业内评论

🚀 新功能:Markdown导出

导出功能概述

现在支持将Confluence页面导出为Markdown文件到当前工作区!

🎯 支持的导出方法

  1. 单页面导出 (exportPage)

    • 将指定页面导出为Markdown文件
    • 支持按章节分割大文档
    • 可选YAML前言元数据
  2. 层级结构导出 (exportPageHierarchy)

    • 递归导出一个页面及其所有子页面
    • 保持原始目录结构
    • 可控递归深度
  3. 批量导出 (batchExportPages)

    • 同时导出多个指定页面
    • 智能并发控制和错误处理
    • 性能优化和进度追踪

🌟 核心功能

  • 智能内容转换高质量的HTML到Markdown转换
  • 章节分割根据标题级别自动分割大文档
  • 元数据保留完整的页面信息作为YAML前言
  • 文件管理智能文件命名和冲突处理
  • 性能优化并发控制、重试机制、内存优化
  • 进度追踪实时导出状态和错误报告

📖 快速开始

# 导出单个页面
{
  "pageId": "123456789",
  "outputDir": "my-docs",
  "includeMetadata": true
}

# 按章节拆分导出
{
  "pageId": "123456789",
  "splitByChapters": true,
  "splitLevel": "2"
}

# 导出页面层次结构
{
  "pageId": "123456789",
  "maxDepth": 3,
  "includeChildren": true
}

# 批量导出多个页面
{
  "pageIds": ["123", "456", "789"],
  "concurrency": 3
}

📁 输出示例

confluence-export/
├── API_Documentation.md           # 单页面导出
├── User_Guide/                    # 层次结构导出
│   ├── User_Guide.md
│   ├── Getting_Started/
│   │   └── Installation.md
│   └── Advanced_Topics/
│       └── Configuration.md
└── Large_Document/                # 章节拆分导出
    ├── README.md                  # 章节索引
    ├── 01_introduction.md
    ├── 02_setup.md
    └──  03_usage.md

有关详细使用指南,请参阅:导出功能指南

安全建议

  1. 优先使用访问令牌认证