confluence-mcp-server
This MCP server provides comprehensive tools to interact with Atlassian Confluence Cloud, Server, and Data Center, enabling search, reading, creating, updating, and managing pages and attachments with safe, token-efficient workflows.
Search & Discovery
Search pages by keyword (optionally filtered by space) or execute raw CQL queries.
Reading Pages
Fetch full page content in Confluence storage (XHTML) format.
Get a page outline (headings only) for low-token navigation.
Read a specific section by heading or a content block defined by named anchor macros.
Creating & Updating Pages
Create new pages with an optional parent and space.
Update full page content with auto-incremented versioning.
Update a specific section by heading — the server handles the full-page read/write automatically.
Two-Phase Safe Updates (Preview + Confirm)
Preview heading-based or anchor-based section updates to review changes and receive a confirmation hash.
Commit updates only if the hash still matches current content, preventing conflicting changes.
Anchor Management
Insert invisible start/end anchor macros around a heading-based section for stable future targeting.
Staged (Draft) Updates
Stage full-page, section, or anchor-block updates in memory without immediately writing to Confluence.
List, view (with diff), commit (with hash verification), or discard staged drafts.
Attachments
Upload files to a Confluence page via local path or base64 data, with overwrite control; returns image markup for embedding.
User & Connection
Retrieve the currently authenticated Confluence user.
Provides tools for searching, reading, creating, updating pages, uploading attachments, and querying users in Confluence Cloud, Server, or Data Center.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@confluence-mcp-serversearch for pages about API design"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
confluence-mcp-server
一个面向 Confluence Cloud / Server / Data Center 的 MCP 服务,提供页面搜索、CQL 查询、读取、创建、更新、附件上传和用户身份查询能力。
功能
confluence_search_pages: 按关键词搜索页面confluence_execute_cql_search: 执行原生 CQL 查询confluence_get_page: 按页面 ID 获取内容(storage 格式)confluence_get_page_outline: 获取页面标题目录,适合低 token 导航confluence_get_page_section: 按标题读取单个 section,避免把整页正文返回给模型confluence_get_page_anchor_block: 按 Anchor 起止边界读取块内容confluence_create_page: 创建页面(支持可选parentId)confluence_update_page: 更新页面内容并自动递增版本confluence_update_page_section: 按标题更新单个 section,由 MCP 服务端完成整页替换与提交confluence_preview_page_section_update: 预览按标题更新的命中范围,返回旧内容和确认 hashconfluence_update_page_section_confirmed: 带 hash 确认提交按标题更新,避免 preview 后内容已变化confluence_add_anchor_block_to_section: 给一个标题 section 自动加上起止 Anchor,便于后续稳定更新confluence_preview_page_anchor_block_update: 预览按 Anchor 范围更新的命中块,返回旧内容和确认 hashconfluence_update_page_anchor_block_confirmed: 带 hash 确认提交 Anchor 范围更新confluence_stage_page_update: 暂存整页改动到 MCP 服务端内存,不提交到 Confluenceconfluence_stage_page_section_update: 暂存标题 section 改动到 MCP 服务端内存,不提交到 Confluenceconfluence_stage_page_anchor_block_update: 暂存 Anchor 块改动到 MCP 服务端内存,不提交到 Confluenceconfluence_list_pending_page_updates: 列出当前 MCP 进程里的未提交 wiki 改动confluence_get_pending_page_update: 查看某个未提交改动的 old/new/diff 内容confluence_commit_pending_page_update: 校验 hash 后把某个未提交改动真正提交到 Confluenceconfluence_discard_pending_page_update: 丢弃某个未提交改动confluence_upload_attachment: 上传页面附件(支持本地文件路径或 base64,同名附件默认更新为新版本)confluence_get_current_user: 获取当前认证用户(whoami)
Related MCP server: confluence-mcp
环境要求
Node.js 18+
可访问的 Confluence Cloud / Server / Data Center
快速开始
npm install
npm run build
npm start通过 npx 使用(推荐)
发布到 npm 后,可在 MCP 客户端中直接使用 npx 启动,无需手动克隆仓库:
{
"mcpServers": {
"confluence": {
"command": "npx",
"args": ["-y", "confluence-mcp-server"],
"env": {
"CONF_MODE": "server",
"CONF_BASE_URL": "https://confluence.example.com",
"CONF_USERNAME": "your-username",
"CONF_TOKEN": "your-token",
"CONF_DEFAULT_SPACE": "DOC"
}
}
}
}也可以不在客户端配置里写连接信息,先只启动 MCP 服务:
{
"mcpServers": {
"confluence": {
"command": "npx",
"args": ["-y", "confluence-mcp-server"]
}
}
}然后在对话里提供连接参数,让模型先调用 confluence_configure_connection:
{
"baseUrl": "https://confluence.example.com",
"mode": "server",
"authMode": "auto",
"username": "your-username",
"token": "your-token",
"defaultSpace": "DOC"
}该配置只保存在当前 MCP 服务进程内存中,重启后会丢失。长期使用仍建议放在 MCP 客户端的环境变量配置里,避免在对话上下文中暴露密钥。
如果当前进程已经有连接(例如通过环境变量连到了旧地址),也可以只切换部分字段。比如只把地址从一台 Confluence 切到另一台、账号密码不变:
{
"baseUrl": "http://192.168.40.82:8090"
}未传的 mode、认证信息和 defaultSpace 会继承当前连接;如果显式传入 token / password / username / authMode,则会重新计算认证。
环境变量
CONF_BASE_URL: Confluence 基础地址,例如https://confluence.example.comCONF_MODE: 部署模式,cloud或server(默认server)CONF_AUTH_MODE: 认证模式,auto/basic/bearer(默认auto)CONF_USERNAME: 登录用户名(Cloud 必填;Server 在basic模式或使用密码时必填)CONF_PASSWORD: 用户密码(与CONF_TOKEN组合按模式使用)CONF_TOKEN: 访问令牌(Cloud 下作为 API Token;Server 下默认走 Bearer)CONF_DEFAULT_SPACE: 默认空间 Key(可选)
如果未设置这些环境变量,服务会以“未配置连接”的状态启动;此时先调用 confluence_configure_connection 即可。可用 confluence_get_connection_status 查看当前连接状态,该工具不会返回 token/password。
MCP 客户端配置示例
{
"mcpServers": {
"confluence": {
"command": "node",
"args": ["dist/index.js"],
"env": {
"CONF_MODE": "server",
"CONF_BASE_URL": "https://confluence.example.com",
"CONF_USERNAME": "your-username",
"CONF_TOKEN": "your-token",
"CONF_DEFAULT_SPACE": "DOC"
}
}
}
}说明
该项目当前聚焦 Confluence 能力,不包含 Jira 工具。
Cloud 模式固定使用 Basic(
CONF_USERNAME+CONF_TOKEN/CONF_PASSWORD)。Server 模式可用 Bearer 或 Basic(
CONF_AUTH_MODE=auto时优先 Bearer)。Cloud 模式 API 基础路径为
/wiki/rest/api,Server 模式为/rest/api。上传图片后,
confluence_upload_attachment会返回storageImageMarkup,可把它拼到confluence_update_page的bodyStorageValue中展示图片。Confluence 原生更新仍是整页版本化
PUT;confluence_update_page_section只是把“整页读取 + 局部替换 + 整页提交”放在 MCP 服务端完成,从而显著减少模型侧 tokens。两阶段更新不会减少 Confluence 侧请求次数,但会显著降低误改风险:preview 返回旧内容和
expectedCurrentHash,confirmed update 会重新拉取页面并校验 hash 一致后才提交。暂存更新工具会把改动保存在当前 MCP 服务端进程内存中,不会调用 Confluence
PUT;重启 MCP 服务后这些未提交草稿会丢失。Anchor 模式使用 Confluence Anchor 宏作为隐形边界,适合长期自动维护固定区域;普通阅读模式下通常不会显示这些锚点。
低 Token 推荐流程
先用
confluence_search_pages或confluence_execute_cql_search定位页面。再用
confluence_get_page_outline获取标题目录,不直接读整页正文。用
confluence_get_page_section按heading拉取需要处理的 section。修改完成后,用
confluence_update_page_section只提交该 section 的 storage 内容。
如果页面里存在重复标题,可以配合 occurrence 指定第几个同名标题;matchMode=contains 可用于模糊匹配标题。
更安全的两阶段更新
先调用
confluence_preview_page_section_update。检查返回的
oldStorageValue和newStorageValue是否符合预期。把返回的
expectedCurrentHash原样传给confluence_update_page_section_confirmed。服务端会重新拉取页面并校验 hash,一致才真正提交更新。
未提交改动流程
如果希望 AI 先改 wiki、你检查后再决定是否真正保存,可以使用暂存工具:
用
confluence_stage_page_section_update、confluence_stage_page_anchor_block_update或confluence_stage_page_update创建未提交草稿。检查返回的
oldStorageValue、newStorageValue、diffStorageValue和draftId。需要稍后查看时,用
confluence_list_pending_page_updates或confluence_get_pending_page_update。确认保存时,用
confluence_commit_pending_page_update提交;服务端会重新拉取页面并校验expectedCurrentHash,一致才写入 Confluence。不想保存时,用
confluence_discard_pending_page_update丢弃。
这些草稿只存在于当前 MCP 服务端内存,不会出现在 Confluence 页面历史里,也不会跨服务重启持久化。
更稳定的 Anchor 更新
先用
confluence_add_anchor_block_to_section给目标 section 加上startAnchor/endAnchor。后续读取时用
confluence_get_page_anchor_block。更新时先用
confluence_preview_page_anchor_block_update,确认后再调用confluence_update_page_anchor_block_confirmed。
Anchor 名称建议使用业务语义化命名,例如 risk-summary-start、risk-summary-end,避免依赖标题文本本身。
Available Tools
23 toolsconfluence_add_anchor_block_to_sectionA
Insert invisible start/end anchor macros around a heading-based section so later updates can target a stable block instead of relying on heading matching.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| heading | Yes | Heading text used to locate the section | |
| startAnchor | Yes | Start anchor name to insert before the section | |
| endAnchor | Yes | End anchor name to insert after the section | |
| occurrence | No | When the same heading appears multiple times, choose which occurrence (default 1) | |
| matchMode | No | Heading match mode: exact or contains (default exact) | |
| title | No | New page title (keeps current title if omitted) | |
| minorEdit | No | Whether this is a minor edit (default true) | |
| message | No | Version update message / change comment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It mentions the anchors are 'invisible', which is useful, but it lacks information about side effects (e.g., modifications to the page), required permissions, failure states (e.g., heading not found), and return value. The description adds some behavioral context but is incomplete 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the action, purpose, and advantage. Every word earns its place, with no redundant or unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (9 parameters, no output schema, no annotations), the description is brief. It explains the core purpose but lacks guidance on usage context, error handling, and what the tool returns. For a page-modifying operation, more context would be beneficial, but the description is minimally adequate for an AI agent to infer basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameter descriptions, so the baseline is 3. The description does not add additional meaning beyond what the schema provides; it only explains the overall purpose. No per-parameter details or clarifications are given in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Insert invisible start/end anchor macros') and the resource ('around a heading-based section'). It explicitly differentiates from siblings by noting the benefit: 'so later updates can target a stable block instead of relying on heading matching', distinguishing it from other update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when stable targeting is needed), but it does not explicitly state when not to use it or provide direct alternatives among the sibling tools. No 'when not to use' or 'prefer X instead' guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_commit_pending_page_updateA
Commit one staged page update to Confluence by draftId after re-reading and hash-checking the current content.
| Name | Required | Description | Default |
|---|---|---|---|
| draftId | Yes | Draft ID returned by a stage tool | |
| minorEdit | No | Whether this is a minor edit (default true) | |
| message | No | Version update message / change comment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds important behavioral context: the tool re-reads and hash-checks current content before committing, which implies a safety mechanism. However, it does not detail error handling or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence under 20 words, with no waste. It front-loads the core action and unique behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a commit tool with 3 parameters and no output schema, the description covers the action and safety check. It could mention expected outcomes (e.g., success or failure indication) but is largely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and all parameters have descriptions. The description adds no additional parameter information beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Commit'), the resource ('staged page update'), and the method ('by draftId after re-reading and hash-checking'). It distinguishes from sibling tools like 'discard' or direct 'update'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after staging, but does not explicitly state when to use this tool vs alternatives (e.g., 'update_page' vs 'commit_pending'), nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_create_pageC
Create a Confluence page. Supports optional parentId. Returns unified fields.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Page title | |
| bodyStorageValue | Yes | Page body in Confluence storage format (XHTML) | |
| spaceKey | No | Confluence space key (uses CONF_DEFAULT_SPACE if omitted) | |
| parentId | No | Optional parent page ID (ancestor) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It states 'Create a Confluence page' and 'Returns unified fields' but does not disclose side effects (e.g., whether the page is immediately visible), required permissions, or potential errors (e.g., title conflicts). The output 'unified fields' is vague and lacks explanation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with three short sentences. It is front-loaded with the core purpose. However, it omits useful behavioral details that could be included without excessive length, such as the effect of a missing spaceKey or the return value structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the Confluence ecosystem with many sibling tools for staging and updating, the description lacks completeness. It does not clarify how this create tool interacts with the staging workflow, nor does it explain what 'unified fields' means. The absence of an output schema is not compensated by the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameter descriptions, providing clear definitions for title, bodyStorageValue, spaceKey, and parentId. The description adds minimal additional meaning beyond the schema, only mentioning that parentId is optional. This meets the baseline but does not compensate for gaps since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a Confluence page and mentions the optional parentId. The verb 'create' and resource 'page' are specific. However, it does not elaborate on what type of page (e.g., wiki page, blog post) or distinguish from similar sibling tools like `confluence_update_page`, but this is partially captured by the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., `confluence_stage_page_update` or `confluence_update_page`). It does not specify prerequisites, such as needing the Confluence space key or handling duplicates. No when-not-to-use information is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_discard_pending_page_updateA
Discard one staged page update by draftId without writing it to Confluence.
| Name | Required | Description | Default |
|---|---|---|---|
| draftId | Yes | Draft ID returned by a stage tool |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It correctly states the tool discards without writing, but omits details about reversibility, authorization needs, or error conditions. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of 11 words, front-loads the action, no redundant information. Every word is necessary and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is fairly complete. It covers the core behavior and fits well within the sibling workflow. Missing details like return value or errors, but acceptable given simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already describes 'draftId' as returned by a stage tool. The description adds no extra meaning beyond rephrasing the parameter. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'discard' on a specific resource 'staged page update' and distinguishes it from siblings like commit by noting it does not write. The verb and resource are precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use (to undo a staged update) and its relation to the stage-commit-discard workflow. However, it does not explicitly state when not to use or list alternatives like 'commit_pending_page_update'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_execute_cql_searchB
Execute raw Confluence CQL search. Returns unified fields: id, type, title, spaceKey, url, version.
| Name | Required | Description | Default |
|---|---|---|---|
| cql | Yes | Raw Confluence CQL expression | |
| limit | No | Max results to return (default 10, max 50) | |
| expand | No | Comma-separated expand fields (default: space,version) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states it 'executes a search' and lists return fields, omitting read-only nature, potential performance implications, or error handling. The description is insufficient for an agent to understand side effects or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence plus a list of return fields. Every word adds value, and no extraneous information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists the return fields but does not explain pagination, CQL syntax considerations, or error behavior. Since there is no output schema, it provides partial context but is missing important details for a raw query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all parameters with descriptions, achieving 100% coverage. The description does not add new parameter semantics but mentions the unified return fields, which is useful but not param-specific. Baseline score at 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Execute raw Confluence CQL search') and lists return fields, making the core purpose obvious. However, it does not differentiate from the sibling tool 'confluence_search_pages', which may serve a similar but more structured search function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this raw CQL search versus alternatives like 'confluence_search_pages'. An agent receives no context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_get_current_userA
Get current authenticated Confluence user (whoami).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description alone must convey behavioral traits. It only states the action without disclosing output format, required permissions, or side effects, leaving notable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that immediately conveys the tool's purpose without filler. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description is mostly adequate. However, it omits any information about the returned user object structure, which would be helpful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so schema coverage is trivial (100%). The description adds no parameter information, but baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and a clear resource 'current authenticated Confluence user', with an alias 'whoami'. It is distinct from sibling tools which deal with pages, sections, and updates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving the current user, and no sibling tool serves a similar purpose, so context is clear. However, no explicit when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_get_pageB
Get a Confluence page by ID. Returns unified fields and bodyStorageValue.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| expand | No | Comma-separated expand fields (default: body.storage,version,space) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states that it 'Get's a page, implying a read-only operation, but does not disclose any behavioral traits such as authentication requirements, rate limits, or side effects. With no annotations present, the description should provide more context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two short sentences with no redundant information. Every word contributes to the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain the return format more thoroughly. It mentions 'unified fields and bodyStorageValue' but does not clarify the structure or list other possible fields. This is moderately complete for a simple get tool but leaves ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for both parameters. The description does not add new meaning beyond what the schema offers, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('a Confluence page by ID'), and the return value ('unified fields and bodyStorageValue'). This distinguishes it from sibling tools like 'confluence_search_pages' or 'confluence_create_page'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it does not mention that this tool is best when you have a known page ID, whereas search_pages is for querying by criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_get_page_anchor_blockA
Get a page block between two invisible anchor macros. Returns only the matched block to save tokens.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| startAnchor | Yes | Start anchor name | |
| endAnchor | Yes | End anchor name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It states the tool returns only the matched block but does not clarify behavior when anchors are missing or if there are multiple matches. No side effects, limitations, or return format details are given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys purpose and benefit without excess. Every word contributes value, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three required parameters and no output schema, the description covers the basic function but lacks details on error handling, anchor existence, or the format of the returned block. It is adequate but not complete for a tool with no additional structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear descriptions for all three parameters. The description adds context about 'invisible anchor macros' but does not significantly enrich parameter meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a specific page block between two invisible anchor macros, with the explicit benefit of token saving. It distinguishes itself from sibling tools like 'confluence_get_page' and 'confluence_get_page_section' by targeting a narrower segment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a block between anchors but does not explicitly state when to use this tool over alternatives or when not to use it. No guidance on prerequisites or context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_get_page_outlineA
Get a page outline by parsing headings from body.storage. Returns unified fields plus headings[] for low-token navigation.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID |
TDQS
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 'Get a page outline' implying a read operation, but does not explicitly confirm non-destructiveness, authorization needs, or behavior on invalid pageId. Adequate for a simple read tool but lacks explicit behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 18 words, front-loaded with the purpose. Every word earns its place, no wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (1 parameter, no output schema), the description explains what it does and returns. However, it lacks details on heading depth, structure of headings[], or pagination, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (pageId) with schema description 'Confluence page ID' covering 100%. The description does not add extra meaning beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets a page outline by parsing headings from body.storage, and mentions returning unified fields plus headings[] for low-token navigation. This distinguishes it from sibling tools like confluence_get_page (full content) or confluence_get_page_section (specific section).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for low-token navigation, providing context for when to use it (token efficiency). However, it does not explicitly state when not to use it or name alternatives among siblings, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_get_page_sectionA
Get a single page section by heading. The server fetches full storage internally but only returns the matched section to save tokens.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| heading | Yes | Heading text used to locate the target section | |
| occurrence | No | When the same heading appears multiple times, choose which occurrence (default 1) | |
| includeHeading | No | Include the heading tag in the returned section (default true) | |
| matchMode | No | Heading match mode: exact or contains (default exact) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds one behavioral trait: internal full fetch but truncated return. Lacks disclosure on auth needs, errors, or other behaviors, but acceptable for a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: purpose and behavioral note. No wasted words, front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no output schema/annotations, the description is adequate but lacks details on return format, prerequisites, or error scenarios. Could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds no extra meaning beyond the field names and descriptions. Baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get a single page section by heading.' with a specific verb and resource, distinguishing it from siblings like 'confluence_get_page' and 'confluence_get_page_outline'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by noting that the server fetches full storage internally but returns only the matched section to save tokens, hinting at token-saving benefits. However, it does not explicitly state when not to use it or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_get_pending_page_updateA
Get one staged page update by draftId. The draft has not been written to Confluence.
| Name | Required | Description | Default |
|---|---|---|---|
| draftId | Yes | Draft ID returned by a stage tool |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool retrieves a staged update (read operation) but lacks details on permissions, side effects, or whether it can be called multiple times. With no annotations, the description carries the full burden and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, minimal and front-loaded. The first sentence states the action, the second adds important context. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with one parameter and no output schema, the description is somewhat complete but does not specify what the tool returns (e.g., the staged update object). Additional context about return value would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter, which already explains 'Draft ID returned by a stage tool'. The description redundantly mentions 'by draftId' but adds no extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Get), resource (staged page update), and identifier (draftId). It distinguishes from siblings like commit_pending_page_update and discard_pending_page_update by emphasizing that the draft has not been written yet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage in the staging workflow but does not explicitly state when to use this tool versus alternatives such as commit_pending_page_update or list_pending_page_updates. No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_list_pending_page_updatesA
List staged page updates kept in MCP server memory. These drafts have not been written to Confluence.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | No | Only list pending updates for this Confluence page ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It successfully discloses that the tool reads from MCP server memory and that the updates are not written to Confluence, indicating a read-only operation. However, it could further mention that no data is modified or destroyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences with no unnecessary words. It is front-loaded with the core action and follows with key context about the data location.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and one optional parameter, the description adequately explains the tool's purpose and data origin. However, it is incomplete regarding the return format (e.g., what fields are in the list). Additional details would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one optional parameter 'pageId', whose description clearly says 'Only list pending updates for this Confluence page ID'. The tool description does not add new meaning beyond the schema, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List staged page updates kept in MCP server memory. These drafts have not been written to Confluence.' It specifies the verb 'List' and the resource 'staged page updates', and distinguishes from sibling tools like commit, discard, and get by emphasizing the listing of all pending updates in memory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides basic context (listing drafts before committing), but lacks explicit guidance on when to use this tool versus alternatives like 'confluence_get_pending_page_update'. There is no mention of when-not to use it or which scenarios it is best suited for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_preview_page_anchor_block_updateA
Preview an anchor-based block update. Returns the current block, the proposed replacement, and a hash that must be echoed to the confirmed update call.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| startAnchor | Yes | Start anchor name | |
| endAnchor | Yes | End anchor name | |
| blockStorageValue | Yes | Proposed replacement storage XHTML between the two anchors |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses return values and the need to echo a hash, but does not confirm whether the operation is read-only or has any side effects. The name 'preview' suggests safety, but it's not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundant information. The first sentence states the purpose, and the second provides critical output details. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains the return values and their role in confirmation. It could mention the workflow (stage then preview then confirm) but still provides enough context for an agent to understand the tool's purpose and next steps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no additional meaning beyond what the schema provides. The description's mention of 'anchor-based block update' gives context but does not elaborate on parameter usage or specifics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it previews an anchor-based block update, which is distinct from sibling tools like stage or confirm. It specifies the verb 'preview' and resource 'anchor-based block update', making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is used after staging and before confirming by mentioning a hash for the confirmed update call, but it does not explicitly state when to use it or when not to use alternatives. This leaves room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_preview_page_section_updateA
Preview a heading-based section update. Returns the currently matched section, the proposed replacement, and a hash that must be echoed to the confirmed update call.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| heading | Yes | Heading text used to locate the target section | |
| sectionStorageValue | Yes | Proposed replacement storage XHTML for the target section | |
| occurrence | No | When the same heading appears multiple times, choose which occurrence (default 1) | |
| includeHeading | No | Include the heading tag in the previewed replace range (default true) | |
| matchMode | No | Heading match mode: exact or contains (default exact) |
TDQS
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 discloses the return of a hash for confirmation, but does not explicitly state that the tool is read-only (preview implies no mutation, but not stated). No mention of authorization or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the purpose and return values. Every part is informative with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters) and no output schema, the description explains the return values (section, replacement, hash) which is helpful. However, it lacks guidance on how parameters like occurrence, includeHeading, and matchMode affect the preview, and no hint about the format of the returned section.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no additional context beyond the schema descriptions for parameters like pageId, heading, sectionStorageValue, occurrence, includeHeading, matchMode. It repeats 'heading-based' but does not elaborate on parameter interactions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'preview' and the resource 'heading-based section update'. It specifies the return values (matched section, proposed replacement, hash) and the requirement to echo the hash to the confirmed update call, distinguishing it from sibling preview tools like confluence_preview_page_anchor_block_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is a prerequisite for a confirmed update by mentioning the hash, but it does not explicitly compare with sibling tools such as stage or direct update. No direct guidance on when to use this preview versus other update approaches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_search_pagesB
Search Confluence pages by keyword. Returns unified fields: id, type, title, spaceKey, url, version.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search keywords (optional, empty string means only space/type filter) | |
| spaceKey | No | Confluence space key (uses CONF_DEFAULT_SPACE if omitted) | |
| limit | No | Max results to return (default 10, max 25) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must carry behavioral disclosure. It mentions returned fields but omits details like default space behavior, pagination handling, and whether the operation is read-only. The description is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that front-load the primary purpose and key return fields. Every word is valuable with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the well-documented schema and the presence of sibling tools like confluence_execute_cql_search, the description minimally covers essential details. It lacks guidance on differences from similar tools and does not explain the absence of pagination offsets or output format beyond listed fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are well-documented in the input schema with descriptions covering 100% of parameters. The tool description does not add any additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search Confluence pages by keyword' and lists return fields, making the purpose evident. However, it does not differentiate from sibling tools like confluence_execute_cql_search, which offers more advanced search capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 specify prerequisites, context for use, or scenarios where other search tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_stage_page_anchor_block_updateA
Stage an anchor-based block update in MCP server memory without writing to Confluence. Returns a draftId plus old/new/diff content for review.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| startAnchor | Yes | Start anchor name | |
| endAnchor | Yes | End anchor name | |
| blockStorageValue | Yes | Proposed replacement storage XHTML between the two anchors | |
| title | No | Proposed new page title (keeps current title if omitted) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the key nondestructive behavior and the return format. However, it lacks information on prerequisites (e.g., existing anchors), side effects (e.g., overwriting previous staged updates), and permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core action and key trait. Every word serves a purpose; no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 params, no output schema, no annotations), the description provides essential information but lacks details on workflow integration, error conditions, and conceptual context like 'MCP server memory'. The return values are mentioned but not how the draftId is used subsequently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameters are already documented. The description adds no additional semantic context beyond what is in the schema, such as constraints on anchor names or the format of blockStorageValue.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'stage', the resource 'anchor-based block update', and the key behavior 'without writing to Confluence'. It also specifies the return values (draftId, old/new/diff content), distinguishing it from sibling tools that actually write or preview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates that this tool stages an update without writing, implying it is a non-destructive step before committing. However, it does not explicitly contrast with sibling tools like 'preview_page_anchor_block_update', nor does it provide when-not-to-use or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_stage_page_section_updateA
Stage a heading-based section update in MCP server memory without writing to Confluence. Returns a draftId plus old/new/diff content for review.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| heading | Yes | Heading text used to locate the target section | |
| sectionStorageValue | Yes | Proposed replacement storage XHTML for the target section | |
| occurrence | No | When the same heading appears multiple times, choose which occurrence (default 1) | |
| includeHeading | No | When true replace from the heading tag itself; when false only replace the body below it (default true) | |
| matchMode | No | Heading match mode: exact or contains (default exact) | |
| title | No | Proposed new page title (keeps current title if omitted) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It clearly states the tool does not write to Confluence and returns draftId plus old/new/diff. However, it does not mention nuances like draft lifetime or potential conflicts with other staged updates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is clear, front-loaded, and concise. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately describes return values (draftId, old/new/diff). It could mention prerequisites (e.g., page existence) or error conditions, but overall is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. The description does not add extra meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it stages a heading-based section update without writing to Confluence, and specifies it returns a draftId plus diff. This distinguishes it from sibling tools like 'confluence_update_page_section' which writes directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a workflow (stage then commit), but does not explicitly state when to use this tool vs alternatives such as 'confluence_update_page_section' or 'confluence_stage_page_update'. It could mention that it's a precursor to 'confluence_commit_pending_page_update'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_stage_page_updateA
Stage a full-page update in MCP server memory without writing to Confluence. Use list/get to review, commit to save, or discard to drop it.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| bodyStorageValue | Yes | Proposed new page body in Confluence storage format (XHTML) | |
| title | No | Proposed new page title (keeps current title if omitted) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It clarifies that the update is staged in memory and not written to Confluence, but omits details like whether staging overwrites previous staged updates for the same page or any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the core purpose and provide immediate next-step guidance. No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a staging tool without an output schema, the description sufficiently explains the tool's role in the workflow (stage, then review/commit/discard). It does not describe return values, but the context of sibling tools fills gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully described in the input schema. The description adds no extra meaning beyond the schema, meeting the baseline expectation of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: staging a full-page update in memory without writing to Confluence. It uses specific verbs ('Stage') and resource ('full-page update'), and context from sibling tools like commit, discard, list confirms differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises using list/get to review and commit/discard to finalize, providing clear post-usage steps. It implicitly distinguishes from sibling tools by noting that this tool does not write to Confluence, but does not explicitly state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_update_pageA
Update a Confluence page content. Auto increments version. Returns unified fields.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| title | No | New page title (keeps current title if omitted) | |
| bodyStorageValue | Yes | New page body in Confluence storage format (XHTML) | |
| minorEdit | No | Whether this is a minor edit (default true) | |
| message | No | Version update message / change comment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses auto-version increment (mutation behavior) and return format, but lacks details on authorization, concurrency, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences covering core purpose, auto-version, and return format. No extraneous words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and no annotations, the description is adequate but not complete. It misses guidance on when to use this versus staging workflow, and does not describe expected behavior fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with adequate parameter descriptions. The description does not add extra meaning beyond the schema, but schema is sufficient, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'update', the resource 'Confluence page content', and highlights auto version increment and return format. It distinguishes from sibling tools like create or stage+commit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., staging tools like confluence_stage_page_update or confluence_commit_pending_page_update). Does not mention prerequisites or conditions where this tool should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_update_page_anchor_block_confirmedA
Confirm an anchor-based block update after preview. The server re-reads the page and only updates when the preview hash still matches current content.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| startAnchor | Yes | Start anchor name | |
| endAnchor | Yes | End anchor name | |
| blockStorageValue | Yes | Replacement storage XHTML between the two anchors | |
| expectedCurrentHash | Yes | Hash returned by confluence_preview_page_anchor_block_update | |
| title | No | New page title (keeps current title if omitted) | |
| minorEdit | No | Whether this is a minor edit (default true) | |
| message | No | Version update message / change comment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It reveals that the tool re-reads the page and only updates if the hash matches current content, which is key. However, it does not mention other important aspects like permissions required, potential failures, or side effects like destructive updates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences deliver the essential information without fluff. Every word earns its place, and the structure is front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters and no output schema, the description is inadequate. It lacks information on return values, success/failure behavior, and workflow integration. The tool is part of a multi-step process, and the description does not fully contextualize it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 8 parameters with descriptions. The description adds minimal value beyond the schema, mainly tying 'expectedCurrentHash' to the preview step. With 100% schema coverage, baseline score is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it confirms an anchor-based block update after preview, specifying the server re-reads and checks hash match. This distinguishes it from preview and other sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates it should be used 'after preview' and mentions the hash check, but does not explicitly state when not to use it or provide alternatives. The context of sibling tools implies the workflow, but the description lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_update_page_sectionA
Update one page section by heading. The server fetches full storage internally, replaces the matched range, and writes back the whole page so the model only sends the section content.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| heading | Yes | Heading text used to locate the target section | |
| sectionStorageValue | Yes | Replacement storage XHTML for the target section | |
| occurrence | No | When the same heading appears multiple times, choose which occurrence (default 1) | |
| includeHeading | No | When true replace from the heading tag itself; when false only replace the body below it (default true) | |
| matchMode | No | Heading match mode: exact or contains (default exact) | |
| title | No | New page title (keeps current title if omitted) | |
| minorEdit | No | Whether this is a minor edit (default true) | |
| message | No | Version update message / change comment |
TDQS
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 reveals the read-modify-write behavior (server fetches full storage internally, writes back whole page), which is a key behavioral trait. However, it does not mention side effects (e.g., overwriting other sections), failure modes, or permission requirements, so transparency is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise at two sentences, with the purpose front-loaded. Every word adds value, explaining both what the tool does and how it works. No excess verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 9 parameters (some with complex logic like occurrence and includeHeading) and no output schema. The description does not mention return values, error states, or pagination. While the schema covers parameter details, the description lacks completeness about the tool's output and overall behavior in edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, providing meaning for each parameter. The description reinforces the purpose (update section by heading) but does not add detailed parameter-level context beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (update) and resource (page section by heading). It explains the internal mechanism (server fetches full storage, replaces matched range, writes back whole page), which distinguishes it from sibling tools like confluence_update_page that update the entire page. However, it does not explicitly differentiate from the 'confirmed' variants, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies efficient partial updates ('the model only sends the section content'), but does not explicitly state when to use this tool versus alternatives (e.g., staging tools or full page update). No when-not-to-use or alternative tool names are provided, leaving usage context somewhat vague.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_update_page_section_confirmedA
Confirm a heading-based section update after preview. The server re-reads the page and only updates when the preview hash still matches current content.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| heading | Yes | Heading text used to locate the target section | |
| sectionStorageValue | Yes | Replacement storage XHTML for the target section | |
| expectedCurrentHash | Yes | Hash returned by confluence_preview_page_section_update | |
| occurrence | No | When the same heading appears multiple times, choose which occurrence (default 1) | |
| includeHeading | No | When true replace from the heading tag itself; when false only replace the body below it (default true) | |
| matchMode | No | Heading match mode: exact or contains (default exact) | |
| title | No | New page title (keeps current title if omitted) | |
| minorEdit | No | Whether this is a minor edit (default true) | |
| message | No | Version update message / change comment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well by disclosing that the server re-reads the page and conditionally updates based on hash match. This goes beyond the schema. It could mention error behavior on hash mismatch, but still effective.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. The essential information is front-loaded: purpose and condition for success.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters and no output schema, the description covers the core behavior and condition. It could be more complete by noting what happens if the hash doesn't match, but overall it adequately informs an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning to the parameters beyond what the schema already provides (e.g., it doesn't explain how 'expectedCurrentHash' relates to the preview step behavior).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is for confirming a heading-based section update after preview, using a hash check. It specifies the verb 'confirm' and the resource 'section update', distinguishing it from sibling tools like 'confluence_update_page_section' which likely skips the preview step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the tool should be used after a preview step and only succeeds if the hash matches, providing clear context. However, it does not explicitly mention when not to use it or list alternatives like 'confluence_commit_pending_page_update'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_upload_attachmentA
Upload an attachment to a Confluence page. Supports local filePath or base64Data; same-name files are updated by default. Returns attachment fields and image storage markup when applicable.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Confluence page ID | |
| filePath | No | Local file path to upload from the MCP server machine | |
| base64Data | No | Base64 file content, optionally as a data URL | |
| fileName | No | Attachment file name. Required for base64Data; defaults to basename(filePath) | |
| contentType | No | MIME type such as image/png. Inferred from fileName when omitted | |
| comment | No | Attachment version comment | |
| minorEdit | No | Whether this attachment version is a minor edit (default true) | |
| overwrite | No | Update same-name attachment as a new version when true (default true); fail on duplicates when false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key behaviors: supports two data sources, updates same-name files by default (overwrite), and returns attachment fields and image storage markup. It could mention potential side effects like file size limits, but overall covers main behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: three sentences covering purpose, data source options, overwrite behavior, and return value. Every sentence adds information, and the main action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, 1 required, no output schema), the description covers the key aspects: how to provide file data, overwrite behavior, and return format. It relies on the schema for individual parameter details, which is appropriate since schema coverage is 100%. Minor omission: no mention of error cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by summarizing the two input methods and the return behavior (image storage markup), which is not in the schema due to lack of output schema. This goes beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it uploads an attachment to a Confluence page, and specifies two methods (filePath or base64Data) and default overwrite behavior. This distinguishes it from sibling tools, which focus on pages, sections, and anchors, not attachment upload.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for usage by explaining the two data source options and default overwrite behavior. It doesn't explicitly state when not to use it or name alternatives, but sibling tools are sufficiently different that confusion is unlikely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a unique purpose clearly indicated by its name and description. There is no overlap between tools like create_page, update_page, stage_page_update, etc., as they target different actions (create, read, update, stage, commit) and granularities (page, section, anchor block).
All tools follow the consistent pattern 'confluence_verb_noun' (e.g., confluence_create_page, confluence_get_page_section). The verbs are specific and the nouns clearly indicate the target, forming a predictable and uniform naming scheme.
With 23 tools, the server is on the higher side but justifiable for the domain. The staging/preview/commit workflow for sections and anchor blocks adds necessary tools for safe editing, but the count is slightly above the ideal range for a focused server.
The tool surface covers page creation, reading (with sections/blocks), updating, and attachment upload, plus search and user info. However, a delete page tool is missing, and updating page titles is not explicitly supported, leaving notable gaps in lifecycle coverage.
Maintenance
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
MCP Server for JFrog, providing tools for development and artifact management.
MCP server for Appcircle mobile CI/CD platform.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server implementation for interacting with self-hosted Confluence Data Center or Server instances via search, content retrieval, and optional write operations. It features space auto-discovery, audit logging, and granular access control for secure enterprise collaboration.
- AlicenseBqualityDmaintenanceMCP server for administering Atlassian Confluence Cloud wiki pages, supporting CRUD operations, page navigation, comments, attachments, and more.621GPL 3.0
- FlicenseAqualityCmaintenanceMCP server for Confluence REST API enabling page retrieval, attachment downloads, space listing, comment access, and full-text search via tools.6
- AlicenseNot gradedqualityCmaintenanceMCP server for searching and retrieving pages from Atlassian Confluence.541MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/qihaze123/confluence-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server