Confluence MCP Server
The Confluence MCP Server provides secure, AI-driven access to Atlassian Confluence through its REST API, enabling comprehensive content and space management operations:
Content Management
Search for content using text queries, titles, or space keys with customizable limits and formats
Retrieve, create, update, and move Confluence pages
Get child pages of a specific parent page
Space Management
List all accessible Confluence spaces with pagination
Retrieve detailed space information by ID or key
Get all pages within a specific space
Security & Integration
Secure access using Atlassian API tokens
Respect Confluence permissions and configurable space restrictions
Designed for integration with AI tools via Model Context Protocol
Provides secure access to Atlassian Confluence through its REST API, enabling search across spaces, retrieving, creating, updating, and deleting pages, listing spaces, and getting content from specific spaces.
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 API documentation in Confluence"
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
A Model Context Protocol (MCP) server that provides secure access to Atlassian Confluence through its REST API.
Using with Claude Code
To use this MCP server with Claude Code, add it to your MCP configuration file:
Option 1: Using claude mcp add-json (recommended)
The easiest way to add this server is using the claude mcp add-json command:
# First, build the server
npm run build
# Then add it using claude mcp add-json
claude mcp add-json confluenceWhen prompted, paste the following JSON configuration:
{
"command": "node",
"args": ["/path/to/confluence_mcp/dist/index.js"],
"env": {
"CONFLUENCE_BASE_URL": "https://your-domain.atlassian.net",
"CONFLUENCE_USERNAME": "your-email@domain.com",
"CONFLUENCE_API_TOKEN": "your-api-token",
"ALLOWED_SPACES": "SPACE1,SPACE2,SPACE3"
}
}Option 2: Manual configuration
Alternatively, you can manually edit your MCP configuration file (~/.config/claude-code/mcp_servers_config.json):
{
"mcpServers": {
"confluence": {
"command": "node",
"args": ["/path/to/confluence_mcp/dist/index.js"],
"env": {
"CONFLUENCE_BASE_URL": "https://your-domain.atlassian.net",
"CONFLUENCE_USERNAME": "your-email@domain.com",
"CONFLUENCE_API_TOKEN": "your-api-token",
"ALLOWED_SPACES": "SPACE1,SPACE2,SPACE3"
}
}
}
}Option 3: Using tsx for development
For development or if you prefer running TypeScript directly:
{
"command": "npx",
"args": ["tsx", "/path/to/confluence_mcp/src/index.ts"],
"env": {
"CONFLUENCE_BASE_URL": "https://your-domain.atlassian.net",
"CONFLUENCE_USERNAME": "your-email@domain.com",
"CONFLUENCE_API_TOKEN": "your-api-token",
"ALLOWED_SPACES": "SPACE1,SPACE2,SPACE3"
}
}Configuration Notes
Replace the environment variables with your actual Confluence credentials
The
ALLOWED_SPACESshould be a comma-separated list of space keys you want to allow access toRestart Claude Code after updating the configuration
Make sure you have built the project first with
npm run buildif using Option 1
Once configured, you can use commands like:
"Search for API documentation in Confluence"
"Create a new page in the DEV space"
"Show me all pages in the PROJ space"
Related MCP server: Confluence MCP
Quick Start
Install dependencies:
npm installConfigure environment:
cp .env.example .env # Edit .env with your Confluence credentialsBuild and run:
npm run build npm startOr for development:
npm run dev
Configuration
Create a .env file with your Confluence credentials:
CONFLUENCE_BASE_URL=https://your-domain.atlassian.net
CONFLUENCE_USERNAME=your-email@domain.com
CONFLUENCE_API_TOKEN=your-api-token
ALLOWED_SPACES=SPACE1,SPACE2,SPACE3
DEBUG=falseGetting an API Token
Click "Create API token"
Give it a descriptive label
Copy the generated token (save it securely!)
Available Tools
search_confluence - Search content across allowed spaces
get_page - Retrieve a specific page by ID
create_page - Create a new page
update_page - Update an existing page
delete_page - Delete a page
list_spaces - List accessible spaces
get_space_content - Get pages from a specific space
Security Features
API Token Authentication - Secure access using Atlassian API tokens
Space Restrictions - Configurable allowed spaces list
Permission Validation - Respects Confluence permissions
Request Validation - Input validation and sanitization
Development
# Type checking
npm run typecheck
# Linting
npm run lint
# Testing
npm test
# Build
npm run buildAvailable Tools
10 toolscreate_pageC
Create a new Confluence page
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Page content (HTML or storage format) | |
| parentId | No | Optional: Parent page ID | |
| spaceKey | Yes | Target space key | |
| title | Yes | Page title |
TDQS
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 states 'create' which implies a write operation, but doesn't cover permissions required, rate limits, error handling, or what happens on success (e.g., returns a page ID). This leaves significant gaps 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, efficient sentence with zero waste. It's front-loaded and directly states the tool's purpose without unnecessary elaboration, 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 this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits, return values, and usage context. For a 4-parameter tool that creates resources, more information is needed to guide effective use.
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 adds no additional meaning beyond the schema, such as explaining parameter interactions or constraints. Baseline 3 is appropriate as the schema does the heavy lifting.
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 ('create') and resource ('new Confluence page'), making the purpose immediately understandable. It distinguishes from siblings like 'update_page' or 'move_page' by focusing on creation. However, it doesn't specify what distinguishes it from other creation-like operations in the sibling list, keeping it from 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.
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 a space or parent), exclusions, or comparisons to siblings like 'update_page' or 'move_page'. Usage is implied by the name but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pageC
Retrieve a specific Confluence page by ID
| Name | Required | Description | Default |
|---|---|---|---|
| bodyFormat | No | Body format to include: "storage" or "view" (optional) | |
| 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 the full burden of behavioral disclosure. It states the action ('Retrieve') but lacks details on permissions required, error handling (e.g., invalid page ID), rate limits, or response format. For a read operation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to understand at a glance, with no wasted 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 tool's moderate complexity (retrieving a page with optional formatting), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like authentication needs, potential errors, or what the return value includes (e.g., page content, metadata), leaving gaps for an AI agent to infer.
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 both parameters (pageId and bodyFormat). The description adds no additional parameter semantics beyond what the schema provides, such as examples or edge cases, so it meets the baseline score 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and the resource 'specific Confluence page by ID', making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_page_children' or 'search_confluence', which also retrieve Confluence content but with different scopes or methods.
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 doesn't mention prerequisites (e.g., needing a valid page ID), exclusions, or comparisons to siblings like 'get_page_children' (for child pages) or 'search_confluence' (for broader searches), 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.
get_page_childrenC
Get child pages of a specific page
| Name | Required | Description | Default |
|---|---|---|---|
| bodyFormat | No | Body format to include: "storage" or "view" (optional) | |
| limit | No | Maximum results (default: 25) | |
| pageId | Yes | Parent page ID | |
| start | No | Starting index for pagination (default: 0) |
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 child pages' but doesn't disclose behavioral traits such as whether this is a read-only operation, if it requires authentication, rate limits, or what the return format looks like. The description is minimal and lacks critical context for safe invocation.
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, efficient sentence with zero waste. It's front-loaded and appropriately sized for the tool's purpose, making it easy to parse quickly.
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 annotations and no output schema, the description is incomplete. It doesn't explain what 'child pages' entail (e.g., structure, metadata), return values, or error conditions. For a tool with 4 parameters and complex sibling context, this minimal description leaves significant 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?
The input schema has 100% description coverage, so the schema already documents all parameters well. The description adds no additional meaning beyond implying a parent-child relationship via 'child pages of a specific page', which aligns with the 'pageId' parameter but doesn't enhance understanding 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' and resource 'child pages of a specific page', making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_page' or 'get_space_content', which might also retrieve page-related information, so it lacks sibling distinction.
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 like 'get_page' or 'search_confluence'. It mentions a 'specific page' but doesn't clarify prerequisites or exclusions, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_space_by_idC
Get detailed information about a specific Confluence space by ID
| Name | Required | Description | Default |
|---|---|---|---|
| spaceId | Yes | Space ID |
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 of behavioral disclosure. It states the tool retrieves 'detailed information,' but doesn't specify what details are included (e.g., permissions, content, metadata), whether it's a read-only operation, or if there are rate limits or authentication requirements. This leaves significant gaps for a tool that likely interacts with a Confluence API.
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, efficient sentence that front-loads the core action ('Get detailed information') without unnecessary words. Every part of the sentence contributes to understanding the tool's purpose, making it appropriately 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 lack of annotations and output schema, the description is incomplete. It doesn't explain what 'detailed information' entails in the return values, nor does it cover behavioral aspects like error handling or API constraints. For a tool with one parameter but potential complexity in Confluence space data, this minimal description leaves too much unspecified.
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 schema description coverage is 100%, with the single parameter 'spaceId' documented as 'Space ID' in the schema. The description adds no additional meaning beyond this, such as format examples (e.g., numeric vs. string IDs) or where to obtain the ID. Since the schema does the heavy lifting, the 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 the verb ('Get detailed information') and resource ('about a specific Confluence space by ID'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_space_by_key' or 'get_space_content', which likely retrieve similar information through different identifiers or scopes.
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 doesn't mention prerequisites (e.g., needing a space ID), exclusions, or comparisons to siblings such as 'get_space_by_key' (which might use a key instead of ID) or 'list_spaces' (which retrieves multiple spaces).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_space_by_keyB
Get detailed information about a specific Confluence space by key
| Name | Required | Description | Default |
|---|---|---|---|
| spaceKey | Yes | Space key |
TDQS
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 states it 'gets' information (implying a read operation) but doesn't specify whether this requires authentication, what happens if the space doesn't exist (error handling), rate limits, or what 'detailed information' includes. For a 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action ('Get detailed information') and specifies the resource and identifier. There's no wasted language or redundancy, making it appropriately concise for a simple lookup tool.
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's low complexity (single parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on authentication needs, error scenarios, or output format. For a read operation with no annotations, more context would be helpful, though the simplicity keeps it from being severely incomplete.
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 the single parameter 'spaceKey' documented as 'Space key' in the schema. The description adds minimal value beyond this by mentioning 'by key' to reinforce the parameter's purpose, but doesn't provide format examples, constraints, or additional context. Baseline 3 is appropriate when the schema already fully describes parameters.
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' and resource 'detailed information about a specific Confluence space by key', making the purpose unambiguous. It distinguishes from siblings like 'list_spaces' (which lists multiple spaces) and 'get_space_by_id' (which uses a different identifier). However, it doesn't explicitly contrast with 'get_space_content', which might retrieve different information about the same space.
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 when you need detailed information about a specific space identified by its key, but provides no explicit guidance on when to use this versus alternatives like 'get_space_by_id' or 'get_space_content'. It mentions 'by key' which helps differentiate from ID-based lookups, but lacks clear when/when-not rules or prerequisite context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_space_contentC
Get pages from a specific space
| Name | Required | Description | Default |
|---|---|---|---|
| bodyFormat | No | Body format to include: "storage" or "view" (optional) | |
| limit | No | Maximum results (default: 25) | |
| spaceKey | Yes | Space key | |
| start | No | Starting index for pagination (default: 0) |
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 of behavioral disclosure. It states the tool 'Get pages from a specific space', implying a read-only operation, but doesn't cover critical aspects like pagination behavior (handled by 'limit' and 'start' parameters), potential rate limits, authentication needs, or what happens if the space doesn't exist. For a tool with 4 parameters and no annotation coverage, this is a significant gap in behavioral 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 a single, efficient sentence: 'Get pages from a specific space'. It's front-loaded with the core action and resource, with zero wasted words. However, it could be slightly more specific (e.g., mentioning pagination or filtering) to improve utility without losing conciseness.
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 (4 parameters, no output schema, no annotations), the description is incomplete. It doesn't explain the return values (e.g., what 'pages' includes, format based on 'bodyFormat'), pagination details, or error handling. With no output schema, the description should compensate by at least hinting at the response structure, but it doesn't, leaving the agent with insufficient context for effective use.
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, with clear documentation for all parameters (e.g., 'spaceKey' as 'Space key', 'bodyFormat' with enum values). The description adds no parameter-specific information beyond what's in the schema. According to the rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.
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 states the tool's purpose as 'Get pages from a specific space', which includes a verb ('Get') and resource ('pages from a specific space'), making it clear what the tool does. However, it doesn't distinguish this tool from similar siblings like 'get_page', 'get_page_children', or 'search_confluence', which also retrieve pages or content. The purpose is understandable but lacks differentiation from alternatives.
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 doesn't mention scenarios like retrieving all pages in a space (vs. single pages with 'get_page'), hierarchical content (vs. 'get_page_children'), or filtered searches (vs. 'search_confluence'). There's no explicit or implied context for usage, leaving the agent to guess 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.
list_spacesC
List all accessible Confluence spaces (filtered by allowed spaces)
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Cursor for pagination (from _links.next) | |
| limit | No | Maximum results (default: 50) |
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 of behavioral disclosure. It mentions filtering by 'allowed spaces', which adds some context about access control, but it doesn't describe other key behaviors such as pagination mechanics (implied by the cursor parameter), rate limits, authentication needs, or what the output looks like (e.g., list format).
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, efficient sentence with no wasted words. It's front-loaded with the core purpose and includes a concise parenthetical for additional context, making it easy to parse quickly.
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 lack of annotations and output schema, the description is incomplete. It doesn't explain the return values (e.g., what data is included in the list), how pagination works in practice, or error conditions. For a list tool with two parameters and no structured output documentation, more context is needed to guide effective use.
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 documentation for both parameters ('cursor' for pagination and 'limit' for maximum results). The description doesn't add any additional meaning beyond what the schema provides, such as explaining how 'allowed spaces' filtering interacts with these parameters. Baseline 3 is appropriate since the schema does the heavy lifting.
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 ('List') and resource ('all accessible Confluence spaces'), making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'get_space_by_id' or 'get_space_by_key', which retrieve specific spaces rather than listing all accessible ones.
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 includes a parenthetical note about filtering by 'allowed spaces', which provides some context, but it doesn't offer explicit guidance on when to use this tool versus alternatives like 'search_confluence' or the 'get_space_by_*' tools. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_pageC
Move a Confluence page to a different space or parent
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | Page ID to move | |
| parentId | No | Optional: New parent page ID in the target space | |
| targetSpaceKey | Yes | Target space key to move the page to |
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 states the action 'move' but doesn't disclose behavioral traits such as whether this requires specific permissions, if it's reversible, what happens to child pages, or potential side effects (e.g., broken links). This leaves significant gaps 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, efficient sentence that directly states the tool's purpose with no wasted words. It is appropriately sized and front-loaded, making it easy to understand at a glance.
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 a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral aspects (e.g., permissions, effects), usage context, and return values, leaving the agent with insufficient information for safe and effective invocation.
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 fully documents all three parameters (pageId, parentId, targetSpaceKey). The description adds no additional meaning beyond implying the parameters relate to moving, which is already clear from the schema. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'move' and the resource 'Confluence page', specifying the action of relocating to a different space or parent. It distinguishes from siblings like 'update_page' (which modifies content) and 'get_page' (which retrieves), but doesn't explicitly differentiate from all siblings (e.g., 'create_page' is distinct).
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 doesn't mention prerequisites (e.g., needing page IDs), exclusions (e.g., not for moving multiple pages), or comparisons to other tools like 'update_page' for other modifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_confluenceB
Search for content across allowed Confluence spaces by text and/or title
| Name | Required | Description | Default |
|---|---|---|---|
| bodyFormat | No | Body format to include: "storage" or "view" (optional) | |
| limit | No | Maximum results (default: 25) | |
| query | No | Search query for content text | |
| spaceKey | No | Optional: Limit search to specific space | |
| start | No | Starting index for pagination (default: 0) | |
| title | No | Search query for page titles |
TDQS
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 mentions searching 'across allowed Confluence spaces,' which hints at access restrictions, but doesn't detail what 'allowed' entails (e.g., permissions, authentication needs). It also omits key behavioral traits like pagination handling (implied by 'start' and 'limit' parameters but not explained), rate limits, or error conditions. For a search tool with no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary details. It uses clear language ('Search for content across allowed Confluence spaces by text and/or title') and avoids redundancy. Every word earns its place, making it highly concise and well-structured for quick understanding.
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's moderate complexity (6 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks depth in behavioral context and usage guidelines. Without an output schema, it doesn't explain return values (e.g., result format, pagination details), and with no annotations, it misses safety or operational traits. This leaves gaps for an AI agent to fully understand the tool's behavior.
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 clear documentation for all 6 parameters. The description adds minimal value beyond the schema, as it only mentions searching 'by text and/or title,' which corresponds to the 'query' and 'title' parameters but doesn't elaborate further. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate with additional semantic context.
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: 'Search for content across allowed Confluence spaces by text and/or title.' It specifies the action (search), resource (content in Confluence spaces), and scope (allowed spaces). However, it doesn't explicitly differentiate from sibling tools like 'get_space_content' which might also retrieve content, though the search functionality is implied.
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 mentions 'allowed Confluence spaces' but doesn't clarify what this means or how it differs from siblings like 'get_space_content' or 'list_spaces'. There are no explicit when-to-use or when-not-to-use instructions, leaving the agent to infer usage based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_pageC
Update an existing Confluence page
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | New page content | |
| pageId | Yes | Page ID to update | |
| title | Yes | New page title | |
| version | Yes | Current version number (required for updates) |
TDQS
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. While 'Update' implies a mutation operation, it doesn't specify permission requirements, whether changes are reversible, rate limits, or what happens to existing content not mentioned. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It's appropriately sized and front-loaded, making it easy to parse quickly.
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 mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the update operation entails (e.g., overwriting vs. merging), potential side effects, error conditions, or return values. Given the complexity and lack of structured data, more context is needed.
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 schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional parameter information beyond what's already in the schema (e.g., format details, examples, or constraints). 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Update') and resource ('an existing Confluence page'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'move_page' or 'create_page' beyond the basic operation name, which prevents 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.
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 like 'create_page' or 'move_page'. It doesn't mention prerequisites (e.g., needing an existing page ID) or contextual constraints, leaving the agent to infer usage from the tool name alone.
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.
10 tool updates
v1.0.0- First observed
create_page - First observed
get_page - First observed
get_page_children - First observed
get_space_by_id - First observed
get_space_by_key - First observed
get_space_content - First observed
list_spaces - First observed
move_page - First observed
search_confluence - First observed
update_page
TDQS
Most tools have distinct purposes, but there is some potential confusion between get_space_by_id and get_space_by_key which serve similar functions with different identifiers, and get_space_content overlaps conceptually with listing pages in a space. However, descriptions clarify the distinctions, preventing major misselection.
All tool names follow a consistent verb_noun pattern with clear, descriptive actions (e.g., create_page, get_page, list_spaces). There are no deviations in style or convention, making the set predictable and easy to understand.
With 10 tools, the server is well-scoped for managing Confluence content, covering core operations like CRUD for pages, space management, and search. Each tool has a clear role without bloat or redundancy.
The tool set provides strong coverage for page and space operations, including create, read, update, move, and search. Minor gaps exist, such as no delete_page tool or advanced space management (e.g., create_space), but agents can handle most workflows effectively.
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
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
The Cortex MCP server provides read-only access to real-time engineering context from the Cortex developer portal, allowing AI coding assistants to answer natural language questions about your organization's catalog (microservices, libraries, domains, teams, infrastructure), scorecards (engineering standards and best practices), initiatives (goals and deadlines), and Engineering Intelligence metrics. It includes tools for querying documentation, tracking personal entities, and accessing AI-assisted insights across the entire Cortex ecosystem.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseAqualityCmaintenanceA Model Context Protocol server that enables AI assistants like Claude to access and search Atlassian Confluence content, allowing integration with your organization's knowledge base.57,08161ISC
- AlicenseAqualityFmaintenanceA Model Context Protocol server that enables AI assistants to interact with Confluence content, supporting operations like retrieving, searching, creating, and updating pages and spaces.91912MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server for accessing Confluence API using Personal Access Tokens, enabling users to retrieve space lists, view pages, create new pages, and update existing content.4681MIT
- AlicenseNot gradedqualityDmaintenanceModel Context Protocol server that integrates with Atlassian Confluence and Jira, enabling AI assistants to search, create, and update content in these platforms through natural language interactions.1MIT
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/Olson3R/confluence-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server