This repository demonstrates how to build a Confluence MCP Server using the Embabel Framework and Spring Boot. The application acts as a bridge between AI agents (like Claude Desktop) and the Atlassian Confluence REST API, allowing the AI to manage documentation, list spaces, and create pages through natural language.
⚠️ Note: This is not an official Confluence MCP server provided by Atlassian. It is a demo Confluence MCP server created specifically to demonstrate how developers can build their own MCP servers that interact with REST APIs using the Embabel Framework.
📖 Complete Guide: For detailed explanations and a full code walkthrough, read our comprehensive tutorial.
👉 Embabel Framework: Build Confluence MCP Server
🎥 Video Tutorial: Prefer hands-on learning? Watch our step-by-step implementation guide.
👉 YouTube Tutorial - Connect AI to Confluence: Build an MCP Server Using the Embabel Framework
This application showcases how to connect AI agents to external REST APIs using the MCP Server:
- Model Context Protocol (MCP) implementation using Embabel's
embabel-agent-starter-mcpserver. - REST API Integration connecting an AI agent to Confluence Cloud behind the scenes.
- Tool Exposure using Embabel's
@Exportannotation to turn Java service methods into AI tools. - Confluence Operations including listing spaces, creating pages, fetching history, and reading metadata.
Before running this application, ensure you have:
- Java 21 or higher
- OpenRouter API Key (free tier available at OpenRouter.ai)
- Node.js (Optional, required if testing with MCP Inspector)
- Claude Desktop App (Optional, for real-world agent testing)
git clone https://github.com/BootcampToProd/embabel-confluence-mcp-server.git
cd eembabel-confluence-mcp-serverProvide your OpenRouter API key, Confluence base url and confluence token as environment variables.
OPENAI_API_KEY={YOUR_OPENROUTER_API_KEY}
CONFLUENCE_BASE_URL="https://your-domain.atlassian.net/wiki/api/v2"
CONFLUENCE_AUTH_TOKEN="confluence-base64-encoded-token"mvn clean installmvn spring-boot:runThe server will start on http://localhost:8080. The MCP endpoint is exposed at /sse.
You can test the server using Claude Desktop or the MCP Inspector.
-
Open your Claude Desktop configuration file:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Mac:
-
Add the following configuration:
{
"mcpServers": {
"embabel-file-manager": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:8080/sse"
]
}
}
}-
Restart Claude Desktop. You should see a connection icon.
-
Ask Claude: "Retrieve the list of Confluence spaces"
If you want to debug the tools manually:
- Ensure the Spring Boot app is running.
- Run the inspector in your terminal:
npx @modelcontextprotocol/inspector
- In the browser window that opens:
- Select SSE.
- Enter URL:
http://localhost:8080/sse. - Click Connect and test the tools via the UI.