Skip to main content
Glama

Confluence (KMS) MCP Server

一个 Confluence MCP(Model Context Protocol)服务器:让 AI 在 Cursor 里通过自然语言创建、更新、删除、搜索 Confluence(公司内部也称 KMS)页面。

✨ 特性

  • 页面管理:创建、更新、删除、获取页面(支持 title / pageId)

  • 搜索能力:按关键词搜索、获取子页面、查看页面历史

  • Space 管理:列出当前账号可访问的 Spaces

  • 宏辅助:生成 Confluence Code Macro(storage format),安全插入代码块(规避 InvalidValueException

Related MCP server: Confluence Cloud MCP Server

⚠️ 注意事项(必读)

  • 必须使用 Cursor 的 Agent 模式,才能调用 confluence_* 这组 MCP 工具

  • Cursor mcp.json 里的路径必须是绝对路径

📦 项目结构(以仓库现状为准)

confluence-node/
├── src/
│   └── mcp-server.ts              # MCP Server 源码(TypeScript)
├── dist/
│   ├── mcp-server.js              # 编译产物(Cursor 实际运行的入口)
│   └── mcp-server.js.map
├── dev/
│   ├── index.js                   # 开发/演示脚本(非 MCP)
│   └── test-connection.js         # 连通性测试脚本
├── templates/                     # 模板文件(如有)
├── env-example.txt                # 环境变量示例
├── mcp-config-example.json        # Cursor MCP 配置示例
├── package.json
├── tsconfig.json
└── README.md

🚀 快速开始

1) 安装依赖

npm install

2) 配置环境变量

复制 env-example.txt.env,并填入你的配置:

CONF_BASE_URL=https://your-confluence-instance.atlassian.net
CONF_USERNAME=your-email@example.com
CONF_PASSWORD=your-api-token
CONF_SPACE=YOUR_SPACE_KEY

说明:本项目通过 Confluence REST API + Basic Auth(用户名 + CONF_PASSWORD)访问。

  • Atlassian Cloud:CONF_PASSWORD 通常是 API Token

  • 内部 KMS:以你们实际认证方式为准(可能是 Token 或密码)

3) 构建(生成 dist/

npm run build

4) 配置 Cursor MCP

编辑 ~/.cursor/mcp.json(可参考 mcp-config-example.json),将 args 指向 本仓库的 dist/mcp-server.js 绝对路径

{
  "mcpServers": {
    "confluence": {
      "command": "node",
      "args": ["/绝对路径/到/confluence-node/dist/mcp-server.js"],
      "env": {
        "CONF_BASE_URL": "你的 Confluence/KMS 地址(不要以 / 结尾)",
        "CONF_USERNAME": "你的用户名/邮箱",
        "CONF_PASSWORD": "你的 API Token/密码",
        "CONF_SPACE": "默认 Space Key(可选)"
      }
    }
  }
}

5) 重启 Cursor 并在 Agent 模式使用

  • 完全退出并重启 Cursor

  • 切换到 Agent 模式后再使用(否则 MCP 工具可能不可用)

6) 验证(在 Cursor 里直接问)

列出我可以访问的所有 KMS Spaces

🛠️ 可用工具

类别

工具

说明

Space

confluence_list_spaces

列出可访问的 Spaces

页面操作

confluence_create_page

创建页面

confluence_update_page

更新页面(支持 pageIdspace+title

confluence_upsert_page

创建或更新(存在则更新,否则创建)

confluence_get_page

获取页面详情(含 storage HTML)

confluence_delete_page

删除页面

搜索

confluence_search_pages

搜索页面

confluence_get_child_pages

获取子页面

confluence_get_page_history

查看页面历史

附件

confluence_upload_attachment

上传附件到指定页面(filePath 或 base64)

confluence_build_code_macro

生成 Code Macro(storage format HTML)

🔧 开发与调试

运行 MCP Server(本地)

npm run mcp

测试连通性(推荐先跑)

npm test

使用 MCP Inspector 调试

npx @modelcontextprotocol/inspector node dist/mcp-server.js

Cursor MCP 日志位置

  • macOS:~/Library/Logs/Cursor/

  • Windows:%APPDATA%\\Cursor\\logs\\

🐛 故障排查

Cursor 里看不到 confluence_* 工具

  1. 确认在 Agent 模式下使用

  2. 检查 ~/.cursor/mcp.jsonargs 是否为 绝对路径,并指向 dist/mcp-server.js

  3. 运行 npm run mcp 看是否能正常启动(无语法/依赖错误)

  4. 完全重启 Cursor,并查看日志

认证失败(401/403)

  • 检查 CONF_USERNAME / CONF_PASSWORD 是否正确

  • Atlassian Cloud 请使用 API Token;内部 KMS 以实际策略为准

  • 确认账号对目标 Space 有权限,可用 confluence_list_spaces 验证

Space Key 不确定

先执行:

列出我可以访问的所有 Confluence Spaces

📚 相关文档

  • KMS 别名说明./KMS_ALIAS_README.md

  • Confluence REST APIhttps://developer.atlassian.com/cloud/confluence/rest/v1/intro/

  • MCP 协议https://modelcontextprotocol.io

📄 许可证

MIT

Available Tools

17 tools
confluence_add_commentB

在页面评论区添加评论(可选:回复某条评论)。KMS 是公司内部 Confluence 系统的别名。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYes要评论的页面 ID
contentYes评论内容(Confluence Storage Format HTML;纯文本也可,但需自行转义/包裹)
parentCommentIdNo可选:父评论 ID(用于回复某条评论;不传则为页面下的顶层评论)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It states the tool adds comments (implying a write/mutation operation) but doesn't disclose behavioral traits like required permissions, whether comments are editable/deletable after creation, rate limits, or error conditions. The KMS alias adds minor context but doesn't compensate for missing safety/operational details critical for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two sentences: the first states the core functionality and optional feature, the second provides contextual alias information. It's front-loaded with the main purpose, though the KMS note could be considered slightly extraneous. Overall efficient with minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool (adds comments) with no annotations, no output schema, and 3 parameters, the description is incomplete. It lacks details on authentication needs, error handling, return values, or side effects. While schema coverage is high, the description doesn't compensate for missing behavioral context, making it inadequate for safe agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (pageId, content, parentCommentId) thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., no extra format details for 'content' or examples). Baseline 3 is appropriate as the schema does the heavy lifting, but the description doesn't enhance understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('添加评论' - add comment) and resource ('页面评论区' - page comment section), with an optional capability ('回复某条评论' - reply to a comment). It distinguishes from siblings like 'confluence_get_page_comments' (reads) and 'confluence_search_user_comments' (searches), but doesn't explicitly contrast with other write tools like 'confluence_update_page'. The KMS alias note is helpful but not core to purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for adding comments to pages, with optional replying functionality. However, it provides no explicit guidance on when to use this vs. alternatives (e.g., no mention of 'confluence_update_page' for editing page content instead of comments), nor prerequisites like authentication or permissions. The context is clear but lacks comparative or exclusionary advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_build_code_macroB

生成 Confluence (KMS) 的代码宏(storage format HTML),用于安全插入代码块,避免 InvalidValueException 错误。

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes代码内容(原始文本,会自动用 CDATA 包裹并处理特殊序列)
languageNo可选:语言(支持常见别名,如 js/ts/sh/yml,会自动归一化;无法识别时将省略 language 参数)
linenumbersNo可选:是否显示行号(true/false)
collapseNo可选:是否折叠(true/false)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions safety ('安全插入代码块') and error avoidance ('避免 InvalidValueException 错误'), which hints at behavioral traits like input sanitization. However, it lacks details on permissions required, rate limits, whether it's a read or write operation (implied write from '插入'), response format, or error handling beyond the named exception. For a tool with no annotations, this is insufficient disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the key purpose. It avoids redundancy and wastes no words, though it could be slightly more structured (e.g., by separating purpose from benefits). It's appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 4 parameters with full schema coverage, the description is minimally adequate. It covers the 'what' and 'why' (purpose and error avoidance) but lacks details on behavioral aspects, output, or integration context. For a tool that likely performs a write operation (inserting code), more completeness is needed, but the schema handles parameters well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters (code, language, linenumbers, collapse). The description doesn't add any parameter-specific semantics beyond what's in the schema—it doesn't explain parameter interactions, default behaviors beyond schema defaults, or usage examples. With high schema coverage, the baseline is 3, and the description doesn't compensate with extra insights.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '生成 Confluence (KMS) 的代码宏(storage format HTML),用于安全插入代码块,避免 InvalidValueException 错误。' It specifies the verb ('生成' - generate), resource ('代码宏' - code macro), and context (Confluence/KMS). However, it doesn't explicitly differentiate from sibling tools like 'confluence_update_page' or 'confluence_create_page' that might also handle content insertion, though the focus on code macros is reasonably distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: '用于安全插入代码块,避免 InvalidValueException 错误。' This suggests it should be used when inserting code blocks into Confluence to prevent errors. However, it doesn't provide explicit guidance on when to use this tool versus alternatives (e.g., vs. general page update tools for non-code content), nor does it mention prerequisites or exclusions. The guidance is present but not comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_copy_pageC

复制 Confluence (KMS) 页面到新位置。支持复制页面内容和附件。KMS 是公司内部 Confluence 系统的别名。

ParametersJSON Schema
NameRequiredDescriptionDefault
sourcePageIdYes源页面 ID(要复制的页面)
targetSpaceNo目标 Space Key(如果不提供则使用源页面的 Space)
newTitleYes新页面标题
parentIdNo可选:新页面的父页面 ID
parentTitleNo可选:新页面的父页面标题(会自动查找 ID)
atRootNo可选:是否创建在 Space 根目录
copyAttachmentsNo是否复制附件(默认为 true)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. While it mentions copying content and attachments, it doesn't describe important behavioral aspects: whether this creates a completely independent copy or maintains links to the original, what permissions are required, whether it's an atomic operation, what happens if the target space doesn't exist, or what the tool returns. For a mutation tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with two sentences. The first sentence states the core functionality, and the second provides useful context about KMS. There's no wasted verbiage, though it could be slightly more front-loaded with key behavioral information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 7 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns, what error conditions might occur, or important behavioral constraints. While the schema covers parameter documentation well, the description fails to provide the necessary operational context for a tool that modifies data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds minimal value beyond the schema - it mentions copying attachments (which matches the 'copyAttachments' parameter) and provides context about KMS being an internal system alias. However, it doesn't explain parameter interactions or provide additional semantic context beyond what's in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '复制 Confluence (KMS) 页面到新位置。支持复制页面内容和附件。' This specifies the verb ('复制' - copy), resource ('Confluence (KMS) 页面' - Confluence pages), and scope (content and attachments). It distinguishes from siblings like 'confluence_create_page' (create new) and 'confluence_update_page' (modify existing), but doesn't explicitly differentiate from all possible alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when copying is preferable to creating a new page from scratch, or how it differs from other page manipulation tools like 'confluence_upsert_page'. The only contextual information is that KMS is an internal Confluence system alias, which doesn't help with tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_create_pageC

在指定的 Space 中创建新的 Confluence (KMS) 页面。KMS 是公司内部 Confluence 系统的别名。

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceNoSpace Key,如果不提供则使用环境变量中的 CONF_SPACE
titleYes页面标题
contentNo页面内容(Confluence Storage Format HTML)
parentIdNo可选:父页面 ID,用于创建子页面
parentTitleNo可选:父页面标题(在同一个 space 下查找并解析出 parentId,用于创建子页面)
atRootNo可选:是否创建在 Space 根目录(true/false)。不指定父页面时会先追问确认。

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions that KMS is an alias for the company's Confluence system, which adds some context, but fails to disclose critical behavioral traits such as permissions required, whether the operation is idempotent, error handling, or what happens on success/failure. For a creation tool with no annotations, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, stating the core purpose in a single sentence. The second sentence adds useful context about KMS being an alias, which earns its place. There is no unnecessary verbosity, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a page creation tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It lacks information on behavioral aspects (e.g., permissions, idempotency), output format, error conditions, and usage guidelines relative to siblings. This leaves the agent under-informed for effective tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema fully documents all parameters. The description adds no additional semantic information about parameters beyond what the schema provides, such as examples or usage nuances. With high schema coverage, the baseline score of 3 is appropriate, as the description does not compensate but also does not detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('创建新的 Confluence (KMS) 页面') and resource ('在指定的 Space 中'), which is specific and unambiguous. However, it does not explicitly differentiate from sibling tools like 'confluence_upsert_page' or 'confluence_copy_page', which also involve page creation/modification, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools like 'confluence_upsert_page' (for creating or updating) or 'confluence_copy_page' (for duplicating), nor does it specify prerequisites or contexts for usage, leaving the agent to infer based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_delete_pageC

删除指定的 Confluence (KMS) 页面。KMS 是公司内部 Confluence 系统的别名。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYes要删除的页面 ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('删除' meaning 'delete') but doesn't describe critical traits: whether deletion is permanent or reversible, what permissions are required, if it affects child pages or attachments, or what the response looks like (e.g., success/failure indicators). For a destructive tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences: one stating the tool's purpose and another clarifying 'KMS' as an internal alias. It's front-loaded with the core action, and both sentences add value (the second provides contextual clarification). There's no wasted text, though it could be slightly more structured for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a destructive deletion operation), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like permanence, permissions, or response format, nor does it provide usage guidelines. For a high-stakes tool in a set with many siblings, this leaves the agent under-informed about critical context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the single parameter 'pageId' documented as '要删除的页面 ID' (page ID to delete). The description adds no additional parameter semantics beyond what the schema provides, such as format examples or sourcing instructions. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('删除' meaning 'delete') and resource ('Confluence (KMS) 页面' meaning 'Confluence (KMS) page'), making the purpose explicit. It distinguishes the tool by specifying it deletes pages, unlike siblings that create, update, copy, or retrieve pages. However, it doesn't explicitly differentiate from 'confluence_set_page_restriction' which might also affect page access, though that's a minor gap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing page ID from 'confluence_get_page'), exclusions (e.g., not for deleting attachments or comments), or comparisons to siblings like 'confluence_update_page' for modifications instead of deletion. This lack of context leaves the agent without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_get_child_pagesC

获取指定 Confluence (KMS) 页面的所有子页面。KMS 是公司内部 Confluence 系统的别名。

ParametersJSON Schema
NameRequiredDescriptionDefault
parentIdYes父页面 ID
limitNo返回结果数量限制

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('获取' meaning 'get') but lacks details on permissions required, rate limits, pagination (beyond the 'limit' parameter), error handling, or return format. For a read operation in a system like Confluence, this omission leaves significant gaps in understanding how the tool behaves in practice.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, with a single sentence stating the core purpose and an additional sentence clarifying 'KMS' as an alias. There is no wasted text, and it efficiently communicates the essential information without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a Confluence API tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral aspects (e.g., permissions, errors), output format, and usage context. While the purpose is clear, the absence of structured data means the description should provide more comprehensive guidance to be fully helpful for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with clear parameter definitions ('parentId' as parent page ID and 'limit' as result limit with default 50). The description does not add any semantic details beyond the schema, such as explaining what constitutes a valid 'parentId' or how 'limit' interacts with pagination. Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('获取' meaning 'get') and resource ('指定 Confluence 页面的所有子页面' meaning 'all child pages of a specified Confluence page'), making the purpose explicit. It distinguishes the tool by specifying it retrieves child pages, which differentiates it from siblings like 'confluence_get_page' (single page) or 'confluence_search_pages' (search). However, it doesn't explicitly contrast with all siblings, such as 'confluence_get_page_history' or 'confluence_get_page_comments', which also retrieve page-related data but for different aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention scenarios like navigating page hierarchies, comparing with 'confluence_get_page' for parent details, or using 'confluence_search_pages' for broader queries. Without such context, users must infer usage from the tool name and purpose alone, which is insufficient for optimal selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_get_pageC

获取指定 Confluence (KMS) 页面的详细信息。KMS 是公司内部 Confluence 系统的别名。

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceNoSpace Key
titleNo页面标题
pageIdNo页面 ID(如果提供则直接使用 ID)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it states the tool retrieves page details, it doesn't disclose important behavioral aspects like authentication requirements, rate limits, error conditions, what specific details are returned, or whether this is a read-only operation (though implied by 'get'). For a tool with no annotation coverage, this represents a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with two sentences that efficiently convey the tool's purpose and clarify the KMS terminology. Every sentence earns its place, though it could be slightly more front-loaded by immediately stating it retrieves page details rather than starting with the KMS explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's purpose (retrieving detailed page information), the absence of both annotations and an output schema means the description should do more to explain what '详细信息' (detailed information) includes and the tool's behavioral characteristics. The description is too minimal for a tool that presumably returns complex page data in a system with many sibling alternatives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with all three parameters clearly documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema descriptions. According to the scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('获取' meaning 'get/retrieve') and resource ('Confluence (KMS) 页面的详细信息' meaning 'detailed information of Confluence (KMS) page'), and explains that KMS is an alias for the company's internal Confluence system. However, it doesn't explicitly differentiate from sibling tools like 'confluence_get_child_pages' or 'confluence_get_page_history' which also retrieve page-related information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools that retrieve page information (e.g., 'confluence_get_child_pages', 'confluence_get_page_history', 'confluence_search_pages'), there's no indication of when this specific 'get page details' tool is appropriate versus those other options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_get_page_attachmentsC

获取指定 Confluence (KMS) 页面的所有附件列表。KMS 是公司内部 Confluence 系统的别名。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYes页面 ID
limitNo返回结果数量限制

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions it retrieves '所有附件列表' (all attachments list) but doesn't disclose behavioral traits like: whether this is paginated (though limit parameter suggests it might be), what format attachments are returned in, whether it requires specific permissions, error conditions, or rate limits. For a retrieval tool with zero annotation coverage, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that efficiently state the purpose and clarify KMS as an internal alias. No wasted words, though the second sentence about KMS being an alias could be considered slightly extraneous if the agent already understands the context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a retrieval tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the return value looks like (list format, attachment metadata fields), error handling, or behavioral constraints. With 2 parameters and no structured output information, the description should provide more context about the operation's results and limitations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters (pageId, limit) with descriptions. The description doesn't add any parameter-specific information beyond what's in the schema - it doesn't explain what constitutes a valid pageId, typical limit values, or how limit interacts with pagination. Baseline 3 is appropriate when schema does the documentation work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('获取...所有附件列表' - get all attachments list) and resource ('指定 Confluence (KMS) 页面' - specified Confluence/KMS page). It distinguishes from siblings like 'confluence_upload_attachment' (upload) and 'confluence_get_page' (get page content), but doesn't explicitly differentiate from other list/retrieval tools like 'confluence_get_child_pages' or 'confluence_get_page_comments'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It doesn't mention when you'd use this versus 'confluence_get_page' (which might include attachments), 'confluence_search_pages' (which could find pages with attachments), or other attachment-related operations. The description only states what it does, not when to choose it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_get_page_commentsB

获取指定 Confluence (KMS) 页面的所有评论(包括回复)。KMS 是公司内部 Confluence 系统的别名。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYes页面 ID
limitNo返回评论数量限制

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It describes the action (get comments) but lacks behavioral details such as whether this is a read-only operation, if there are rate limits, authentication needs, pagination behavior (beyond the 'limit' parameter), or what the output format looks like. This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with zero waste. The first sentence states the purpose clearly, and the second adds useful contextual clarification about KMS. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (fetching comments with a limit parameter), no annotations, and no output schema, the description is incomplete. It lacks details on behavioral aspects (e.g., read-only nature, error handling) and output format, which are crucial for an agent to use the tool correctly. The description does not compensate for these gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters ('pageId' and 'limit') adequately. The description does not add any additional meaning or context beyond what the schema provides, such as examples of pageId format or how limit interacts with pagination. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('获取' meaning 'get') and resource ('指定 Confluence (KMS) 页面的所有评论(包括回复)' meaning 'all comments including replies for a specified Confluence (KMS) page'), and distinguishes from siblings like 'confluence_search_user_comments' by specifying it's page-specific rather than user-specific. The clarification about KMS being an internal alias adds helpful context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (getting comments for a specific page), but does not explicitly state when to use this tool versus alternatives like 'confluence_search_user_comments' or 'confluence_get_page' (which might include comments). No exclusions or prerequisites are mentioned, leaving some ambiguity for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_get_page_historyB

获取 Confluence (KMS) 页面的版本历史。KMS 是公司内部 Confluence 系统的别名。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYes页面 ID
limitNo返回历史记录数量

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves version history but doesn't describe the return format (e.g., list of versions with metadata), pagination behavior (implied by 'limit' parameter), or any constraints like rate limits or authentication needs. For a read operation with zero annotation coverage, this leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, consisting of two sentences: the first states the core purpose, and the second clarifies the KMS alias. Every sentence adds value without redundancy, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (retrieving version history), lack of annotations, and no output schema, the description is minimally adequate. It covers the basic purpose and clarifies the KMS alias, but lacks details on return values, behavioral traits, or usage context. This leaves the agent with gaps in understanding how to interpret results or handle edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear descriptions for both parameters: 'pageId' as '页面 ID' and 'limit' as '返回历史记录数量' with a default of 10. The description adds no additional parameter semantics beyond what the schema provides, such as format details for pageId or usage tips for limit. Baseline 3 is appropriate given the schema handles documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '获取 Confluence (KMS) 页面的版本历史' (Get Confluence page version history). It specifies the verb '获取' (get) and resource '页面版本历史' (page version history), and clarifies that KMS is an internal alias for Confluence. However, it doesn't explicitly differentiate from sibling tools like 'confluence_get_page' or 'confluence_get_page_comments' beyond the general 'version history' focus.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'confluence_get_page' (for current content) or 'confluence_get_page_comments' (for comments), nor does it specify prerequisites such as needing a valid page ID. Usage is implied only by the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_list_spacesB

列出当前用户可访问的所有 Confluence (KMS) Spaces。注意:KMS 是公司内部对 Confluence 知识管理系统的别名,两者是同一个系统。

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoSpace 类型: global 或 personalglobal

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool lists spaces accessible to the current user, implying a read-only operation, but does not cover critical aspects like authentication requirements, rate limits, pagination, error handling, or the format of returned data. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured in two sentences. The first sentence directly states the tool's purpose, and the second adds clarifying context about the KMS alias without redundancy. Every sentence earns its place, and there is no unnecessary verbiage or under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and clarifies the KMS alias, but lacks details on behavioral aspects like authentication, data format, or error handling. Without annotations or an output schema, more context would be beneficial, but it's not entirely incomplete for a simple listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'type' fully documented (including enum values and default). The description does not add any parameter-specific information beyond what the schema provides, such as explaining the implications of 'global' vs. 'personal' spaces in more detail. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '列出当前用户可访问的所有 Confluence (KMS) Spaces' (List all Confluence/KMS Spaces accessible to the current user). It specifies the verb ('列出' - list) and resource ('Spaces'), but does not explicitly differentiate from sibling tools like 'confluence_search_pages' or 'confluence_get_page', which focus on pages rather than spaces. The clarification about KMS being an internal alias for Confluence adds useful context but doesn't enhance sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions that it lists spaces accessible to the current user, but does not specify scenarios where this is preferred over other tools (e.g., for space-level operations vs. page-level searches). There is no mention of prerequisites, exclusions, or comparisons to sibling tools, leaving usage context implied at best.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_search_pagesC

在 Confluence (KMS) 中搜索页面。KMS 是公司内部 Confluence 知识管理系统的别名。

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes搜索关键词
spaceNo可选:限制在指定 Space 中搜索
limitNo返回结果数量限制

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It only states what the tool does (search pages) without describing any behavioral traits like pagination behavior, rate limits, authentication requirements, search scope limitations beyond the space parameter, or what the response format looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just two sentences that directly state the tool's purpose and provide useful context about KMS being an internal alias. Every word earns its place with zero wasted content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with 3 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the search returns, how results are formatted, whether there's pagination, or any behavioral constraints. The KMS context is helpful but insufficient for a tool with this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already fully documents all three parameters. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain search syntax, space naming conventions, or result ordering. The baseline 3 is appropriate when the schema does all the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches pages in Confluence (KMS), providing a specific verb ('搜索' - search) and resource ('页面' - pages). It distinguishes the tool by mentioning KMS as an internal alias, but doesn't explicitly differentiate it from sibling search tools like 'confluence_search_user_comments'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to use this search tool versus other search tools like 'confluence_search_user_comments' or when to use search versus browsing tools like 'confluence_get_child_pages' or 'confluence_list_spaces'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_search_user_commentsB

搜索指定用户在 Confluence (KMS) 中发表的所有评论。可按 Space 和日期范围筛选。KMS 是公司内部 Confluence 系统的别名。

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYes用户名(评论作者)
spaceNo可选:限制在指定 Space 中搜索
startDateNo可选:开始日期(格式:YYYY-MM-DD),搜索该日期及之后的评论
endDateNo可选:结束日期(格式:YYYY-MM-DD),搜索该日期及之前的评论
limitNo返回结果数量限制

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions filtering capabilities (Space and date range) and notes that KMS is an internal alias, but fails to describe critical behaviors such as pagination (implied by 'limit' parameter but not explained), authentication requirements, rate limits, error handling, or what the output format looks like (e.g., list of comments with metadata). For a search tool with no annotation coverage, this leaves significant gaps in understanding how the tool behaves beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, stating the core purpose in the first sentence and adding filtering details and context in subsequent sentences. It avoids redundancy and wastes no words, though it could be slightly more structured (e.g., separating functional description from contextual notes). Overall, it's efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (search with filtering), lack of annotations, and absence of an output schema, the description is incomplete. It covers the basic purpose and filtering options but omits essential context such as return value format, pagination behavior (beyond the 'limit' parameter), authentication needs, error cases, and how results are ordered or truncated. For a tool with no structured output documentation, this leaves the agent with insufficient information to handle responses effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with clear documentation for all 5 parameters (e.g., username, space, startDate, endDate, limit). The description adds minimal value beyond the schema by mentioning Space and date range filtering, but doesn't provide additional semantics like format details beyond what's in the schema (e.g., date format is already specified). With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't significantly enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '搜索指定用户在 Confluence (KMS) 中发表的所有评论' (search for all comments by a specified user in Confluence/KMS). It specifies the resource (comments) and verb (search), and distinguishes from siblings like 'confluence_get_page_comments' by focusing on user-based rather than page-based comment retrieval. However, it doesn't explicitly differentiate from other search tools like 'confluence_search_pages' beyond mentioning '评论' (comments).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by stating '可按 Space 和日期范围筛选' (can filter by Space and date range), which suggests when to apply optional parameters. It doesn't provide explicit guidance on when to use this tool versus alternatives like 'confluence_get_page_comments' or 'confluence_search_pages', nor does it mention prerequisites or exclusions. The context is clear but lacks comparative or conditional directives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_set_page_restrictionA

设置 Confluence (KMS) 页面的访问权限。支持三种模式:无限制(所有人可访问)、限制编辑(所有人可查看但只有指定用户可编辑)、只有自己能查看(只有指定用户可查看和编辑)。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYes页面 ID
restrictionTypeYes权限类型:none(无限制)、edit_only(限制编辑,所有人可查看)、view_only(只有自己能查看和编辑)
usernameNo可选:指定用户名(默认使用当前登录用户)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the three restriction modes and their effects (e.g., '所有人可查看但只有指定用户可编辑' - everyone can view but only specified users can edit), which is helpful. However, it doesn't mention authentication requirements, rate limits, error conditions, or whether the operation is idempotent. For a permission-setting tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently explains the tool's purpose and the three restriction modes. Every part earns its place: it states what the tool does, specifies the resource, and details the available options without redundancy or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a permission-setting tool with no annotations and no output schema, the description provides adequate basic information about what the tool does and the restriction modes. However, it lacks details about return values, error handling, side effects, or prerequisites (e.g., required permissions). Given the complexity of access control operations, more context would be beneficial for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds marginal value by reinforcing the meaning of restrictionType through the mode explanations, but doesn't provide additional syntax, format details, or examples beyond what's in the schema. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '设置 Confluence (KMS) 页面的访问权限' (sets Confluence page access permissions). It specifies the exact action (setting permissions) and resource (Confluence pages), and distinguishes itself from siblings like confluence_update_page or confluence_delete_page by focusing specifically on permission management rather than content modification or deletion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool by detailing the three restriction modes (none, edit_only, view_only). However, it doesn't explicitly state when NOT to use it or mention alternatives among sibling tools (e.g., whether confluence_update_page might also handle permissions). The guidance is implicit through the mode descriptions but lacks explicit exclusions or comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_update_pageC

更新现有的 Confluence (KMS) 页面。KMS 是公司内部 Confluence 系统的别名。

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceNoSpace Key
titleNo页面标题(用于查找页面)
pageIdNo页面 ID(如果提供则直接使用 ID 而不是标题查找)
contentNo新的页面内容
newTitleNo可选:新的页面标题

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states it's an update operation, implying mutation, but doesn't disclose behavioral traits like required permissions, whether changes are reversible, rate limits, or what happens if the page doesn't exist. For a mutation tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences: one stating the purpose and another clarifying KMS as an alias. It's front-loaded with the core action, though it could be slightly more structured by hinting at key parameters like 'content'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with no annotations, no output schema, and 5 parameters, the description is incomplete. It lacks details on behavior (e.g., error handling, side effects), usage context, and output expectations, making it inadequate for safe and effective tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters (space, title, pageId, content, newTitle). The description adds no parameter-specific information beyond what's in the schema, such as how 'title' and 'pageId' interact or content format requirements. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('更新' meaning 'update') and resource ('现有的 Confluence (KMS) 页面' meaning 'existing Confluence (KMS) page'), and clarifies that KMS is an internal alias. It distinguishes from siblings like 'confluence_create_page' (create vs update) but doesn't explicitly differentiate from 'confluence_upsert_page' (update vs upsert).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing page ID or title), exclusions, or comparisons to siblings like 'confluence_upsert_page' (which might handle creation if page doesn't exist) or 'confluence_copy_page' (which duplicates content).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_upload_attachmentA

上传附件到指定 Confluence (KMS) 页面。支持本地文件路径(filePath)或 base64 内容(contentBase64)。注意:需要页面编辑权限。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYes要上传附件的页面 ID
filePathNo本地文件路径(优先使用)。建议使用绝对路径。
filenameNo附件文件名(当使用 contentBase64 时必填;使用 filePath 时可选)
contentBase64No附件内容 base64(与 filename 配合使用;与 filePath 二选一)
commentNo可选:附件备注

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the permission requirement ('需要页面编辑权限') and mentions the two input methods (filePath vs contentBase64), which is useful context. However, it doesn't describe what happens on success/failure, whether the operation is idempotent, rate limits, or file size restrictions. For a mutation tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise - two sentences that each earn their place. The first sentence states the core purpose and supported input methods. The second sentence provides crucial permission information. No wasted words, and the most important information (what the tool does) is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 5 parameters, no annotations, and no output schema, the description is adequate but has clear gaps. It covers the basic purpose, input methods, and permission requirement, but doesn't describe the return value, error conditions, or behavioral constraints. Given the complexity of file upload operations and lack of structured metadata, more contextual information would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds minimal value beyond the schema - it mentions the two input methods (filePath/contentBase64) and their relationship, but doesn't provide additional syntax, format details, or constraints beyond what's in the parameter descriptions. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('上传附件' - upload attachment) and target resource ('指定 Confluence (KMS) 页面' - specified Confluence page), distinguishing it from sibling tools like confluence_get_page_attachments (which retrieves attachments) and confluence_update_page (which modifies page content). The mention of Confluence/KMS provides additional context about the platform.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when to use this tool ('上传附件到指定 Confluence 页面' - upload attachment to specified Confluence page) and mentions permission requirements ('需要页面编辑权限' - requires page edit permission). However, it doesn't explicitly state when NOT to use it or name specific alternative tools from the sibling list for different attachment-related operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_upsert_pageA

创建或更新 Confluence (KMS) 页面(如果页面存在则更新,否则创建)。KMS 是公司内部 Confluence 系统的别名。

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceNoSpace Key
titleYes页面标题
contentNo页面内容
parentIdNo可选:父页面 ID(仅在创建新页面时使用)
parentTitleNo可选:父页面标题(仅在创建新页面时使用;会在同一个 space 下查找并解析出 parentId)
atRootNo可选:是否创建在 Space 根目录(true/false)。不指定父页面时会先追问确认。

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It states the upsert behavior but doesn't disclose critical behavioral traits like required permissions, whether this is a destructive operation, rate limits, or what happens on conflicts. For a write operation tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two sentences that efficiently explain the core functionality and system context. It's front-loaded with the main purpose and avoids unnecessary elaboration. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It explains the upsert behavior but lacks information about required permissions, error conditions, return values, or system constraints. Given the complexity and lack of structured data, more contextual information would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't need to.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('创建或更新' - create or update) and resource ('Confluence (KMS) 页面' - Confluence page), with specific conditional logic ('如果页面存在则更新,否则创建' - update if page exists, otherwise create). It distinguishes from siblings like 'confluence_create_page' and 'confluence_update_page' by combining both operations into one tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by mentioning KMS as an internal system alias, but doesn't explicitly state when to use this tool versus alternatives like 'confluence_create_page' or 'confluence_update_page'. It provides clear operational logic (upsert behavior) but lacks explicit comparison to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 17 tool updates
    • First observedconfluence_add_comment
    • First observedconfluence_build_code_macro
    • First observedconfluence_copy_page
    • First observedconfluence_create_page
    • First observedconfluence_delete_page
    • First observedconfluence_get_child_pages
    • First observedconfluence_get_page
    • First observedconfluence_get_page_attachments
    • First observedconfluence_get_page_comments
    • First observedconfluence_get_page_history
    • First observedconfluence_list_spaces
    • First observedconfluence_search_pages
    • First observedconfluence_search_user_comments
    • First observedconfluence_set_page_restriction
    • First observedconfluence_update_page
    • First observedconfluence_upload_attachment
    • First observedconfluence_upsert_page

TDQS

A3.5/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose targeting specific Confluence operations like page management, comments, attachments, or searches. There is no overlap; for example, get_page, update_page, and upsert_page each serve unique functions, and tools like add_comment versus get_page_comments are well differentiated.

Naming Consistency5/5

All tools follow a consistent 'confluence_verb_noun' pattern in snake_case, such as confluence_create_page and confluence_get_child_pages. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming style.

Tool Count4/5

With 17 tools, the count is slightly high but reasonable for a comprehensive Confluence server covering pages, comments, attachments, spaces, and searches. It includes essential operations without being overly bloated, though it borders on the upper limit of typical scopes.

Completeness5/5

The tool set provides complete CRUD and lifecycle coverage for Confluence, including create, read, update, delete, copy, and upsert for pages, plus operations for comments, attachments, spaces, searches, and permissions. There are no obvious gaps; all core workflows are supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/caijohnny/confluence-node'

If you have feedback or need assistance with the MCP directory API, please join our Discord server