ultra-confluence-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CONFLUENCE_HOST | Yes | Your Confluence instance URL (e.g., https://yourcompany.atlassian.net) | |
| CONFLUENCE_EMAIL | Yes | Your Atlassian account email | |
| CONFLUENCE_CLOUD_ID | No | Cloud ID for scoped tokens (auto-fetched if not provided) | |
| CONFLUENCE_API_TOKEN | Yes | API token from Atlassian Account Settings | |
| CONFLUENCE_DISABLED_TOOLS | No | Comma-separated list of specific tools to disable | |
| CONFLUENCE_ENABLED_CATEGORIES | No | Comma-separated list of tool categories to enable (default: all) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| confluence_get_pagesA | Get all pages. Returns pages filtered by various parameters. Results are paginated - use the returned cursor to fetch more pages if you don't find what you need. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_pageA | Get a specific page by ID. Returns detailed page information including body content. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_create_pageA | Create a new page in a space. Requires space ID, title, and body content. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_update_pageA | Update an existing page. Requires page ID, new title, body, and current version number. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_delete_pageA | Delete a page. By default moves to trash; use purge=true to permanently delete. |
| confluence_get_pages_in_spaceA | Get all pages in a specific space. Results are paginated - use the returned cursor to fetch more pages if you don't find what you need. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_pages_for_labelA | Get all pages with a specific label. Results are paginated - use the returned cursor to fetch more pages if you don't find what you need. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_create_page_from_markdownA | Create a new page from Markdown. Converts to Atlassian Document Format (ADF) — the recommended path for modern Confluence Cloud. Renders ```mermaid code blocks natively as Mermaid diagrams (via the Confluence Mermaid app). Supports headings, bold/italic/strikethrough, links, images (as external media), ordered/unordered lists, tables, blockquotes, code blocks with syntax highlighting, inline code, and horizontal rules. For large documents, use markdownFilePath instead of markdown to avoid tool call size limits. Use |
| confluence_update_page_from_markdownA | Update an existing page from Markdown. Converts to Atlassian Document Format (ADF) — the recommended path for modern Confluence Cloud. Renders ```mermaid code blocks natively as Mermaid diagrams (via the Confluence Mermaid app). Supports headings, bold/italic/strikethrough, links, images (as external media), ordered/unordered lists, tables, blockquotes, code blocks with syntax highlighting, inline code, and horizontal rules. For large documents, use markdownFilePath instead of markdown to avoid tool call size limits. Use |
| confluence_create_page_from_markdown_legacyA | Legacy: create a page using Confluence storage format (XHTML). Prefer |
| confluence_update_page_from_markdown_legacyA | Legacy: update a page using Confluence storage format (XHTML). Prefer |
| confluence_get_spacesA | Get all spaces. Returns spaces filtered by various parameters. Results are paginated - use the returned cursor to fetch more pages if you don't find what you need. To find a space by name, use |
| confluence_get_spaceA | Get a specific space by ID or key. Returns detailed space information. Provide either spaceId (numeric) or spaceKey (e.g. 'ENG' or '~712020...' for personal spaces). When spaceKey is given, it is resolved to a numeric id via /spaces?keys=... Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_create_spaceA | Create a new space. Requires name and key. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_update_spaceA | Update an existing space. Can update name, description, etc. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_delete_spaceA | Delete a space. This permanently deletes the space and all its content. |
| confluence_get_blog_postsA | Get all blog posts. Returns blog posts filtered by various parameters. Results are paginated - use the returned cursor to fetch more pages if you don't find what you need. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_blog_postB | Get a specific blog post by ID. Returns detailed blog post information including body content. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_create_blog_postA | Create a new blog post in a space. Requires space ID, title, and body content. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_update_blog_postA | Update an existing blog post. Requires blog post ID, new title, body, and current version number. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_delete_blog_postA | Delete a blog post. By default moves to trash; use purge=true to permanently delete. |
| confluence_get_blog_posts_in_spaceA | Get all blog posts in a specific space. Results are paginated - use the returned cursor to fetch more pages if you don't find what you need. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_page_footer_commentsA | Get footer comments on a specific page. Results are paginated - use the returned cursor to fetch more if needed. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_page_inline_commentsA | Get inline comments on a specific page. Results are paginated - use the returned cursor to fetch more if needed. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_blog_post_footer_commentsA | Get footer comments on a specific blog post. Results are paginated - use the returned cursor to fetch more if needed. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_footer_commentA | Get a specific footer comment by ID. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_create_page_footer_commentA | Create a footer comment on a page. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_create_blog_post_footer_commentA | Create a footer comment on a blog post. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_update_footer_commentB | Update an existing footer comment. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_delete_footer_commentC | Delete a footer comment. |
| confluence_get_page_attachmentsA | Get attachments on a specific page. Results are paginated - use the returned cursor to fetch more if needed. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_blog_post_attachmentsA | Get attachments on a specific blog post. Results are paginated - use the returned cursor to fetch more if needed. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_attachmentA | Get a specific attachment by ID. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_delete_attachmentC | Delete an attachment. |
| confluence_get_page_labelsA | Get labels on a specific page. Results are paginated - use the returned cursor to fetch more if needed. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_add_page_labelA | Add a label to a page. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_remove_page_labelC | Remove a label from a page. |
| confluence_get_blog_post_labelsA | Get labels on a specific blog post. Results are paginated - use the returned cursor to fetch more if needed. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_add_blog_post_labelA | Add a label to a blog post. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_remove_blog_post_labelB | Remove a label from a blog post. |
| confluence_get_space_labelsA | Get labels on a specific space. Results are paginated - use the returned cursor to fetch more if needed. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_add_space_labelA | Add a label to a space. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_remove_space_labelB | Remove a label from a space. |
| confluence_cql_searchA | Search Confluence using CQL (Confluence Query Language). Use this for advanced searches of pages, blog posts, attachments, and comments. Supports complex queries with operators like AND, OR, text~, created>=, etc. Results are paginated - if you don't find what you need, use the returned cursor to fetch more pages until found or no more results. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_search_contentA | Simple text search for pages and blog posts by title or content. For more complex searches, use confluence_cql_search instead. Results are paginated - if you don't find what you need, use the returned cursor to fetch more pages until found or no more results. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_search_generic_contentA | Search for generic content types: databases, whiteboards, folders, or embeds. NOT for pages or blog posts — use confluence_cql_search or confluence_search_content for those. Results are paginated — use the returned cursor to fetch more pages if needed. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_current_userA | Get information about the currently authenticated user (the user associated with the API token). Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_userA | Get a specific user by account ID. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_usersA | Get multiple users. Results are paginated - use the returned cursor to fetch more pages if you don't find what you need. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_page_versionsA | Get version history for a specific page. Results are paginated - use the returned cursor to fetch more if needed. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_page_versionA | Get a specific version of a page. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_blog_post_versionsA | Get version history for a specific blog post. Results are paginated - use the returned cursor to fetch more if needed. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_blog_post_versionA | Get a specific version of a blog post. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_page_propertiesC | Get content properties for a specific page. Results are paginated - use the returned cursor to fetch more if needed. |
| confluence_get_page_propertyB | Get a specific content property by key for a page. |
| confluence_create_page_propertyB | Create a content property on a page. |
| confluence_update_page_propertyB | Update a content property on a page. |
| confluence_delete_page_propertyB | Delete a content property from a page. |
| confluence_get_page_ancestorsA | Get ancestors (parent pages) of a specific page, from immediate parent to root. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_page_descendantsA | Get descendants (child pages, grandchildren, etc.) of a specific page. Results are paginated - use the returned cursor to fetch more if needed. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_page_childrenA | Get direct children of a specific page. Results are paginated - use the returned cursor to fetch more if needed. Output is trimmed by default (drops _links, _expandable, body content, etc.); pass full=true to receive the raw Confluence response. |
| confluence_get_server_infoA | Get information about the Confluence server/cloud instance, including the cloud ID. |
| confluence_render_bodyA | Render a page body that was offloaded to disk by an earlier read. Reads the file at |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Confluence Spaces | List of all accessible Confluence spaces |
| Current User | Information about the currently authenticated user |
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/criblio/ultra-confluence-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server