jira-bitbucket-mcp
Provides tools for interacting with a self-hosted Bitbucket Server/Data Center instance, including listing repositories and pull requests, retrieving diffs, branches, commits, and files, plus creating and updating pull requests, adding comments, and reviewing pull requests.
Provides tools for interacting with a self-hosted Jira Server/Data Center instance, including searching issues with JQL, retrieving and managing issues, comments, transitions, assignments, worklogs, and project metadata.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
jira-bitbucket-mcp
Two Model Context Protocol servers in one npm package, for self-hosted Atlassian instances:
Server | Target | REST API |
| Jira Server / Data Center |
|
| Bitbucket Server / Data Center |
|
These are Server / Data Center APIs. The Jira Cloud v3 API with
accountId-based fields is not supported, and neither is the Bitbucket Cloud 2.0 API. If you are on Atlassian Cloud, use a Cloud-specific MCP server instead.
Both servers speak MCP over stdio and work with any MCP client (VS Code, Claude Desktop, Cursor, Zed, custom agents, …).
Requirements
Node.js >= 18.17
A Jira and/or Bitbucket Server / Data Center instance reachable over HTTPS
A personal access token for each instance
Related MCP server: Atlassian Data Center MCP
Getting tokens
Jira: avatar → Profile → Personal Access Tokens → Create token
Bitbucket: avatar → Manage account → Personal Access Tokens → Create token (needs Repository read, plus write for PR actions)
Use your own token so actions are attributed to you.
Usage
No install needed — run either server with npx:
JIRA_BASE_URL=https://jira.example.com JIRA_PAT=xxx npx -y jira-bitbucket-mcp jiraOr install globally, which puts jira-bitbucket-mcp on your PATH:
npm install -g jira-bitbucket-mcpVS Code
Add to .vscode/mcp.json (workspace) or your user mcp.json:
{
"inputs": [
{ "id": "jira-pat", "type": "promptString", "description": "Jira PAT", "password": true },
{ "id": "bitbucket-token", "type": "promptString", "description": "Bitbucket token", "password": true }
],
"servers": {
"jira": {
"command": "npx",
"args": ["-y", "jira-bitbucket-mcp", "jira"],
"env": {
"JIRA_BASE_URL": "https://jira.example.com",
"JIRA_PAT": "${input:jira-pat}",
"JIRA_DEFAULT_PROJECT": "PROJ"
}
},
"bitbucket": {
"command": "npx",
"args": ["-y", "jira-bitbucket-mcp", "bitbucket"],
"env": {
"BITBUCKET_BASE_URL": "https://bitbucket.example.com",
"BITBUCKET_TOKEN": "${input:bitbucket-token}",
"BITBUCKET_DEFAULT_PROJECT": "PROJ",
"BITBUCKET_DEFAULT_REPO": "my-repo"
}
}
}
}Then: Command Palette → MCP: List Servers → start jira and/or bitbucket. You are prompted for each token once and VS Code stores it in the OS secret store.
Claude Desktop and other clients
In claude_desktop_config.json, or the equivalent config of your client:
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "jira-bitbucket-mcp", "jira"],
"env": {
"JIRA_BASE_URL": "https://jira.example.com",
"JIRA_PAT": "your-token"
}
}
}
}Environment variables
Jira
Variable | Required | Default | Description |
| yes | – | Instance URL. Must be https (except localhost). |
| yes | – | Personal access token, sent as |
| no | – | Project key used when a tool omits one, e.g. |
| no |
| Set to |
| no |
| Set to |
| no |
| Per-request timeout. Attachment transfers use at least 120000. |
| no |
| Descriptions and comments are truncated to this length. |
| no |
| Only directory where attachments are saved to and uploaded from. |
| no |
| Maximum attachment size to download. |
Bitbucket
Variable | Required | Default | Description |
| yes | – | Instance URL. Must be https (except localhost). |
| yes | – | HTTP access token, sent as |
| no | – | Project key used when a tool omits one, e.g. |
| no | – | Repository slug, e.g. |
| no |
| Set to |
| no |
| Set to |
| no |
| Set to |
| no |
| Per-request timeout. |
| no |
| Diffs, files and descriptions are truncated to this length. |
Tools
Jira
Read: jira_myself, jira_search (JQL), jira_get_issue, jira_list_projects, jira_get_transitions, jira_get_create_meta, jira_list_fields, jira_list_attachments, jira_get_attachment, jira_list_worklogs, jira_list_link_types, jira_list_watchers, plus jira_list_boards, jira_list_sprints and jira_get_sprint_issues (need Jira Software).
Write: jira_create_issue, jira_update_issue, jira_add_comment, jira_update_comment, jira_transition_issue, jira_assign_issue, jira_add_worklog, jira_link_issues, jira_add_watcher, jira_remove_watcher, jira_add_attachment, plus jira_delete_issue, jira_delete_comment and jira_delete_attachment (opt-in).
Bitbucket
Read: bitbucket_myself, bitbucket_list_repos, bitbucket_list_pull_requests, bitbucket_get_pull_request, bitbucket_get_pull_request_diff, bitbucket_list_pull_request_comments, bitbucket_list_pull_request_changes, bitbucket_get_build_status, bitbucket_list_branches, bitbucket_list_commits, bitbucket_get_file, bitbucket_browse_files, bitbucket_search_code (needs the Data Center built-in code search).
Write: bitbucket_create_pull_request, bitbucket_update_pull_request, bitbucket_add_pull_request_comment (general, inline or reply), bitbucket_update_pull_request_comment (edit, resolve, task), bitbucket_review_pull_request, plus bitbucket_merge_pull_request and bitbucket_decline_pull_request (opt-in via BITBUCKET_ALLOW_MERGE) and bitbucket_delete_pull_request_comment (opt-in via BITBUCKET_ALLOW_DELETE).
Responses are trimmed projections; several read tools accept raw: true for the full payload.
Safety
Destructive operations are opt-in:
JIRA_ALLOW_DELETE,BITBUCKET_ALLOW_DELETEandBITBUCKET_ALLOW_MERGEare off by default.JIRA_READ_ONLY=1/BITBUCKET_READ_ONLY=1register the read tools only — a good default for exploratory agents.Tokens are never logged and are stripped from error messages before they are returned.
*_BASE_URLmust be https unless it points at localhost.Attachments are only written to and uploaded from
JIRA_ATTACHMENTS_DIR; paths outside it are rejected.jira_get_attachmentalso works in read-only mode because it only writes to that local directory.
Notes
jira_assign_issueand Bitbucket reviewer lists take Server usernames / user slugs, not email addresses.Issue keys look like
PROJ-1234; pull requests are addressed by project key + repository slug + numeric id.
Development
git clone https://github.com/heminei/jira-bitbucket-mcp.git
cd jira-bitbucket-mcp
npm install
npm run buildLayout:
src/cli.ts bin entrypoint, dispatches to the jira or bitbucket server
src/shared/ env parsing, HTTP client with bearer auth + token redaction, result formatting
src/jira/ Jira config, client, tools, entrypoint -> dist/jira/index.js
src/bitbucket/ Bitbucket config, client, tools, entrypoint -> dist/bitbucket/index.jsDebug with the MCP inspector:
JIRA_BASE_URL=... JIRA_PAT=... npm run inspect:jira
BITBUCKET_BASE_URL=... BITBUCKET_TOKEN=... npm run inspect:bitbucketIssues and pull requests are welcome.
License
MIT © Martin Bratvanov
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Unified MCP Server is a remote MCP connector for AI agents and vertical AI products that provides access to 22,000+ authorized SaaS tools across 400+ integrations and 24 categories directly inside LLMs (Claude, GPT, Gemini, Cohere). Tools operate only on explicitly authorized customer connections, enabling agents to safely read and write against live third-party systems.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnterprise-grade MCP server providing 102 production-ready tools for Jira, Confluence, and Bitbucket, enabling AI agents to manage issues, pages, repositories, and more via natural language.MIT
- AlicenseNot gradedqualityBmaintenanceMCP servers for self-hosted Atlassian Data Center (Jira, Confluence, Bitbucket) enabling AI assistants to search, manage, and interact with issues, pages, and pull requests.3MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with Bitbucket Server (Data Center) via MCP, supporting reading pull requests and diffs, drafting and submitting reviews with verdicts, posting tasks, browsing code and commits, and managing pull requests.1ISC
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to connect to Bitbucket Cloud and interact with workspaces, repositories, branches, commits, files, and pull requests through MCP tools, including listing, getting, creating, commenting, searching, reviewing, approving, declining, and merging PRs.MIT