v0.4.0
datacenter-mcp-core
Minor Changes
-
6df9e9dThanks @MrRefactoring! - Roll tool annotations out to Confluence (101 tools) and Bitbucket (114 tools) via the sharedregisterAnnotatedToolhelper, so every tool across all three products now advertisesreadOnlyHint/destructiveHint/idempotentHint/title/openWorldHint.The core classifier learned the vocabulary these products use: it skips the
admin_namespace token soconfluence_admin_delete_useris correctly flagged destructive, treatsconvert/compare/browse/can/isas read-only, and classifiesgrant/revoke/enable/disable/watch/unwatch/editas idempotent non-destructive writes. Pull-request and version merges are flagged destructive. -
6bdf2dbThanks @MrRefactoring! - Mature the Jira MCP surface:- Tool annotations on all Jira tools. A new
deriveToolAnnotations/registerAnnotatedToolhelper in core derivesreadOnlyHint/destructiveHint/idempotentHint/title/openWorldHintfrom each tool's<product>_<verb>_<noun>name, so hosts can auto-approve read-only calls and warn before destructive ones (delete/remove/merge-version). - More resources: added
jira://project/{key},jira://board/{id}, andjira://user/{username}alongside the existingjira://issue/{key}. - More prompts: added
jira_plan_sprint,jira_break_down_epic, andjira_build_jqlalongsidejira_triage_issue. - Opt-in pagination: the bounded agile listers (
jira_get_boards,jira_get_board_sprints,jira_get_board_versions,jira_get_board_epics) acceptfetchAllto follow pagination and return every page as a flat array (safety-capped). The JQL-backed issue listings stay single-page and agent-driven.
- Tool annotations on all Jira tools. A new
-
7f1c16aThanks @MrRefactoring! - Add a configurable response-size cap so oversized API responses no longer blow the model's context window. Every tool response is serialized throughformatToolResponse, which now truncates payloads larger thanATLASSIAN_DC_MCP_MAX_RESPONSE_CHARS(default 100,000 characters, ~25k tokens) and appends a clear marker explaining the payload was cut and how to get the rest (narrow the query, use a smaller limit or pagination, request specific fields). Set the env var to0to disable the cap. This protects Jira, Confluence, and Bitbucket uniformly against large diffs, long page bodies, and big unfiltered list results. -
8e5a1e3Thanks @MrRefactoring! - Add two MCP protocol maturity features across all three products:- Server
instructions: each server now advertises aninstructionsstring in itsinitializeresult, telling the client/model what the server is, that every call acts as the single configured user, the<product>_<verb>_<noun>naming and read/write/destructive annotations, how to search (JQL/CQL), thefetchAllpagination opt-in, and the addressable resource URIs.createMcpServergained an optionalinstructionsfield. - Argument completions (
completion/complete): prompt arguments and resource-template variables now offer live autocompletion, backed by list endpoints and filtered against the partial input (case-insensitive substring, capped). Confluence completesspaceKey; Jira completesprojectKeyandboardId; Bitbucket completesprojectKeyand (scoped to the chosen project)repositorySlug. A sharedfilterCompletionshelper was added to core. Completions never throw — a failed lookup yields an empty list. Verified live against Confluence Data Center 9.2.21 and Bitbucket Data Center 9.3.2 instances.
- Server
jira-datacenter-mcp
Minor Changes
-
6bdf2dbThanks @MrRefactoring! - Mature the Jira MCP surface:- Tool annotations on all Jira tools. A new
deriveToolAnnotations/registerAnnotatedToolhelper in core derivesreadOnlyHint/destructiveHint/idempotentHint/title/openWorldHintfrom each tool's<product>_<verb>_<noun>name, so hosts can auto-approve read-only calls and warn before destructive ones (delete/remove/merge-version). - More resources: added
jira://project/{key},jira://board/{id}, andjira://user/{username}alongside the existingjira://issue/{key}. - More prompts: added
jira_plan_sprint,jira_break_down_epic, andjira_build_jqlalongsidejira_triage_issue. - Opt-in pagination: the bounded agile listers (
jira_get_boards,jira_get_board_sprints,jira_get_board_versions,jira_get_board_epics) acceptfetchAllto follow pagination and return every page as a flat array (safety-capped). The JQL-backed issue listings stay single-page and agent-driven.
- Tool annotations on all Jira tools. A new
-
8e5a1e3Thanks @MrRefactoring! - Add two MCP protocol maturity features across all three products:- Server
instructions: each server now advertises aninstructionsstring in itsinitializeresult, telling the client/model what the server is, that every call acts as the single configured user, the<product>_<verb>_<noun>naming and read/write/destructive annotations, how to search (JQL/CQL), thefetchAllpagination opt-in, and the addressable resource URIs.createMcpServergained an optionalinstructionsfield. - Argument completions (
completion/complete): prompt arguments and resource-template variables now offer live autocompletion, backed by list endpoints and filtered against the partial input (case-insensitive substring, capped). Confluence completesspaceKey; Jira completesprojectKeyandboardId; Bitbucket completesprojectKeyand (scoped to the chosen project)repositorySlug. A sharedfilterCompletionshelper was added to core. Completions never throw — a failed lookup yields an empty list. Verified live against Confluence Data Center 9.2.21 and Bitbucket Data Center 9.3.2 instances.
- Server
Patch Changes
confluence-datacenter-mcp
Minor Changes
-
1bdd046Thanks @MrRefactoring! - Expand the Confluence MCP API coverage with 11 new tools (all live-verified against a Confluence Data Center 9.2.21 instance):- Label discovery (6):
confluence_get_recently_used_labelsandconfluence_get_related_labels(instance-wide), plusconfluence_get_space_labels,confluence_get_space_popular_labels,confluence_get_space_recent_labels, andconfluence_get_space_related_labels(per-space). - Space watchers:
confluence_get_space_watcherslists the users watching a space. - Admin reads (3):
confluence_get_access_mode_status(READ_WRITE / READ_ONLY),confluence_get_audit_records(audit log), andconfluence_get_global_permissions(global permission grants). - Content cleanup:
confluence_delete_content_versionremoves a specific historical version of a page.
These wire previously-unused generated client services (
LabelService,SpaceLabelService,SpaceWatchersService,AccessModeService,DefaultService,GlobalPermissionsService,ContentVersionService) intoConfluenceServiceand the tool registry, bringing the Confluence tool count to 112. - Label discovery (6):
-
6df9e9dThanks @MrRefactoring! - Roll tool annotations out to Confluence (101 tools) and Bitbucket (114 tools) via the sharedregisterAnnotatedToolhelper, so every tool across all three products now advertisesreadOnlyHint/destructiveHint/idempotentHint/title/openWorldHint.The core classifier learned the vocabulary these products use: it skips the
admin_namespace token soconfluence_admin_delete_useris correctly flagged destructive, treatsconvert/compare/browse/can/isas read-only, and classifiesgrant/revoke/enable/disable/watch/unwatch/editas idempotent non-destructive writes. Pull-request and version merges are flagged destructive. -
386e420Thanks @MrRefactoring! - Rewrite the Confluence client off the generatedopenapi-typescript-codegenoutput onto the shared hand-written HTTP client, completing the migration already done for Jira and Bitbucket.packages/confluence/src/confluenceClient/is now a small hand-written client:core/client.ts(createConfluenceClientfactory over core'screateHttpClient),api/(one free function per endpoint grouped intocontent/spaces/attachments/users/webhooks/adminnamespaces), plusmodels.tsand a thinindex.ts. TheOpenAPIsingleton,CancelablePromise, the generated request plumbing, all 38 generated service classes and 122 generated model files were removed.ConfluenceServicenow constructs the client once (this.conf = createConfluenceClient({...})) and callsthis.conf.<group>.<fn>({ named }). All 112 endpoints were transcribed faithfully (same method/URL/params) and the migration was verified against a live Confluence Data Center 9.2.21 instance — 45 read endpoints and 13 write operations exercised successfully, with the only non-passing endpoints being ones that behave identically on the old client (single-node cluster status, version-specific admin endpoints). No user-facing tool behaviour changes. -
231c391Thanks @MrRefactoring! - Bring Confluence up to the same MCP maturity as Jira with richer resources, prompts, and opt-in pagination:- Resources 1 → 4: added
confluence://space/{spaceKey},confluence://space/{spaceKey}/content, andconfluence://user/{username}alongside the existingconfluence://page/{pageId}. - Prompts 1 → 4: added
confluence_summarize_space,confluence_draft_page, andconfluence_review_space_accessalongsideconfluence_build_cql_query(each references real Confluence tool names). - Opt-in pagination:
confluence_get_spaces,confluence_get_attachments, andconfluence_get_groupsacceptfetchAllto follow the collection's_links.nextpagination and return every page as a single flat array (safety-capped). Multi-page following was live-verified against a Confluence Data Center 9.2.21 instance. Type-grouped listings (space content, content children) stay single-page since they are not flat collections; open-ended CQL search stays single-page by design.
- Resources 1 → 4: added
-
8e5a1e3Thanks @MrRefactoring! - Add two MCP protocol maturity features across all three products:- Server
instructions: each server now advertises aninstructionsstring in itsinitializeresult, telling the client/model what the server is, that every call acts as the single configured user, the<product>_<verb>_<noun>naming and read/write/destructive annotations, how to search (JQL/CQL), thefetchAllpagination opt-in, and the addressable resource URIs.createMcpServergained an optionalinstructionsfield. - Argument completions (
completion/complete): prompt arguments and resource-template variables now offer live autocompletion, backed by list endpoints and filtered against the partial input (case-insensitive substring, capped). Confluence completesspaceKey; Jira completesprojectKeyandboardId; Bitbucket completesprojectKeyand (scoped to the chosen project)repositorySlug. A sharedfilterCompletionshelper was added to core. Completions never throw — a failed lookup yields an empty list. Verified live against Confluence Data Center 9.2.21 and Bitbucket Data Center 9.3.2 instances.
- Server
Patch Changes
bitbucket-datacenter-mcp
Minor Changes
-
d336f34Thanks @MrRefactoring! - Expand the Bitbucket MCP surface (all additions live-verified against a Bitbucket Data Center 9.3.2 instance):- 5 new read tools:
bitbucket_get_commit_changes(files changed in a commit),bitbucket_get_commit_pull_requests(PRs containing a commit),bitbucket_get_compare_diff(raw diff between two refs),bitbucket_get_repository_labels, andbitbucket_get_pull_request_blocker_comments(a PR's unresolved tasks). - 2 new resources:
bitbucket://project/{key}andbitbucket://commit/{key}/{slug}/{commitId}, alongside the existing repo and pull-request resources. - 3 new prompts:
bitbucket_triage_open_pull_requests,bitbucket_investigate_merge_readiness, andbitbucket_prepare_pull_request, alongside the existing review prompt. - Opt-in pagination:
bitbucket_get_branchesandbitbucket_get_tagsacceptfetchAllto follow pagination and return every page as a flat array (safety-capped). Commit and pull-request listings stay single-page.
- 5 new read tools:
-
6df9e9dThanks @MrRefactoring! - Roll tool annotations out to Confluence (101 tools) and Bitbucket (114 tools) via the sharedregisterAnnotatedToolhelper, so every tool across all three products now advertisesreadOnlyHint/destructiveHint/idempotentHint/title/openWorldHint.The core classifier learned the vocabulary these products use: it skips the
admin_namespace token soconfluence_admin_delete_useris correctly flagged destructive, treatsconvert/compare/browse/can/isas read-only, and classifiesgrant/revoke/enable/disable/watch/unwatch/editas idempotent non-destructive writes. Pull-request and version merges are flagged destructive. -
8e5a1e3Thanks @MrRefactoring! - Add two MCP protocol maturity features across all three products:- Server
instructions: each server now advertises aninstructionsstring in itsinitializeresult, telling the client/model what the server is, that every call acts as the single configured user, the<product>_<verb>_<noun>naming and read/write/destructive annotations, how to search (JQL/CQL), thefetchAllpagination opt-in, and the addressable resource URIs.createMcpServergained an optionalinstructionsfield. - Argument completions (
completion/complete): prompt arguments and resource-template variables now offer live autocompletion, backed by list endpoints and filtered against the partial input (case-insensitive substring, capped). Confluence completesspaceKey; Jira completesprojectKeyandboardId; Bitbucket completesprojectKeyand (scoped to the chosen project)repositorySlug. A sharedfilterCompletionshelper was added to core. Completions never throw — a failed lookup yields an empty list. Verified live against Confluence Data Center 9.2.21 and Bitbucket Data Center 9.3.2 instances.
- Server