@abhishek8380/confluence-mcp-server
v1.0.5
Published
MCP server for Confluence wiki operations (search, create, update, delete pages)
Downloads
147
Maintainers
Readme
Confluence MCP Server
A Model Context Protocol (MCP) server for Confluence wiki operations. This server enables AI assistants to interact with Confluence wikis through a standardized interface.
Features
- 🔍 Search for parent pages and spaces
- 📄 Create, read, update, and delete Confluence pages
- 🧠 Dual naming: every tool is available under both
confluence_*andqwiki_*aliases so teammates can use their preferred terminology - 🔐 Secure Bearer token authentication
- 🚀 Zero installation with npx
Quick start for Qwiki CRUD
Most workflows need a space key, page ID, or exact title before CRUD actions.
If you're new to Qwiki/Confluence, ask: “List all spaces so I can find my space key.”
To find a specific space, ask: “Search spaces for ‘’.”
When searching spaces, include your module code or module name so fuzzy matches can surface the right space.
Example: space keyCVwith name "Cloud View".
Installation
No installation required! Use with npx in your MCP client configuration.
Configuration for Windsurf
Add this to your Windsurf MCP configuration file (~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"confluence": {
"command": "npx",
"args": ["-y", "@abhishek8380/confluence-mcp-server"],
"env": {
"CONFLUENCE_URL": "https://your-confluence-instance.com",
"CONFLUENCE_USER": "your-username",
"CONFLUENCE_API_TOKEN": "your-api-token"
}
}
}
}Getting Your Confluence API Token
- Log in to your Confluence instance
- Go to Profile → Settings → Personal Access Tokens (or API Tokens)
- Create a new token with read/write permissions
- Copy the token and use it as
CONFLUENCE_API_TOKEN
Configuration for Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"confluence": {
"command": "npx",
"args": ["-y", "@abhishek8380/confluence-mcp-server"],
"env": {
"CONFLUENCE_URL": "https://your-confluence-instance.com",
"CONFLUENCE_USER": "your-username",
"CONFLUENCE_API_TOKEN": "your-api-token"
}
}
}
}Available Tools
Every tool below can be called with either its confluence_* name or the qwiki_* alias shown in parentheses.
Search pages
search_pages (
qwiki_search_pages): Search for potential parent pages in a space.spaceKey(string): The space key to search insearchTerm(string): Search term for partial title matchlimit(number, optional): Maximum results (default: 10)
get_page_by_id (
qwiki_get_page_by_id): Retrieve a specific page by its ID.pageId(string): The Confluence page IDexpand(string, optional): Fields to expand (default: "body.storage,version,space")
Create pages
create_page (
qwiki_create_page): Create a new Confluence page.spaceKey(string): The space key where the page will be createdtitle(string): The title of the new pagecontent(string): HTML content in Confluence storage formatparentId(string, optional): Parent page ID to create as child page
create_child_page_by_parent_title (
qwiki_create_child_page_by_parent_title): Create a child page by searching for the parent page title.spaceKey(string): The space keyparentTitle(string): Title or partial title of the parent pagechildTitle(string): Title of the new child pagecontent(string): HTML content in Confluence storage format
Update & delete
update_page (
qwiki_update_page): Update an existing Confluence page.pageId(string): The ID of the page to updatetitle(string, optional): New title for the pagecontent(string, optional): New HTML contentversionNumber(number, optional): Current version (auto-fetched if not provided)
delete_page (
qwiki_delete_page): Delete a Confluence page (moves to trash).pageId(string): The ID of the page to delete
Search spaces
search_spaces (
qwiki_search_spaces): Search for Confluence spaces by name (supports partial/fuzzy matching).searchTerm(string): Search term to find spaceslimit(number, optional): Maximum results (default: 10)
list_spaces (
qwiki_list_spaces): Get a list of all available Confluence spaces.limit(number, optional): Maximum results (default: 550)
Content Format
Pages use Confluence storage format (HTML). Example:
<h1>Page Title</h1>
<p>This is a paragraph with <strong>bold text</strong>.</p>
<table>
<tbody>
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
</tr>
</tbody>
</table>
<ac:structured-macro ac:name="info">
<ac:rich-text-body>
<p>This is an info box</p>
</ac:rich-text-body>
</ac:structured-macro>Local Development
Clone the repository
Install dependencies:
npm installCreate
.envfile:cp .env.example .env # Edit .env with your credentialsRun the server:
npm start
License
MIT
Author
Abhishek Bhadane
Package
https://www.npmjs.com/package/@abhishek8380/confluence-mcp-server
