The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Jira Github MCP listing page.
A modular and extensible Model Context Protocol (MCP) server for Jira and GitHub integration, enabling end-to-end automation of developer workflows - from issue tracking to code changes and pull request management - via AI agents inside the IDE.
Developers constantly context-switch between Jira, GitHub, and their IDE, breaking focus and slowing down delivery. This project transforms that workflow into a seamless, IDE-native, conversational experience, allowing developers to move from Jira issue to merged pull request using natural language and AI-assisted automation.
| Tool | Description |
|---|---|
jira_get_issue | Retrieve a Jira issue by key (e.g., KAN-1) with configurable fields |
jira_search_issues | Search Jira using JQL; paginate and filter results |
jira_get_my_issues | List issues assigned to the current user, optionally filtered by status/type... |
jira_transition_issue | Move an issue to another status with optional comment |
create_branch_for_issue | Create a new Git branch (e.g., feature/KAN-15) based on a Jira issue |
create_pull_request | Create a PR on GitHub from a branch |
git_commit_and_push | Stage all changes, commit with a message, and push to a branch |
merge_pull_request | Merge a PR using squash, merge, or rebase; optionally check CI status |
src/ — Application source code
server/ — MCP server entry point and tool registrationconfig/ — Configuration loading for Jira and GitHubproviders/ — Jira/GitHub API clients and local Git operationstools/ — MCP tool definitions and implementationsresources/ — MCP resources (workflow guidance, issue context)prompts/ — AI-facing prompts used internally by the server to guide agent behaviortests/ — Integration and unit testspyproject.toml — Project metadata and dependenciesuv.lock — Dependency lockfileHigh-level overview of the system design and main components.
See full architecture documentation: docs/architecture.md
Using uv (recommended)
Or with python
Using uv (recommended):
Or with pip:
The project depends on:
fastmcp: MCP protocol and server utilitiesCreate a .env file in the repository root:
Notes:
JIRA_BASE_URL should not end with /Run the server as a Python module:
If you defined an entrypoint, you can also run:
To use this server with an MCP client (e.g., VS Code / GitHub Copilot), configure the client to run the server from the project root.
Example MCP configuration:
Note: Replace
/absolute/path/to/mcp-serverwith the actual path to the repository.
Here's how to connect and start using the server with Copilot:
This example demonstrates a complete issue-to-merge flow using GitHub Copilot with this MCP server.
Discover the next task
Ask Copilot:
"What is the most urgent task assigned to me?"
Call Tools:
jira_get_my_issues — list issues assigned to the userjira_search_issues — prioritize by status or urgencySelected issue: KAN-42
Start working on the issue
Ask Copilot:
"Start work on KAN-42"
Call Tools:
jira_get_issue(issue_key="KAN-42")create_branch_for_issue(issue_key="KAN-42")jira_transition_issue(issue_key="KAN-42", to_status="In Progress")Make changes in your editor.
Commit changes
Ask Copilot:
"Commit my changes with message 'Implement KAN-42'"
Call Tools:
git_commit_and_push(message="Implement KAN-42", branch="feature/KAN-42")Create a pull request
Ask Copilot:
"Create a PR for KAN-42"
Call Tools:
create_pull_request(issue_key="KAN-42", branch_name="feature/KAN-42")jira_transition_issue(issue_key="KAN-42", to_status="In Review")Code review and CI checks run on GitHub.
Merge and close the issue
Ask Copilot:
"Merge the PR and move KAN-42 to Done"
Call Tools:
merge_pull_request(pr_number=123)jira_transition_issue(issue_key="KAN-42", to_status="Done")Issue closed, code merged, workflow complete.
This MCP server provides a clear and traceable development workflow by connecting Jira and GitHub through a single conversational interface.
By reducing manual coordination and keeping issues, branches, and pull requests in sync, it helps teams focus on development rather than process.
Designed with a focus on clarity, extensibility, and developer experience.