Skip to main content
Glama
Olson3R
by Olson3R

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:

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 confluence

When 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_SPACES should be a comma-separated list of space keys you want to allow access to

  • Restart Claude Code after updating the configuration

  • Make sure you have built the project first with npm run build if 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

  1. Install dependencies:

    npm install
  2. Configure environment:

    cp .env.example .env
    # Edit .env with your Confluence credentials
  3. Build and run:

    npm run build
    npm start

    Or 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=false

Getting an API Token

  1. Go to Atlassian Account Settings

  2. Click "Create API token"

  3. Give it a descriptive label

  4. 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 build

Available Tools

10 tools
create_pageC

Create a new Confluence page

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesPage content (HTML or storage format)
parentIdNoOptional: Parent page ID
spaceKeyYesTarget space key
titleYesPage title

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries 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.

Conciseness5/5

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.

Completeness2/5

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

Given this is a mutation tool with no annotations 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.

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. 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.

Purpose4/5

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.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing 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

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyFormatNoBody format to include: "storage" or "view" (optional)
pageIdYesConfluence page ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('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.

Conciseness5/5

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.

Completeness2/5

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

Given the tool's moderate complexity (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.

Parameters3/5

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

Schema description coverage is 100%, with clear descriptions for both parameters (pageId 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.

Purpose4/5

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.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing 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

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyFormatNoBody format to include: "storage" or "view" (optional)
limitNoMaximum results (default: 25)
pageIdYesParent page ID
startNoStarting index for pagination (default: 0)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states '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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives 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

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceIdYesSpace ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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

The schema description coverage is 100%, with the single parameter '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.

Purpose4/5

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.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing 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

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceKeyYesSpace key

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It 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.

Conciseness5/5

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.

Completeness3/5

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

Given the tool's low complexity (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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyFormatNoBody format to include: "storage" or "view" (optional)
limitNoMaximum results (default: 25)
spaceKeyYesSpace key
startNoStarting index for pagination (default: 0)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool '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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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

The input schema has 100% description coverage, with clear documentation for all 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.

Purpose3/5

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.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention 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)

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoCursor for pagination (from _links.next)
limitNoMaximum results (default: 50)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesPage ID to move
parentIdNoOptional: New parent page ID in the target space
targetSpaceKeyYesTarget space key to move the page to

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It 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.

Conciseness5/5

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.

Completeness2/5

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

Given the complexity of a 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.

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all 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.

Purpose4/5

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.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing page 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

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyFormatNoBody format to include: "storage" or "view" (optional)
limitNoMaximum results (default: 25)
queryNoSearch query for content text
spaceKeyNoOptional: Limit search to specific space
startNoStarting index for pagination (default: 0)
titleNoSearch query for page titles

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries 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.

Conciseness5/5

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.

Completeness3/5

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

Given the tool's moderate complexity (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.

Parameters3/5

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.

Purpose4/5

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

The description clearly states the tool's purpose: '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.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It mentions '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

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesNew page content
pageIdYesPage ID to update
titleYesNew page title
versionYesCurrent version number (required for updates)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries 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.

Conciseness5/5

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.

Completeness2/5

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

For a mutation tool with 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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives 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.

  1. 10 tool updatesv1.0.0
    • First observedcreate_page
    • First observedget_page
    • First observedget_page_children
    • First observedget_space_by_id
    • First observedget_space_by_key
    • First observedget_space_content
    • First observedlist_spaces
    • First observedmove_page
    • First observedsearch_confluence
    • First observedupdate_page

TDQS

B3.3/5.0
Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Model 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.
    1
    MIT

Latest Blog Posts

MCP directory API

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

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

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