confluence-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CONFLUENCE_URL | Yes | The URL of your Confluence instance (e.g., https://yoursite.atlassian.net) | |
| CONFLUENCE_USERNAME | Yes | Your Confluence username (email address) | |
| CONFLUENCE_API_TOKEN | Yes | Your Confluence API token |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_pageA | Get a Confluence page by ID. Args: page_id: The numeric page ID. include_body: Whether to include page content (default: True). body_format: Return body as "markdown", "storage", or "view" (default: markdown). output_file: If provided, write the page body to this file path instead of returning it in the response. Keeps the LLM context clean. include_images: If True and output_file is set, download images and rewrite URLs to local paths. images_dir: Directory to save images to. Defaults to pictures/ next to the output file. Set this to control where images land. |
| get_page_treeA | Get a page and all its descendants as a flat list. When output_dir is set, saves each page as a .md file and downloads all images — same as the fetch-confluence skill. Args: page_id: The root page ID. include_body: If True, fetch each page's body in markdown (slower). output_dir: If provided, write each page as a separate .md file to this directory. Files are named by depth and title. include_images: If True and output_dir is set, download all image attachments and rewrite URLs in markdown. images_dir: Directory to save images to. Defaults to pictures/ inside output_dir. Set this to control where images land. |
| get_page_sectionsA | List all sections (headings) of a page with their content. Args: page_id: The page ID. |
| get_sectionA | Get content of a specific section by heading name. Args: page_id: The page ID. heading: The exact heading text to find. body_format: "markdown" or "storage" (default: markdown). output_file: If provided, write section content to this file. |
| search_pagesA | Search Confluence pages using CQL or simple text. Args: query: CQL query or simple text. limit: Max results (1-50, default 10). |
| update_pageA | Update an entire page's content. Content can come from the body parameter OR from a file via input_file. Using input_file avoids sending large content through the LLM. Args: page_id: The page ID. body: The new page body (ignored if input_file is provided). title: New title (optional, keeps current if not provided). body_format: "markdown" or "storage" (default: markdown). version_message: Optional commit message for this version. input_file: Path to a file whose content will be used as the page body. The file format is determined by body_format. |
| update_sectionA | Surgically replace the content of a specific section by heading. Only the section under the specified heading is changed; the rest of the page is untouched. Args: page_id: The page ID. heading: The heading text identifying the section. new_content: The replacement content (ignored if input_file is provided). content_format: "markdown" or "storage" (default: markdown). version_message: Optional commit message. input_file: Path to a file whose content replaces the section. |
| append_to_sectionA | Append content to the end of a specific section. Args: page_id: The page ID. heading: The heading text identifying the section. content: Content to append (ignored if input_file is provided). content_format: "markdown" or "storage". version_message: Optional commit message. input_file: Path to a file whose content will be appended. |
| find_replace_in_pageB | Find and replace text within a page, preserving all HTML structure. Args: page_id: The page ID. find_text: Text to search for. replace_text: Text to replace it with. version_message: Optional commit message. |
| create_pageA | Create a new Confluence page. Args: space_id: The space ID (numeric). title: Page title. body: Page content (ignored if input_file is provided). parent_id: Optional parent page ID. body_format: "markdown" or "storage" (default: markdown). input_file: Path to a file whose content becomes the page body. |
| list_attachmentsC | List all attachments on a page. Args: page_id: The page ID. |
| download_attachmentA | Download an attachment from a page by filename. Args: page_id: The page ID. filename: The attachment filename. output_file: If provided, save the attachment to this file path instead of returning base64 in the response. |
| upload_attachmentA | Upload a file as an attachment to a page. Can upload from a local file (input_file) or from base64 content. Args: page_id: The page ID. filename: Name for the attachment (auto-detected from input_file if not given). content_base64: File content as base64 (ignored if input_file is provided). content_type: MIME type (auto-detected from filename if not given). comment: Optional comment for the attachment. input_file: Path to a local file to upload directly. |
| upload_image_and_embedA | Upload an image and optionally embed it in the page. Can upload from a local file (input_file) or from base64 content. Args: page_id: The page ID. filename: Name for the image file (auto-detected from input_file). image_base64: Image content as base64 (ignored if input_file is provided). content_type: MIME type (auto-detected from filename if not given). replace_url: If provided, replaces this external image URL in the page body with the new attachment reference. input_file: Path to a local image file to upload directly. |
| list_page_imagesB | List all image references in a page. Args: page_id: The page ID. |
| get_labelsB | Get labels on a page. Args: page_id: The page ID. |
| add_labelC | Add a label to a page. Args: page_id: The page ID. label: The label text. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/1vecera/confluence-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server