A Model Context Protocol (MCP) server that provides tools for interacting with Atlassian products (Confluence and Jira).
This MCP server allows AI agents to interact with Atlassian products through a standardized interface. It provides tools for:
- Confluence: Search content, get spaces, retrieve content, and list pages
- Jira: Search issues, get issue details, list projects, and more
- Node.js (v16 or higher)
- npm or yarn
- Atlassian account with API token
- Docker (optional, for containerized deployment)
-
Clone the repository:
git clone https://github.com/yourusername/mcp-atlassian.git cd mcp-atlassian
-
Install dependencies:
npm install # or using make make install
-
Create a
.env
file in the root directory with your Atlassian credentials:ATLASSIAN_HOST=https://your-domain.atlassian.net ATLASSIAN_EMAIL=your-email@example.com ATLASSIAN_API_TOKEN=your-api-token
-
Clone the repository:
git clone https://github.com/yourusername/mcp-atlassian.git cd mcp-atlassian
-
Create a
.env
file as described above. -
Build and run the Docker container:
# Build the Docker image make docker-build # Run the Docker container make docker-run # Or use Docker Compose make docker-compose
# Using npm
npm start
# Using make
make start
# Using Docker
make docker-run
This will start the MCP server, which will listen for requests on stdin and respond on stdout.
-
search-confluence: Search for content in Confluence using CQL
- Parameters:
query
(string)
- Parameters:
-
get-confluence-space: Get information about a specific Confluence space
- Parameters:
spaceKey
(string)
- Parameters:
-
get-confluence-content: Get specific content by ID
- Parameters:
contentId
(string)
- Parameters:
-
get-confluence-pages: Get all pages in a space
- Parameters:
spaceKey
(string),limit
(number, optional)
- Parameters:
-
search-jira-issues: Search for issues using JQL
- Parameters:
jql
(string),maxResults
(number, optional)
- Parameters:
-
get-jira-issue: Get a specific issue by key
- Parameters:
issueKey
(string)
- Parameters:
-
get-jira-projects: Get all projects
- Parameters: none
-
get-jira-project: Get a specific project by key
- Parameters:
projectKey
(string)
- Parameters:
-
get-jira-issue-types: Get all issue types
- Parameters: none
src/
├── config/ # Configuration files
├── examples/ # Example usage
├── services/ # Service classes for Atlassian APIs
│ ├── confluence.ts
│ └── jira.ts
├── tools/ # MCP tools
│ ├── search-confluence.ts
│ ├── get-confluence-space.ts
│ ├── get-confluence-content.ts
│ ├── get-confluence-pages.ts
│ ├── search-jira-issues.ts
│ ├── get-jira-issue.ts
│ ├── get-jira-projects.ts
│ ├── get-jira-project.ts
│ ├── get-jira-issue-types.ts
│ ├── utils.ts
│ └── index.ts
└── index.ts # Main entry point
# Using npm
npm run build
# Using make
make build
# Using npm
npm test
# Using make
make test
The project includes a Makefile to simplify common operations:
# Display available commands
make help
MIT
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request