A Model Context Protocol (MCP) server for interacting with Confluence Data Center via REST API. This server provides a set of tools that allow AI models to interact with Confluence content. This MCP server provides the following operations for Confluence: - Execute CQL (Confluence Query Language) searches - Get page content by ID - Get page content with body - Find pages by space key - Find page b
Add this skill
npx mdskills install tqiqbal/mcp-confluence-serverComprehensive Confluence integration with clear tool descriptions and setup, but overly broad permissions.
1# Confluence MCP Server23A Model Context Protocol (MCP) server for interacting with Confluence Data Center via REST API. This server provides a set of tools that allow AI models to interact with Confluence content.45## Features67This MCP server provides the following operations for Confluence:89- Execute CQL (Confluence Query Language) searches10- Get page content by ID11- Get page content with body12- Find pages by space key13- Find page by title and space key14- Create new pages (with optional parent page)15- Update existing pages16- Delete pages1718## Installation19201. Clone this repository212. Install dependencies:2223```bash24pip install -r requirements.txt25```2627## Configuration2829Create a `.env` file in the project root with the following variables:3031```32CONFLUENCE_API_BASE=http://localhost:8090/rest/api33CONFLUENCE_USERNAME=your_username34CONFLUENCE_PASSWORD=your_password35```3637Adjust the values to match your Confluence instance.3839## Running the Server4041### Development Mode (Recommended)4243The proper way to run an MCP server is using the MCP CLI tool with the development mode. This will start the MCP Inspector UI which allows you to test and debug the server:4445```bash46mcp dev confluence.py47```4849This will start the MCP Inspector at http://127.0.0.1:6274 by default.5051### Direct Execution (Not Recommended)5253MCP servers are designed to be run with the MCP CLI tool or integrated with Claude Desktop. Direct execution with Python is not the standard way to run an MCP server, but the script includes a fallback mode for testing:5455```bash56python confluence.py57```5859However, this mode has limited functionality and is only intended for basic testing.6061### Installing in Claude Desktop6263To install the server in Claude Desktop:6465```bash66mcp install confluence.py67```6869## API Reference7071### execute_cql_search7273Execute a CQL query on Confluence to search pages.7475**Parameters:**76- `cql`: CQL query string77- `limit`: Number of results to return (default: 10)7879### get_page_content8081Get the content of a Confluence page.8283**Parameters:**84- `pageId`: Confluence Page ID8586### get_page_with_body8788Get a page with its body content.8990**Parameters:**91- `pageId`: Confluence Page ID9293### find_pages_by_space9495Find pages by space key.9697**Parameters:**98- `spaceKey`: Confluence Space Key99- `limit`: Maximum number of results to return (default: 10)100- `expand`: Optional comma-separated list of properties to expand101102### find_page_by_title103104Find a page by title and space key.105106**Parameters:**107- `title`: Page title108- `spaceKey`: Confluence Space Key109110### create_page111112Create a new page in Confluence.113114**Parameters:**115- `title`: Page title116- `spaceKey`: Confluence Space Key117- `content`: Page content in storage format (HTML)118- `parentId`: Optional parent page ID119120### update_page121122Update an existing page in Confluence.123124**Parameters:**125- `pageId`: Confluence Page ID126- `content`: New page content in storage format (HTML)127- `title`: Optional new title for the page128- `spaceKey`: Optional space key (only needed if changing space)129130### delete_page131132Delete a page by ID.133134**Parameters:**135- `pageId`: Confluence Page ID136137## Example Usage138139Once the server is running and connected to an AI model, you can interact with Confluence using natural language. For example:140141- "Find all pages in the DOCS space"142- "Get the content of page with ID 123456"143- "Create a new page titled 'Meeting Notes' in the TEAM space with content '<p>Notes from our meeting</p>'"144- "Update page with ID 123456 to have the content '<p>Updated meeting notes</p>'"145- "Update the title of page 123456 to 'Revised Meeting Notes'"146147## License148149MIT150
Full transparency — inspect the skill content before installing.