Skip to main content
Glama
rkorablin

confluence-http-api-mcp

by rkorablin

confluence-http-api-mcp

Read-only MCP server for self-hosted Confluence (Server / Data Center) over the REST API.

Primary use case: let an AI agent read project documentation — search pages, fetch content, navigate page trees.

Requirements

Related MCP server: finviet-confluence-mcp

Configuration

Variable

Required

Description

CONFLUENCE_URL

Yes

Base URL, e.g. https://wiki.it-aces.com

CONFLUENCE_TOKEN

Yes

PAT sent as Authorization: Bearer …

Alias: CONFLUENCE_PAT.

Tools (read-only)

Tool

Purpose

confluence_search

CQL search (space=GAR AND type=page, text ~ "API")

confluence_get_page

Page by content id + plain-text body

confluence_get_page_by_title

Page by space key + exact title

confluence_list_spaces

Discover spaces

confluence_get_page_children

Child pages (doc tree / TOC)

Page bodies are returned as plain text (HTML/storage markup stripped) for easier agent consumption.

Install

From source (GitLab / GitHub)

git clone git@gitlab.greenworm.ru:ai/confluence-http-api-mcp.git
cd confluence-http-api-mcp
npm install

Публичное зеркало: https://github.com/rkorablin/confluence-http-api-mcp.

From npm

npm install confluence-http-api-mcp

Or globally (for npx / CLI usage):

npm install -g confluence-http-api-mcp

Usage

Standalone (stdio)

export CONFLUENCE_URL="https://wiki.it-aces.com"
export CONFLUENCE_TOKEN="..."
node server.mjs

Cursor / MCP host

Add the server to your MCP config (for example .cursor/mcp.jsonmcpServers).

Option 1: Local clone

"confluence": {
  "command": "node",
  "args": ["/absolute/path/to/confluence-http-api-mcp/server.mjs"],
  "env": {
    "CONFLUENCE_URL": "https://wiki.it-aces.com",
    "CONFLUENCE_TOKEN": "..."
  }
}

Option 2: npm / npx

If installed globally:

"confluence": {
  "command": "confluence-http-api-mcp",
  "env": {
    "CONFLUENCE_URL": "https://wiki.it-aces.com",
    "CONFLUENCE_TOKEN": "..."
  }
}

Or via npx (рекомендуется для автоподтягивания новых версий):

"confluence": {
  "command": "npx",
  "args": ["--yes", "--prefer-online", "confluence-http-api-mcp@latest"],
  "env": {
    "CONFLUENCE_URL": "https://wiki.it-aces.com",
    "CONFLUENCE_TOKEN": "..."
  }
}

Or via wrapper + secrets file (see ~/.config/ai-mcp pattern used for GitLab/YouTrack).

Typical agent workflow

  1. confluence_list_spaces — find space key (e.g. GAR)

  2. confluence_search with space=GAR AND title ~ "Architecture"

  3. confluence_get_page — read full page text

  4. confluence_get_page_children — walk documentation hierarchy

License

MIT

Available Tools

5 tools
confluence_get_pageA

Get a Confluence page by numeric content id. Returns title, space, ancestors and plain-text body.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesContent id, e.g. 123456789
maxBodyCharsNoTruncate body text after N chars (default 12000)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the safety burden. It explicitly states the return fields (title, space, ancestors, body) and that the body is plain-text, which is useful behavioral context. It does not mention authentication or error behavior, but for a get operation it is adequate.

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 sentence, front-loaded with the action and resource, and contains no redundant words. Every part earns its place.

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

Completeness4/5

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

Although there is no output schema, the description covers the main return values. For a simple get-by-ID tool with two parameters, this is sufficient. It could briefly mention behavior like truncation via maxBodyChars, but the schema already handles that.

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 coverage is 100% for both parameters, so the schema already documents them. The description adds only that the page is identified by a numeric ID, which is slightly redundant with the schema's example, so no significant extra meaning is provided.

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

Purpose5/5

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

The description uses the specific verb 'Get' with the resource 'Confluence page' and specifies the method 'by numeric content id'. This clearly distinguishes it from siblings like 'confluence_get_page_by_title'.

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

Usage Guidelines4/5

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

The description provides clear context that this tool is for retrieving pages when you have a numeric content ID, which implicitly suggests using it instead of title-based lookup. However, it does not explicitly name alternatives or 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_get_page_by_titleA

Get a page by space key and exact title (first match).

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesExact page title
spaceKeyYesSpace key, e.g. GAR
maxBodyCharsNo

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. It does reveal 'exact title' and 'first match' behavior, which is a useful nuance. However, it omits behavioral traits like response content truncation via maxBodyChars or error behavior when no match is found.

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, succinct sentence that conveys the core purpose without any filler or unnecessary detail. Every word contributes to understanding the 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?

The description is adequate for a simple getter but leaves gaps: it does not explain the effect of maxBodyChars on the returned content, nor does it clarify when to use this tool over the sibling 'confluence_get_page'. The absence of an output schema increases the need for such context.

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

Parameters3/5

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

The description restates spaceKey and exact title, which largely duplicates the schema's existing parameter descriptions. It adds no additional meaning for the maxBodyChars parameter, and with 67% schema coverage, the description could have compensated but does not.

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

Purpose5/5

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

The description clearly states the tool's verb ('Get'), resource ('a page'), and key parameters ('space key' and 'exact title'). The 'first match' qualifier adds distinguishing scope, making it clear this is a direct lookup by title rather than a search.

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 have a space key and exact title, but it does not explicitly state when to use this tool over siblings like 'confluence_search' or 'confluence_get_page'. No alternatives or exclusions are mentioned.

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

confluence_get_page_childrenA

List child pages under a parent page (table of contents / doc tree).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
pageIdYesParent content id

TDQS

A3.5/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 only restates the core action ('List child pages') without adding context on pagination (limit parameter), ordering, permission requirements, or handling of empty results. The description adds little beyond the tool name.

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?

A single sentence that is clear, front-loaded, and contains no wasted words. It efficiently conveys the tool's purpose and context.

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

Completeness2/5

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

Despite the tool's simplicity, the description is incomplete given no output schema and no annotations. It doesn't mention the effect of the limit parameter, response contents, error cases, or traversal depth. The description is minimal and leaves important operational questions unanswered.

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

Parameters2/5

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

Schema description coverage is 50%: pageId is documented, but limit is not. The tool description does not explain limit or any parameter semantics beyond what the schema already says. It fails to compensate for the missing limit documentation, leaving the optional parameter ambiguous.

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

Purpose5/5

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

Description clearly states it lists child pages under a parent page, with the 'table of contents / doc tree' metaphor reinforcing the hierarchical intent. This distinguishes it from sibling tools like get_page (single page retrieval), search (query), and list_spaces (space listing).

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

Usage Guidelines4/5

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

The description implies usage for navigating a document hierarchy or building a TOC, which is clear context. However, it does not explicitly mention when not to use this tool or compare it with alternatives, so it falls short of a full usage guide.

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

confluence_list_spacesA

List Confluence spaces accessible with the token.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax spaces (default 50)
startNoPagination offset (default 0)

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It mentions the token's access scope, which adds useful context, but does not describe pagination behavior, return format, or potential limitations beyond what the schema already indicates. It is minimally adequate for a simple read operation.

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, clear sentence that is front-loaded with the primary action and resource. No filler or redundant information.

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

Completeness4/5

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

For a simple list tool with well-described parameters and no output schema, the description is reasonably complete. It could mention return format or pagination flow, but the combination of the tool name and schema provides enough context for an agent to invoke it correctly.

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 coverage is 100% and both parameters (limit, start) have descriptions and defaults. The tool description adds no extra meaning beyond the schema, 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.

Purpose5/5

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

The description uses a specific verb ('List') and resource ('Confluence spaces'), and clarifies scope ('accessible with the token'). It clearly distinguishes from sibling tools like confluence_search and confluence_get_page by targeting a distinct resource type.

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?

Usage context is implied by the resource type and tool name—listing spaces—but there is no explicit guidance on when to prefer this tool over alternatives, nor any exclusion or alternative mention. Sibling tools are not referenced.

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. 5 tool updatesv0.1.0
    • First observedconfluence_get_page
    • First observedconfluence_get_page_by_title
    • First observedconfluence_get_page_children
    • First observedconfluence_list_spaces
    • First observedconfluence_search

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct resource or access pattern: search uses CQL, get_page uses numeric ID, get_page_by_title uses space+title, list_spaces enumerates spaces, and get_page_children navigates hierarchy. No two tools overlap in purpose.

Naming Consistency5/5

All tools use a consistent 'confluence_' prefix followed by a verb_noun pattern. The two get_page variants are differentiated by suffix 'by_title', maintaining clarity.

Tool Count5/5

Five tools is well-scoped for a read-only Confluence integration; each tool serves a distinct function without redundancy or excessive minimalism.

Completeness4/5

The core read operations are present: search, get by ID, get by title, list spaces, and list children. However, there are no mutation endpoints and no space-level detail tool, leaving minor gaps for a full API surface.

Maintenance

ActivityStale
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

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/rkorablin/confluence-http-api-mcp'

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