vibe coded jira mcp
A Model Context Protocol server that enables seamless integration between Cursor IDE and JIRA, allowing users to retrieve issues, execute JQL searches, and log work through natural language interactions.
A Model Context Protocol server that enables seamless integration between Cursor IDE and JIRA, allowing users to retrieve issues, execute JQL searches, and log work through natural language interactions.
A simple Model Context Protocol (MCP) "vibe-coded" server for integrating JIRA with Cursor IDE. MCP is an open protocol that enables seamless integration between LLM applications and external data sources and tools.
This implementation started out by discarding another JIRA MCP server that we failed to init in Cursor.
BEWARE! Even this document is almost entirely written by AI coding assistant.
graph LR
A[Start Search] -->|Enter JQL| B[Search Query]
B -->|Apply Filters| C[Results]
C -->|Select Fields| D[Customized View]
D -->|Pagination| E[More Results]
subgraph Search Options
F[JQL Query]
G[Field Selection]
H[Result Limit]
I[Start Position]
end
B -->|Uses| F
C -->|Uses| G
C -->|Uses| H
C -->|Uses| I
graph LR
A[Find Source Issue] -->|Copy Key| B[Clone Issue]
B -->|Customize Fields| C[Modified Clone]
C -->|Create| D[New Issue]
subgraph Clone Options
E[Change Project]
F[Modify Fields]
G[Copy Attachments]
H[Add Source Link]
end
B -->|Can Use| E
B -->|Can Use| F
B -->|Can Use| G
B -->|Can Use| H
For detailed technical architecture and system workflows, including issue lifecycle and authentication flows, see ARCHITECTURE.md.
This server implements the Model Context Protocol specification, allowing Cursor IDE to seamlessly interact with JIRA data through its AI features. The protocol standardizes how LLM applications communicate with external data sources and tools.
Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venvScriptsactivate
Install dependencies:
pip install -r requirements.txt
Configure environment variables:
Create a .env
file with:
JIRA_URL=your_jira_url
JIRA_USERNAME=your_username
JIRA_API_TOKEN=your_api_token
Run the server:
./run-jira-mcp.sh
The project follows a modular structure:
src/
├── core/ # Core JIRA client implementation
│ ├── __init__.py
│ ├── client.py # JiraClient class
│ └── config.py # Configuration management
├── models/ # Pydantic models for validation
│ ├── __init__.py
│ ├── comment.py # Comment-related models
│ ├── issue.py # Issue-related models
│ └── worklog.py # Worklog-related models
└── operations/ # MCP operation implementations
├── __init__.py
├── comments.py # Comment operations
├── issues.py # Issue operations
├── projects.py # Project operations
└── worklog.py # Worklog operations
src/models/
)IssueType
, IssueArgs
- Issue creation/update modelsIssueTransitionArgs
- Issue state transition modelCloneIssueArgs
- Issue cloning modelCommentArgs
, GetCommentsArgs
- Comment modelsLogWorkArgs
- Work logging model
Core (src/core/
)
JiraClient
- Main JIRA API clientJiraConfig
- Configuration managementError handling and logging
Operations (src/operations/
)
The project follows the implementation plan outlined in IMPLEMENTATION_PLAN.md
.
Current version: v0.4 - ✅ Basic JIRA integration - ✅ Search functionality with JQL support - ✅ Issue management (create, update, clone) with limitations for heavily customized projects - ✅ Comment functionality - ✅ Work logging
MIT
This tool is primarily designed for personal workflow automation and individual developer use. Please be aware of the following security considerations:
If you choose to use this tool, please ensure:
.env
file is properly secured and not committed to version controlThis tool is not currently hardened for enterprise security requirements. If you need a solution for enterprise deployment, consider: - Implementing additional security controls - Conducting a security review - Contributing security improvements back to the project - Using official enterprise-grade alternatives
For security-related concerns or to report vulnerabilities, please open an issue or contact the maintainers directly.