jiri-mcp
# jiri-mcp — Jira MCP Server
An MCP (Model Context Protocol) server that connects AI agents to Jira Cloud, enabling natural language issue management.
## Features
| Tool | Description |
|------|-------------|
| `search_issues` | Search issues with JQL |
| `get_issue` | Get full issue details |
| `create_issue` | Create new issues |
| `update_issue` | Update issue fields |
| `add_comment` | Add comments |
| `list_transitions` | List available status transitions |
| `transition_issue` | Change issue status |
| `assign_issue` | Assign/unassign issues |
| `list_projects` | List accessible projects |
| `search_users` | Search users by name/email |
## Setup
### 1. Install dependencies
```bash
npm install
```
### 2. Configure environment
Copy the example env file and fill in your credentials:
```bash
cp .env.example .env
```
You'll need:
- **JIRA_HOST** — Your Jira Cloud URL (e.g., `https://yourcompany.atlassian.net`)
- **JIRA_EMAIL** — Your Atlassian account email
- **JIRA_API_TOKEN** — API token from [Atlassian API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens)
### 3. Build
```bash
npm run build
```
## Usage
### With Antigravity
Copy `mcp_config.json` to your Antigravity config directory and update the environment variables:
```bash
# Global config (all projects)
cp mcp_config.json ~/.gemini/config/mcp_config.json
# Or project-specific
cp mcp_config.json .agents/mcp_config.json
```
Edit the copied file to add your real credentials:
```json
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["/absolute/path/to/jiri-mcp/dist/index.js"],
"env": {
"JIRA_HOST": "https://yourcompany.atlassian.net",
"JIRA_EMAIL": "you@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}
```
### Development mode
```bash
npm run dev
```
### Production
```bash
npm run build
npm start
```
## Example prompts
Once connected, you can ask your AI agent things like:
- *"Search for open bugs in project MYAPP"*
- *"What's the status of MYAPP-123?"*
- *"Create a task in MYAPP: Fix login timeout with priority High"*
- *"Move MYAPP-456 to In Progress"*
- *"Add a comment to MYAPP-789: Deployed fix to staging"*
- *"Who's assigned to MYAPP-321?"*
## License
MIT
TDQS
Scored across 10 tools
Each tool targets a clearly distinct Jira operation: creation, retrieval, updating, searching, commenting, transitions, assignment, projects, and user lookup. The closely related list_transitions and transition_issue are deliberately separated into discovery and execution steps.
All tool names follow a consistent verb_noun snake_case pattern, such as create_issue, list_projects, and search_users. The naming style is uniform and predictable across the entire set.
Ten tools is well-scoped for a Jira MCP server, covering core issue management without unnecessary bloat. Every tool serves a useful, non-redundant purpose in the workflow.
The tool surface covers the core Jira lifecycle: create, read, update, search, comment, transition, assign, plus project and user lookup. Minor gaps remain, such as issue deletion or attachment handling, but they are not essential for typical agent workflows.