Jira MCP Server
by ahmetbarut
README.md
# Jira MCP Server
A modular, extensible Model Context Protocol (MCP) server for interacting with Jira Cloud. This project provides a set of tools to query boards, issues, user information, and more, making it easy to integrate Jira with AI agents, bots, or other automation systems.
## 🚀 Features
- List all available Jira scrum boards
- List your own issues for a specific board
- Add comments to Jira issues (ADF-compliant)
- Get current authenticated user information
- Search for users by login, email, or display name
- Get Jira server information (including server time)
- Modular, extensible, and easy to contribute
## 🛠️ Requirements
- Node.js 18+
- Access to a Jira Cloud instance
- Jira API Token (see [Jira API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens))
## ⚙️ Environment Variables
Set the following environment variables in your shell or `.env` file:
```
JIRA_BASE_URL=https://your-domain.atlassian.net
JIRA_EMAIL=your-email@company.com
JIRA_API_TOKEN=your-jira-api-token
```
## 🚀 Quick Start (with npx)
You can run the Jira MCP Server instantly with npx, no global install required:
```bash
npx -y @ahmetbarut/jira-mcp-server
```
Or, if you want to use it as an MCP tool in a config file (e.g. `mcp.json`):
```json
{
"Jira MCP Server": {
"command": "npx",
"args": ["-y", "@ahmetbarut/jira-mcp-server"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "your-email@company.com",
"JIRA_API_TOKEN": "your-jira-api-token"
}
}
}
```
- No need for `npm install` or global install.
- All dependencies are handled by `npx`.
- You can set your Jira credentials in the `env` section.
> **Note:** The first run may take a few seconds as `npx` downloads the package.
## 📦 Installation & Setup
1. **Clone the repository (optional):**
```bash
git clone https://github.com/ahmetbarut/jira-mcp.git
cd jira-mcp-server
```
2. **Install globally (optional):**
```bash
npm install -g @ahmetbarut/jira-mcp-server
```
3. **Set environment variables:**
- See above for required variables.
4. **Build the project (if using from source):**
```bash
npm run build
```
5. **Run the server:**
```bash
jira-mcp-server
# or
npx -y @ahmetbarut/jira-mcp-server
```
## 🧩 Usage
This server is designed to be used as an MCP tool server, typically via stdio. You can interact with it using the [Model Context Protocol Inspector](https://github.com/modelcontextprotocol/inspector) or integrate it into your own MCP-compatible agent.
### Example: List Boards
```bash
npx @modelcontextprotocol/inspector --cli npx -y @ahmetbarut/jira-mcp-server --method tools/call --tool-name get_boards
```
### Example: Get Your Issues for a Board
```bash
npx @modelcontextprotocol/inspector --cli npx -y @ahmetbarut/jira-mcp-server --method tools/call --tool-name get_issues --tool-arg boardId=123
```
### Example: Add a Comment to an Issue
```bash
npx @modelcontextprotocol/inspector --cli npx -y @ahmetbarut/jira-mcp-server --method tools/call --tool-name add_comment_to_issue --tool-arg issueIdOrKey=PROJ-123 --tool-arg body="This is a test comment."
```
## 🧰 Available Tools
- **get_boards**: List all available Jira scrum boards
- **get_issues**: List your issues for a specific board
- **add_comment_to_issue**: Add a comment to a Jira issue (ADF-compliant)
- **get_current_user_info**: Get current authenticated user information
- **search_user**: Search for a user by login, email, or display name
- **get_server_info**: Get Jira server information (including server time)
## 🏗️ Project Structure
- `src/index.ts` — Main server entry point and tool dispatcher
- `src/tools.ts` — Tool definitions and schemas
- `src/handlers.ts` — Tool handler implementations (business logic)
- `src/jiraApi.ts` — Jira API helpers and configuration
- `src/types.ts` — TypeScript types and interfaces
## 🤝 Contributing
Contributions are welcome! Please follow these steps:
1. **Fork the repository**
2. **Create a new branch** for your feature or bugfix:
```bash
git checkout -b my-feature
```
3. **Write clear, well-documented code**
4. **Add or update tests** if applicable
5. **Open a pull request** with a clear description of your changes
6. **Ensure your code passes lint and build checks**
### Code Style
- Use TypeScript and follow the existing modular structure
- Keep business logic in `handlers.ts` and API helpers in `jiraApi.ts`
- Write clear commit messages
### Issues
If you find a bug or have a feature request, please open an issue on GitHub with as much detail as possible.
## 📄 License
This project is licensed under the MIT License. See [LICENSE](LICENSE) for details.
---
**Happy automating with Jira MCP Server!**
TDQS
A3.7/5.0
Scored across 7 tools
Disambiguation5/5
Each tool targets a distinct resource or action: boards, issues, user info, server info, and comments. There is no overlap in functionality.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern using snake_case, e.g., get_boards, get_issues, add_comment_to_issue. The naming is predictable and clear.
Tool Count5/5
With 7 tools, the set is well-scoped for a Jira server, covering essential operations on boards, issues, users, and server info without being excessive.
Completeness3/5
The set lacks issue creation, update, and deletion, which are core operations for a Jira server. Agents cannot complete full issue lifecycle tasks, leaving notable gaps.
Maintenance
ActivityInactive
ResponsivenessNo issues