Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
MCP server for Bitbucket Data Center and Bitbucket Server
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
ATLASSIAN_DC_MCP_CONFIG_FILE, BITBUCKET_HOST, BITBUCKET_API_BASE_PATH, BITBUCKET_API_TOKENValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"bitbucket-dc": {
"command": "npx",
"args": [
"-y",
"mcp-bitbucket-dc"
],
"env": {
"ATLASSIAN_DC_MCP_CONFIG_FILE": "your-value",
"BITBUCKET_HOST": "your-value",
"BITBUCKET_API_BASE_PATH": "your-value",
"BITBUCKET_API_TOKEN": "your-value"
}
}
}
}Run this in your terminal
claude mcp add bitbucket-dc --env ATLASSIAN_DC_MCP_CONFIG_FILE=your-value --env BITBUCKET_HOST=your-value --env BITBUCKET_API_BASE_PATH=your-value --env BITBUCKET_API_TOKEN=your-value -- npx -y mcp-bitbucket-dcFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"bitbucket-dc": {
"command": "npx",
"args": [
"-y",
"mcp-bitbucket-dc"
],
"env": {
"ATLASSIAN_DC_MCP_CONFIG_FILE": "your-value",
"BITBUCKET_HOST": "your-value",
"BITBUCKET_API_BASE_PATH": "your-value",
"BITBUCKET_API_TOKEN": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"bitbucket-dc": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-bitbucket-dc"
],
"env": {
"ATLASSIAN_DC_MCP_CONFIG_FILE": "your-value",
"BITBUCKET_HOST": "your-value",
"BITBUCKET_API_BASE_PATH": "your-value",
"BITBUCKET_API_TOKEN": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
ATLASSIAN_DC_MCP_CONFIG_FILE envBITBUCKET_HOST envBITBUCKET_API_BASE_PATH envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account tekthar, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: BITBUCKET_API_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.47.1) reached the registry today.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Kanal Varna — drains, leaks & plumbing (Varna, BG)
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drain unblocking, leak detection & plumbing in Varna, Bulgaria: services, prices, areas, contact
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The leading MCP for Atlassian Data Center, built for AI-first companies that run Jira, Confluence and Bitbucket on their own servers.
Your teams chose Data Center for control over their data. They shouldn't have to give up the best AI models to keep it. Three Model Context Protocol (MCP) servers let Claude, Cursor and any other MCP client work in your self-hosted Atlassian tools: search and update issues, read and write pages, review pull requests, without flooding the model's context. Each is one npx command. Your agent signs in with your personal access token, so it can do what you can, and nothing more.
npx -y mcp-jira-dc setup # ← saves your Jira address and token
claude mcp add jira -- npx -y mcp-jira-dc # ← connects Claude Code
Claude now sees 14 Jira tools: the everyday ones for issues, comments and transitions, plus a search that reaches 43 more when it needs them, and a sandbox where it can combine many reads into one answer.
A community project. Not affiliated with or endorsed by Atlassian. Jira, Confluence and Bitbucket are trademarks of
Atlassian.
npx runs each server on your machine. No Python, no Docker, no server to run. Built for Data Center and Server, the editions Atlassian's own MCP server doesn't cover.setup checks your token against the server, then stores it in your OS keychain (macOS Keychain, Windows Credential Manager, or the Linux desktop keyring), or in a file only your user can read. The token is masked in everything the servers write.Data Center usually lives behind a firewall or a VPN. A server that runs where you work reaches it the way your browser does.
| A hosted MCP connector | These servers | |
|---|---|---|
| Reaches instances behind your firewall or VPN | only if the instance is exposed to the service | yes: wherever your machine can reach |
| Where your token lives | with the service | on your machine: your OS keychain, or a file only your user can read |
| Who decides which tools the agent sees | the service | you, with a few settings |
| Something to host, approve or pay for | the service | nothing: npx runs it |
Atlassian's official MCP server is a hosted server for Atlassian Cloud. These servers are for Data Center and Server.
| Server | npm package | What the agent can do |
|---|---|---|
| Jira | mcp-jira-dc | Search with JQL, create, update and transition issues, comments, links, versions, sprints, worklogs, service desk queues, fields and users. 63 tools in 18 toolsets, plus Xray test management when it's installed. |
| Confluence | mcp-confluence-dc | Search with CQL, read, create and update pages, page trees, version history and diffs, labels, comments, restrictions and attachments. 26 tools in 11 toolsets. |
| Bitbucket | mcp-bitbucket-dc | Browse projects, repositories, files, branches and commits, search code, and review and comment on pull requests. Merging and declining are opt-in. 27 tools plus 2 opt-in. |
Install only the ones you use. They share one configuration format, so a single settings file can serve all three.
The Jira server also has tools for these Marketplace apps:
| App | Versions | Status |
|---|---|---|
| Xray, test management | 8 | Beta |
| Jira Service Management | not recorded | Beta |
Beta means built and checked, but not yet run against a live instance of the app. Supported apps lists the exact versions each app's tools were built from and how they were checked.
npx -y mcp-jira-dc setup
Requires Node.js 22.22.2 or later, a Data Center or Server instance, and a personal access token. Swap in mcp-confluence-dc or mcp-bitbucket-dc for the other servers.
setup asks for your host and token, makes one authenticated request to check them, and saves them:
npx -y mcp-jira-dc setup
To create a token in Jira or Confluence, open your profile picture, then Personal Access Tokens > Create token. In Bitbucket it's Manage account > HTTP access tokens. In scripts and CI, setup --non-interactive takes everything as flags and exits non-zero when the token doesn't work.
install registers the server with Claude Code or Claude Desktop for you:
npx -y mcp-jira-dc install --claude-code # runs claude mcp add
npx -y mcp-jira-dc install --claude-desktop # edits Claude Desktop's config, after backing it up
Cursor, VS Code and other clients with an mcpServers file:
{
"mcpServers": { "jira": { "command": "npx", "args": ["-y", "mcp-jira-dc"] }, "confluence": { "command": "npx", "args": ["-y", "mcp-confluence-dc"] }, "bitbucket": { "command": "npx", "args": ["-y", "mcp-bitbucket-dc"] } } }
Then ask something like *"Which issues in our current sprint are blocked, and who owns them?"*
Every setting is optional. Unset, Jira and Confluence list their everyday tools and offer the rest through the search.
| Setting | What it does |
|---|---|
TOOLSETS | Lists whole toolsets directly, e.g. default,jira_agile for a team that lives in sprints. all lists everything. |
READ_ONLY_MODE=true | Offers only tools that never change anything. |
ENABLED_TOOLS | An exact allowlist of tool names, for locked-down setups. |
TOOL_GATEWAY=off | Turns the search off: tools outside the selected toolsets are left out. |
CODE_EXECUTION=off | Removes the code sandbox. |
PERMISSION_FILTER=off | Lists Jira tools without checking your permissions first. |
ATLASSIAN_DC_MCP_AUDIT=1 | Keeps an audit log: one line per tool call, with the tool, outcome and duration, never the arguments or results. Tools run through the search or from code are recorded too. |
Each server's README lists its toolsets and the settings that turn on risky tools: Jira, Confluence, Bitbucket.
doctor checks each step in turn and says how to fix what's wrong. It starts the server the way your MCP client does, so it shows exactly what the agent will get:
$ npx -y mcp-jira-dc doctor
mcp-jira-dc doctor
✓ Node.js 22.22.2 ✓ Settings everything needed is set JIRA_HOST: jira.example.com, from C:\Users\alice\.atlassian-dc-mcp\jira.env JIRA_API_BASE_PATH: (not set) JIRA_API_TOKEN: ••••HcU1, from Windows Credential Manager JIRA_DEFAULT_PAGE_SIZE: 25 (default) ✓ Keychain token kept in Windows Credential Manager ✓ Sign-in signed in as Alice Smith (alice) ✓ Tools 11 listed, about 2,900 tokens of context 32 more through jira_searchTools jira_runCode is on server: Permission filter hid 14 Jira tools: jira_transitionIssue, jira_linkIssues, ...
The token is masked, so the output is safe to paste into a bug report.
These are real responses from the Jira server, run against a test Jira. The tool list holds the everyday tools and four more:
jira_searchIssues, jira_getIssue, jira_getIssueComments, jira_createIssue, jira_updateIssue,
jira_postIssueComment, jira_updateIssueComment, jira_getTransitions, jira_transitionIssue, jira_downloadAttachment, jira_searchTools, jira_runReadTool, jira_runWriteTool, jira_runCode
Asked about a sprint, the agent searches for a tool. jira_searchTools returns the matches with their input schemas (left out here), and says whether each one reads or writes:
[
{ "name": "jira_getSprintIssues", "toolset": "jira_agile", "access": "read", "description": "List the issues in a sprint in the JIRA Data Center edition instance, in rank order, optionally narrowed by JQL. Returns key, summary, status, type, priority and assignee per issue." }, { "name": "jira_addIssuesToSprint", "toolset": "jira_agile", "access": "write", "description": "Move issues into a future or active sprint in the JIRA Data Center edition instance, taking them out of any other sprint. At most 50 issues per call." }, { "name": "jira_moveIssuesToBacklog", "toolset": "jira_agile", "access": "write", "description": "Move issues to the backlog in the JIRA Data Center edition instance, removing them from their future or active sprint. At most 50 issues per call." } ]
It can run the read tool with jira_runReadTool, or, to answer the question in one step, write a script for jira_runCode:
const { issues } = await tools.jira_getSprintIssues({ sprintId: 42 });
const blocked = issues.filter((issue) => issue.status === 'Blocked'); console.log(${blocked.length} of ${issues.length} issues are blocked); return blocked.map((issue) => ${issue.key} ${issue.summary} (${issue.assignee?.displayName ?? 'unassigned'}));
{
"result": [ "PAY-102 Migrate payouts to new ledger (Ben Okafor)", "PAY-104 Upgrade payment SDK (Amira Haddad)", "PAY-106 Refund API returns 500 on partial refunds (Ben Okafor)" ], "logs": ["3 of 7 issues are blocked"], "toolCalls": 1 }
That answer is 226 characters. The full sprint listing it came from is 1,215, and on a real sprint the gap grows with every
Only the beginning is shown; read the rest in the repo