@mcp-s/connectors 0.0.20261022190708 → 0.0.20261024071613

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"id":"bitbucket-datacenter","status":"active","applications":["bitbucket"],"definition":{"display":{"name":"Bitbucket Data Center","description":"Bitbucket Data Center is the self-hosted, on-premises version of Bitbucket for enterprise teams who need full control over their Git repositories, pull requests, and code review workflows.","icon":"bitbucket.svg","website":"https://www.atlassian.com/software/bitbucket/data-center","category":"code-version-control","docs_url":"https://docs.withwillow.ai/docs/mcp-servers/built-in/bitbucket-datacenter"},"api":{"base_url":""},"configuration":{"type":"object","properties":{"instanceUrl":{"type":"string","title":"Bitbucket Instance URL"}},"required":["instanceUrl"]},"auth":{"methods":{"apiKey":{"headerName":"Authorization","authorizationMapping":"'Bearer ' & token"},"api-key-per-user":{"headerName":"Authorization","authorizationMapping":"'Bearer ' & token","howtoMarkdown":"\n1. Log in to your Bitbucket Data Center instance\n2. Click your profile avatar in the top-right corner\n3. Go to **Manage account**\n4. Under **Personal Access Tokens**, click **Create a token**\n5. Give your token a name and select the permissions you need\n6. Click **Create**\n7. Copy the generated token immediately (you won't be able to see it again)"},"oauth":{"authUrlMapping":"instanceUrl & \"/rest/oauth2/latest/authorize\"","tokenUrlMapping":"instanceUrl & \"/rest/oauth2/latest/token\"","scopes":["PUBLIC_REPOS","REPO_READ","REPO_WRITE","REPO_ADMIN","PROJECT_ADMIN"],"defaultScopes":["REPO_READ","REPO_WRITE"],"codeExchangeConfig":{"isForm":true,"modelCredentialsMapping":"{\n \"access_token\": access_token,\n \"expires_at\": $exists(expires_in) ? $fromMillis($millis() + expires_in * 1000) : $fromMillis($millis() + 86400000),\n \"refresh_token\": refresh_token,\n \"refresh_token_expires_at\": null,\n \"scope\": scope,\n \"token_type\": token_type\n }"}}}},"tools":[{"name":"List Projects","description":"List all accessible projects in Bitbucket Data Center. Projects are the top-level containers for repositories. Use this to discover available projects and their keys before working with repositories.","slug":"list-projects","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists all accessible projects in Bitbucket Data Center and is read-only, posing minimal risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Filter projects by name (optional)"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":[],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl\n }","query":"{\n \"name\": arguments.name,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Project","description":"Get details of a specific Bitbucket Data Center project by its project key. Returns project name, description, type (personal or normal), and links.","slug":"get-project","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves details of a specific project and is read-only, making it low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key (e.g., 'MYPROJ')"}},"required":["projectKey"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Repositories","description":"List repositories within a specific Bitbucket Data Center project. Use Get Project or List Projects first to find the project key.","slug":"list-repositories","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists repositories within a project and is read-only, thus it is low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key (e.g., 'MYPROJ')"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey\n }","query":"{\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Repository","description":"Get details of a specific repository in Bitbucket Data Center, including its slug, clone URLs, and project association.","slug":"get-repository","ai_risk":{"level":"low","score":1,"reasoning":"This tool fetches details of a specific repository and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key (e.g., 'MYPROJ')"},"repoSlug":{"type":"string","description":"The repository slug (e.g., 'my-repo')"}},"required":["projectKey","repoSlug"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Search Repositories","description":"Search for repositories across all projects in Bitbucket Data Center by name. Unlike List Repositories, this searches globally without requiring a project key.","slug":"search-repositories","ai_risk":{"level":"low","score":1,"reasoning":"This tool searches for repositories by name and is read-only, resulting in low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Repository name to search for (partial match supported)"},"projectname":{"type":"string","description":"Filter by project name (optional)"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":[],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/repos","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl\n }","query":"{\n \"name\": arguments.name,\n \"projectname\": arguments.projectname,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true}},{"name":"List Pull Requests","description":"List pull requests for a repository in Bitbucket Data Center. Filter by state (OPEN, MERGED, DECLINED, ALL) and order results.","slug":"list-pull-requests","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists pull requests for a repository and is read-only, which is low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key (e.g., 'MYPROJ')"},"repoSlug":{"type":"string","description":"The repository slug"},"state":{"type":"string","enum":["OPEN","MERGED","DECLINED","ALL"],"description":"Filter by pull request state (optional, default OPEN)","default":"OPEN"},"order":{"type":"string","enum":["NEWEST","OLDEST","MODIFIED"],"description":"Order of results (optional, default NEWEST)"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey","repoSlug"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug\n }","query":"{\n \"state\": arguments.state,\n \"order\": arguments.order,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pull Request","description":"Get details of a specific pull request in Bitbucket Data Center, including its title, description, state, reviewers, and source/destination branches.","slug":"get-pull-request","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves details of a specific pull request and is read-only, making it low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key (e.g., 'MYPROJ')"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"}},"required":["projectKey","repoSlug","pullRequestId"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Create Pull Request","description":"Create a new pull request in a Bitbucket Data Center repository. Specify source and destination branches, title, description, and optional reviewers.","slug":"create-pull-request","ai_risk":{"level":"medium","score":6,"reasoning":"This tool creates a new pull request, which modifies the repository state and poses a medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key (e.g., 'MYPROJ')"},"repoSlug":{"type":"string","description":"The repository slug"},"title":{"type":"string","description":"Pull request title"},"description":{"type":"string","description":"Pull request description (optional)"},"sourceBranch":{"type":"string","description":"Source branch name (the branch with your changes)"},"destinationBranch":{"type":"string","description":"Destination/target branch name (e.g., 'main' or 'develop')"},"reviewerUsernames":{"type":"array","items":{"type":"string"},"description":"List of reviewer usernames (optional)"}},"required":["projectKey","repoSlug","title","sourceBranch","destinationBranch"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests","method":"POST","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug\n }","body":"{\n \"title\": arguments.title,\n \"description\": arguments.description,\n \"fromRef\": {\n \"id\": \"refs/heads/\" & arguments.sourceBranch,\n \"repository\": {\n \"slug\": arguments.repoSlug,\n \"project\": {\n \"key\": arguments.projectKey\n }\n }\n },\n \"toRef\": {\n \"id\": \"refs/heads/\" & arguments.destinationBranch,\n \"repository\": {\n \"slug\": arguments.repoSlug,\n \"project\": {\n \"key\": arguments.projectKey\n }\n }\n },\n \"reviewers\": arguments.reviewerUsernames ? $map(arguments.reviewerUsernames, function($v) { {\"user\": {\"name\": $v}} })[] : undefined\n }"}},"annotations":{"destructiveHint":true}},{"name":"Update Pull Request","description":"Update the title, description, or reviewers of an existing pull request. Requires the current pull request version for optimistic locking — get it from Get Pull Request.","slug":"update-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool updates an existing pull request, which is a standard write operation and poses medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"version":{"type":"integer","description":"Current version of the pull request (required for optimistic locking, retrieve from Get Pull Request)"},"title":{"type":"string","description":"New pull request title (optional)"},"description":{"type":"string","description":"New pull request description (optional)"},"reviewerUsernames":{"type":"array","items":{"type":"string"},"description":"Updated list of reviewer usernames (optional, replaces existing reviewers)"}},"required":["projectKey","repoSlug","pullRequestId","version"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}","method":"PUT","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","body":"{\n \"version\": arguments.version,\n \"title\": arguments.title,\n \"description\": arguments.description,\n \"reviewers\": arguments.reviewerUsernames ? $map(arguments.reviewerUsernames, function($v) { {\"user\": {\"name\": $v}} })[] : undefined\n }"}},"annotations":{"destructiveHint":true,"idempotentHint":true}},{"name":"Merge Pull Request","description":"Merge a pull request in Bitbucket Data Center. Requires the current pull request version for optimistic locking — get it from Get Pull Request.","slug":"merge-pull-request","ai_risk":{"level":"medium","score":6,"reasoning":"This tool merges a pull request, which modifies the repository and can affect code integrity, indicating medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"version":{"type":"integer","description":"Current version of the pull request (required for optimistic locking, retrieve from Get Pull Request)"},"message":{"type":"string","description":"Merge commit message (optional)"},"strategyId":{"type":"string","enum":["merge-commit","squash","ff-only","no-ff"],"description":"Merge strategy (optional). Supported values depend on your Bitbucket configuration."}},"required":["projectKey","repoSlug","pullRequestId","version"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/merge","method":"POST","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","query":"{\n \"version\": arguments.version\n }","body":"{\n \"message\": arguments.message,\n \"strategyId\": arguments.strategyId\n }"}},"annotations":{"destructiveHint":true}},{"name":"Approve Pull Request","description":"Approve a pull request in Bitbucket Data Center on behalf of the authenticated user.","slug":"approve-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool approves a pull request, which alters its state and poses medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"}},"required":["projectKey","repoSlug","pullRequestId"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/approve","method":"POST","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }"}},"annotations":{"destructiveHint":true,"idempotentHint":true}},{"name":"Decline Pull Request","description":"Decline a pull request in Bitbucket Data Center. Requires the current pull request version for optimistic locking.","slug":"decline-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool declines a pull request, changing its status and posing medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":false,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"version":{"type":"integer","description":"Current version of the pull request (required for optimistic locking, retrieve from Get Pull Request)"}},"required":["projectKey","repoSlug","pullRequestId","version"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/decline","method":"POST","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","query":"{\n \"version\": arguments.version\n }"}},"annotations":{"destructiveHint":true}},{"name":"Get Pull Request Comments","description":"List all comments on a pull request in Bitbucket Data Center, including inline code comments and general comments.","slug":"get-pull-request-comments","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists comments on a pull request and is read-only, resulting in low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey","repoSlug","pullRequestId"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/comments","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","query":"{\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Add Pull Request Comment","description":"Add a comment to a pull request in Bitbucket Data Center. Supports both general comments and inline comments on specific lines of code. For inline comments, provide the file path and line number.","slug":"add-pull-request-comment","ai_risk":{"level":"low","score":4,"reasoning":"This tool adds a comment to a pull request, which is a write operation and poses medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"text":{"type":"string","description":"Comment text"},"filePath":{"type":"string","description":"File path for an inline comment (optional, omit for general comment)"},"lineNumber":{"type":"integer","description":"Line number for an inline comment (optional)"},"lineType":{"type":"string","enum":["ADDED","REMOVED","CONTEXT"],"description":"Line type for inline comment: ADDED (new line), REMOVED (deleted line), CONTEXT (unchanged line). Defaults to ADDED."},"parentCommentId":{"type":"integer","description":"ID of the parent comment to reply to (optional)"}},"required":["projectKey","repoSlug","pullRequestId","text"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/comments","method":"POST","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","body":"{\n \"text\": arguments.text,\n \"anchor\": arguments.filePath ? {\n \"path\": arguments.filePath,\n \"line\": arguments.lineNumber,\n \"lineType\": arguments.lineType ? arguments.lineType : \"ADDED\",\n \"fileType\": \"TO\"\n } : undefined,\n \"parent\": arguments.parentCommentId ? {\n \"id\": arguments.parentCommentId\n } : undefined\n }"}},"annotations":{"destructiveHint":true}},{"name":"Get Pull Request Diff","description":"Get the unified diff for a pull request in Bitbucket Data Center. Returns the full diff showing added and removed lines across all changed files.","slug":"get-pull-request-diff","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves the diff for a pull request and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"contextLines":{"type":"integer","description":"Number of context lines to include around each change (optional, default 10)"}},"required":["projectKey","repoSlug","pullRequestId"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/diff","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","query":"{\n \"contextLines\": arguments.contextLines\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pull Request Commits","description":"List commits included in a pull request in Bitbucket Data Center.","slug":"get-pull-request-commits","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists commits in a pull request and is read-only, resulting in low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey","repoSlug","pullRequestId"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/commits","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","query":"{\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Branches","description":"List branches in a Bitbucket Data Center repository. Filter by name and control ordering.","slug":"list-branches","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists branches in a repository and is read-only, making it low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"filterText":{"type":"string","description":"Filter branches by name (optional)"},"orderBy":{"type":"string","enum":["ALPHABETICAL","MODIFICATION"],"description":"Sort order for the results (optional)"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey","repoSlug"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/branches","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug\n }","query":"{\n \"filterText\": arguments.filterText,\n \"orderBy\": arguments.orderBy,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Create Branch","description":"Create a new branch in a Bitbucket Data Center repository from a specified start point (branch name, tag, or commit hash).","slug":"create-branch","ai_risk":{"level":"medium","score":6,"reasoning":"This tool creates a new branch in a repository, modifying the repository structure and posing medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"name":{"type":"string","description":"Name of the new branch to create"},"startPoint":{"type":"string","description":"The starting point for the branch — a branch name, tag name, or full commit hash"}},"required":["projectKey","repoSlug","name","startPoint"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/branches","method":"POST","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug\n }","body":"{\n \"name\": arguments.name,\n \"startPoint\": arguments.startPoint\n }"}},"annotations":{"destructiveHint":true}},{"name":"List Commits","description":"List commits in a Bitbucket Data Center repository, optionally filtered to a specific branch, tag, or commit range.","slug":"list-commits","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists commits in a repository and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"until":{"type":"string","description":"Branch name, tag, or commit hash to list commits up to (optional, defaults to the default branch)"},"since":{"type":"string","description":"Commit hash to list commits after (exclusive, optional)"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey","repoSlug"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/commits","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug\n }","query":"{\n \"until\": arguments.until,\n \"since\": arguments.since,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Commit","description":"Get details of a specific commit in Bitbucket Data Center, including its author, timestamp, message, and parent commits.","slug":"get-commit","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves details of a specific commit and is read-only, resulting in low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"commitId":{"type":"string","description":"The full commit hash (SHA)"}},"required":["projectKey","repoSlug","commitId"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/commits/{commitId}","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"commitId\": arguments.commitId\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get File Content","description":"Get the raw content of a file from a Bitbucket Data Center repository. Specify the file path and optionally a branch, tag, or commit hash to retrieve the file at a specific version.","slug":"get-file-content","ai_risk":{"level":"low","score":1,"reasoning":"This tool fetches the raw content of a file and is read-only, making it low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"path":{"type":"string","description":"Path to the file in the repository (e.g., 'src/main/App.java')"},"at":{"type":"string","description":"Branch name, tag, or commit hash to retrieve the file at (optional, defaults to the default branch)"},"limit":{"type":"integer","description":"Maximum number of lines to return for large files (optional)"},"start":{"type":"integer","description":"0-based line offset for pagination of large files (optional)","default":0}},"required":["projectKey","repoSlug","path"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/browse/{path}","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"path\": arguments.path\n }","query":"{\n \"at\": arguments.at,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Files","description":"List files and directories at a given path in a Bitbucket Data Center repository. Use this to explore the repository structure. Leave path empty to list the root directory.","slug":"list-files","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists files and directories in a repository and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"path":{"type":"string","description":"Directory path to list (optional, defaults to root)","default":""},"at":{"type":"string","description":"Branch name, tag, or commit hash (optional, defaults to the default branch)"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey","repoSlug"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/files/{path}","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"path\": arguments.path ? arguments.path : \"\"\n }","query":"{\n \"at\": arguments.at,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}}]}}
1
+ {"id":"bitbucket-datacenter","status":"active","applications":["bitbucket"],"definition":{"display":{"name":"Bitbucket Data Center","description":"Bitbucket Data Center is the self-hosted, on-premises version of Bitbucket for enterprise teams who need full control over their Git repositories, pull requests, and code review workflows.","icon":"bitbucket.svg","website":"https://www.atlassian.com/software/bitbucket/data-center","category":"code-version-control","docs_url":"https://docs.withwillow.ai/docs/mcp-servers/built-in/bitbucket-datacenter"},"api":{"base_url":""},"configuration":{"type":"object","properties":{"instanceUrl":{"type":"string","title":"Bitbucket Instance URL"}},"required":["instanceUrl"]},"auth":{"methods":{"apiKey":{"headerName":"Authorization","authorizationMapping":"'Bearer ' & token"},"api-key-per-user":{"headerName":"Authorization","authorizationMapping":"'Bearer ' & token","howtoMarkdown":"\n1. Log in to your Bitbucket Data Center instance\n2. Click your profile avatar in the top-right corner\n3. Go to **Manage account**\n4. Under **Personal Access Tokens**, click **Create a token**\n5. Give your token a name and select the permissions you need\n6. Click **Create**\n7. Copy the generated token immediately (you won't be able to see it again)"},"oauth":{"authUrlMapping":"instanceUrl & \"/rest/oauth2/latest/authorize\"","tokenUrlMapping":"instanceUrl & \"/rest/oauth2/latest/token\"","scopes":["PUBLIC_REPOS","REPO_READ","REPO_WRITE","REPO_ADMIN","PROJECT_ADMIN"],"defaultScopes":["REPO_READ","REPO_WRITE"],"scopeTemplates":[{"id":"read-only","name":"Read-only","description":"Browse projects, repositories, files, commits, branches and pull requests. Can't push, comment, approve or merge.","scopes":["REPO_READ"]},{"id":"full-access","name":"Full access","description":"Read and write repositories and pull requests, plus repository and project administration.","scopes":["REPO_READ","REPO_WRITE","REPO_ADMIN","PROJECT_ADMIN"]}],"codeExchangeConfig":{"isForm":true,"modelCredentialsMapping":"{\n \"access_token\": access_token,\n \"expires_at\": $exists(expires_in) ? $fromMillis($millis() + expires_in * 1000) : $fromMillis($millis() + 86400000),\n \"refresh_token\": refresh_token,\n \"refresh_token_expires_at\": null,\n \"scope\": scope,\n \"token_type\": token_type\n }"}}}},"tools":[{"name":"List Projects","description":"List all accessible projects in Bitbucket Data Center. Projects are the top-level containers for repositories. Use this to discover available projects and their keys before working with repositories.","slug":"list-projects","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists all accessible projects in Bitbucket Data Center and is read-only, posing minimal risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Filter projects by name (optional)"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":[],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl\n }","query":"{\n \"name\": arguments.name,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Project","description":"Get details of a specific Bitbucket Data Center project by its project key. Returns project name, description, type (personal or normal), and links.","slug":"get-project","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves details of a specific project and is read-only, making it low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key (e.g., 'MYPROJ')"}},"required":["projectKey"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Repositories","description":"List repositories within a specific Bitbucket Data Center project. Use Get Project or List Projects first to find the project key.","slug":"list-repositories","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists repositories within a project and is read-only, thus it is low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key (e.g., 'MYPROJ')"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey\n }","query":"{\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Repository","description":"Get details of a specific repository in Bitbucket Data Center, including its slug, clone URLs, and project association.","slug":"get-repository","ai_risk":{"level":"low","score":1,"reasoning":"This tool fetches details of a specific repository and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key (e.g., 'MYPROJ')"},"repoSlug":{"type":"string","description":"The repository slug (e.g., 'my-repo')"}},"required":["projectKey","repoSlug"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Search Repositories","description":"Search for repositories across all projects in Bitbucket Data Center by name. Unlike List Repositories, this searches globally without requiring a project key.","slug":"search-repositories","ai_risk":{"level":"low","score":1,"reasoning":"This tool searches for repositories by name and is read-only, resulting in low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Repository name to search for (partial match supported)"},"projectname":{"type":"string","description":"Filter by project name (optional)"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":[],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/repos","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl\n }","query":"{\n \"name\": arguments.name,\n \"projectname\": arguments.projectname,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true}},{"name":"List Pull Requests","description":"List pull requests for a repository in Bitbucket Data Center. Filter by state (OPEN, MERGED, DECLINED, ALL) and order results.","slug":"list-pull-requests","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists pull requests for a repository and is read-only, which is low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key (e.g., 'MYPROJ')"},"repoSlug":{"type":"string","description":"The repository slug"},"state":{"type":"string","enum":["OPEN","MERGED","DECLINED","ALL"],"description":"Filter by pull request state (optional, default OPEN)","default":"OPEN"},"order":{"type":"string","enum":["NEWEST","OLDEST","MODIFIED"],"description":"Order of results (optional, default NEWEST)"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey","repoSlug"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug\n }","query":"{\n \"state\": arguments.state,\n \"order\": arguments.order,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pull Request","description":"Get details of a specific pull request in Bitbucket Data Center, including its title, description, state, reviewers, and source/destination branches.","slug":"get-pull-request","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves details of a specific pull request and is read-only, making it low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key (e.g., 'MYPROJ')"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"}},"required":["projectKey","repoSlug","pullRequestId"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Create Pull Request","description":"Create a new pull request in a Bitbucket Data Center repository. Specify source and destination branches, title, description, and optional reviewers.","slug":"create-pull-request","ai_risk":{"level":"medium","score":6,"reasoning":"This tool creates a new pull request, which modifies the repository state and poses a medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key (e.g., 'MYPROJ')"},"repoSlug":{"type":"string","description":"The repository slug"},"title":{"type":"string","description":"Pull request title"},"description":{"type":"string","description":"Pull request description (optional)"},"sourceBranch":{"type":"string","description":"Source branch name (the branch with your changes)"},"destinationBranch":{"type":"string","description":"Destination/target branch name (e.g., 'main' or 'develop')"},"reviewerUsernames":{"type":"array","items":{"type":"string"},"description":"List of reviewer usernames (optional)"}},"required":["projectKey","repoSlug","title","sourceBranch","destinationBranch"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests","method":"POST","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug\n }","body":"{\n \"title\": arguments.title,\n \"description\": arguments.description,\n \"fromRef\": {\n \"id\": \"refs/heads/\" & arguments.sourceBranch,\n \"repository\": {\n \"slug\": arguments.repoSlug,\n \"project\": {\n \"key\": arguments.projectKey\n }\n }\n },\n \"toRef\": {\n \"id\": \"refs/heads/\" & arguments.destinationBranch,\n \"repository\": {\n \"slug\": arguments.repoSlug,\n \"project\": {\n \"key\": arguments.projectKey\n }\n }\n },\n \"reviewers\": arguments.reviewerUsernames ? $map(arguments.reviewerUsernames, function($v) { {\"user\": {\"name\": $v}} })[] : undefined\n }"}},"annotations":{"destructiveHint":true}},{"name":"Update Pull Request","description":"Update the title, description, or reviewers of an existing pull request. Requires the current pull request version for optimistic locking — get it from Get Pull Request.","slug":"update-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool updates an existing pull request, which is a standard write operation and poses medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"version":{"type":"integer","description":"Current version of the pull request (required for optimistic locking, retrieve from Get Pull Request)"},"title":{"type":"string","description":"New pull request title (optional)"},"description":{"type":"string","description":"New pull request description (optional)"},"reviewerUsernames":{"type":"array","items":{"type":"string"},"description":"Updated list of reviewer usernames (optional, replaces existing reviewers)"}},"required":["projectKey","repoSlug","pullRequestId","version"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}","method":"PUT","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","body":"{\n \"version\": arguments.version,\n \"title\": arguments.title,\n \"description\": arguments.description,\n \"reviewers\": arguments.reviewerUsernames ? $map(arguments.reviewerUsernames, function($v) { {\"user\": {\"name\": $v}} })[] : undefined\n }"}},"annotations":{"destructiveHint":true,"idempotentHint":true}},{"name":"Merge Pull Request","description":"Merge a pull request in Bitbucket Data Center. Requires the current pull request version for optimistic locking — get it from Get Pull Request.","slug":"merge-pull-request","ai_risk":{"level":"medium","score":6,"reasoning":"This tool merges a pull request, which modifies the repository and can affect code integrity, indicating medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"version":{"type":"integer","description":"Current version of the pull request (required for optimistic locking, retrieve from Get Pull Request)"},"message":{"type":"string","description":"Merge commit message (optional)"},"strategyId":{"type":"string","enum":["merge-commit","squash","ff-only","no-ff"],"description":"Merge strategy (optional). Supported values depend on your Bitbucket configuration."}},"required":["projectKey","repoSlug","pullRequestId","version"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/merge","method":"POST","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","query":"{\n \"version\": arguments.version\n }","body":"{\n \"message\": arguments.message,\n \"strategyId\": arguments.strategyId\n }"}},"annotations":{"destructiveHint":true}},{"name":"Approve Pull Request","description":"Approve a pull request in Bitbucket Data Center on behalf of the authenticated user.","slug":"approve-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool approves a pull request, which alters its state and poses medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"}},"required":["projectKey","repoSlug","pullRequestId"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/approve","method":"POST","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }"}},"annotations":{"destructiveHint":true,"idempotentHint":true}},{"name":"Decline Pull Request","description":"Decline a pull request in Bitbucket Data Center. Requires the current pull request version for optimistic locking.","slug":"decline-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool declines a pull request, changing its status and posing medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":false,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"version":{"type":"integer","description":"Current version of the pull request (required for optimistic locking, retrieve from Get Pull Request)"}},"required":["projectKey","repoSlug","pullRequestId","version"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/decline","method":"POST","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","query":"{\n \"version\": arguments.version\n }"}},"annotations":{"destructiveHint":true}},{"name":"Get Pull Request Comments","description":"List all comments on a pull request in Bitbucket Data Center, including inline code comments and general comments.","slug":"get-pull-request-comments","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists comments on a pull request and is read-only, resulting in low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey","repoSlug","pullRequestId"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/comments","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","query":"{\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Add Pull Request Comment","description":"Add a comment to a pull request in Bitbucket Data Center. Supports both general comments and inline comments on specific lines of code. For inline comments, provide the file path and line number.","slug":"add-pull-request-comment","ai_risk":{"level":"low","score":4,"reasoning":"This tool adds a comment to a pull request, which is a write operation and poses medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"text":{"type":"string","description":"Comment text"},"filePath":{"type":"string","description":"File path for an inline comment (optional, omit for general comment)"},"lineNumber":{"type":"integer","description":"Line number for an inline comment (optional)"},"lineType":{"type":"string","enum":["ADDED","REMOVED","CONTEXT"],"description":"Line type for inline comment: ADDED (new line), REMOVED (deleted line), CONTEXT (unchanged line). Defaults to ADDED."},"parentCommentId":{"type":"integer","description":"ID of the parent comment to reply to (optional)"}},"required":["projectKey","repoSlug","pullRequestId","text"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/comments","method":"POST","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","body":"{\n \"text\": arguments.text,\n \"anchor\": arguments.filePath ? {\n \"path\": arguments.filePath,\n \"line\": arguments.lineNumber,\n \"lineType\": arguments.lineType ? arguments.lineType : \"ADDED\",\n \"fileType\": \"TO\"\n } : undefined,\n \"parent\": arguments.parentCommentId ? {\n \"id\": arguments.parentCommentId\n } : undefined\n }"}},"annotations":{"destructiveHint":true}},{"name":"Get Pull Request Diff","description":"Get the unified diff for a pull request in Bitbucket Data Center. Returns the full diff showing added and removed lines across all changed files.","slug":"get-pull-request-diff","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves the diff for a pull request and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"contextLines":{"type":"integer","description":"Number of context lines to include around each change (optional, default 10)"}},"required":["projectKey","repoSlug","pullRequestId"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/diff","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","query":"{\n \"contextLines\": arguments.contextLines\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pull Request Commits","description":"List commits included in a pull request in Bitbucket Data Center.","slug":"get-pull-request-commits","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists commits in a pull request and is read-only, resulting in low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"pullRequestId":{"type":"integer","description":"The pull request ID"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey","repoSlug","pullRequestId"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/pull-requests/{pullRequestId}/commits","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"pullRequestId\": arguments.pullRequestId\n }","query":"{\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Branches","description":"List branches in a Bitbucket Data Center repository. Filter by name and control ordering.","slug":"list-branches","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists branches in a repository and is read-only, making it low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"filterText":{"type":"string","description":"Filter branches by name (optional)"},"orderBy":{"type":"string","enum":["ALPHABETICAL","MODIFICATION"],"description":"Sort order for the results (optional)"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey","repoSlug"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/branches","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug\n }","query":"{\n \"filterText\": arguments.filterText,\n \"orderBy\": arguments.orderBy,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Create Branch","description":"Create a new branch in a Bitbucket Data Center repository from a specified start point (branch name, tag, or commit hash).","slug":"create-branch","ai_risk":{"level":"medium","score":6,"reasoning":"This tool creates a new branch in a repository, modifying the repository structure and posing medium risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"name":{"type":"string","description":"Name of the new branch to create"},"startPoint":{"type":"string","description":"The starting point for the branch — a branch name, tag name, or full commit hash"}},"required":["projectKey","repoSlug","name","startPoint"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/branches","method":"POST","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug\n }","body":"{\n \"name\": arguments.name,\n \"startPoint\": arguments.startPoint\n }"}},"annotations":{"destructiveHint":true}},{"name":"List Commits","description":"List commits in a Bitbucket Data Center repository, optionally filtered to a specific branch, tag, or commit range.","slug":"list-commits","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists commits in a repository and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"until":{"type":"string","description":"Branch name, tag, or commit hash to list commits up to (optional, defaults to the default branch)"},"since":{"type":"string","description":"Commit hash to list commits after (exclusive, optional)"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey","repoSlug"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/commits","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug\n }","query":"{\n \"until\": arguments.until,\n \"since\": arguments.since,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Commit","description":"Get details of a specific commit in Bitbucket Data Center, including its author, timestamp, message, and parent commits.","slug":"get-commit","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves details of a specific commit and is read-only, resulting in low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"commitId":{"type":"string","description":"The full commit hash (SHA)"}},"required":["projectKey","repoSlug","commitId"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/commits/{commitId}","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"commitId\": arguments.commitId\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get File Content","description":"Get the raw content of a file from a Bitbucket Data Center repository. Specify the file path and optionally a branch, tag, or commit hash to retrieve the file at a specific version.","slug":"get-file-content","ai_risk":{"level":"low","score":1,"reasoning":"This tool fetches the raw content of a file and is read-only, making it low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"path":{"type":"string","description":"Path to the file in the repository (e.g., 'src/main/App.java')"},"at":{"type":"string","description":"Branch name, tag, or commit hash to retrieve the file at (optional, defaults to the default branch)"},"limit":{"type":"integer","description":"Maximum number of lines to return for large files (optional)"},"start":{"type":"integer","description":"0-based line offset for pagination of large files (optional)","default":0}},"required":["projectKey","repoSlug","path"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/browse/{path}","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"path\": arguments.path\n }","query":"{\n \"at\": arguments.at,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Files","description":"List files and directories at a given path in a Bitbucket Data Center repository. Use this to explore the repository structure. Leave path empty to list the root directory.","slug":"list-files","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists files and directories in a repository and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:57:02.577Z"},"enabled":true,"inputSchema":{"type":"object","properties":{"projectKey":{"type":"string","description":"The project key"},"repoSlug":{"type":"string","description":"The repository slug"},"path":{"type":"string","description":"Directory path to list (optional, defaults to root)","default":""},"at":{"type":"string","description":"Branch name, tag, or commit hash (optional, defaults to the default branch)"},"limit":{"type":"integer","description":"Maximum number of results to return (optional, default 25)","default":25},"start":{"type":"integer","description":"0-based index of the first result to return for pagination (optional)","default":0}},"required":["projectKey","repoSlug"],"additionalProperties":false},"action":{"path":"{instanceUrl}/rest/api/1.0/projects/{projectKey}/repos/{repoSlug}/files/{path}","method":"GET","mapping":{"params":"{\n \"instanceUrl\": settings.instanceUrl,\n \"projectKey\": arguments.projectKey,\n \"repoSlug\": arguments.repoSlug,\n \"path\": arguments.path ? arguments.path : \"\"\n }","query":"{\n \"at\": arguments.at,\n \"limit\": arguments.limit,\n \"start\": arguments.start\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}}]}}
@@ -1 +1 @@
1
- {"id":"bitbucket","status":"active","internal_status":"tool-works","applications":["bitbucket"],"definition":{"display":{"name":"Bitbucket","description":"Bitbucket is a Git-based source code repository hosting service for collaborative software development, code review, and CI/CD pipelines.","icon":"bitbucket.svg","website":"https://bitbucket.org","category":"code-version-control","docs_url":"https://docs.withwillow.ai/docs/mcp-servers/built-in/bitbucket"},"api":{"base_url":"https://api.bitbucket.org/2.0"},"configuration":{"type":"object","properties":{"workspace":{"type":"string","title":"Bitbucket Workspace"}},"required":["workspace"]},"auth":{"methods":{"apiKey":{"headerName":"Authorization","authorizationMapping":"'Basic ' & $base64encode(token)"},"api-key-per-user":{"headerName":"Authorization","authorizationMapping":"'Basic ' & $base64encode(token)","howtoMarkdown":"\n1. Go to [https://id.atlassian.com/manage-profile/security/api-tokens](https://id.atlassian.com/manage-profile/security/api-tokens)\n2. Click **Create API token**\n3. Give your token a label and select the scopes you need (repository, pull request, etc.)\n4. Click **Create**\n5. Copy the generated API token immediately\n\n**Important:** The token should be in the format `your-atlassian-email@example.com:api_token`"},"oauth":{"authUrl":"https://bitbucket.org/site/oauth2/authorize","tokenUrl":"https://bitbucket.org/site/oauth2/access_token","scopes":["project","project:write","project:admin","repository","repository:write","repository:admin","repository:delete","pullrequest","pullrequest:write","issue","issue:write","wiki","webhook","snippet","snippet:write","email","account","account:write","pipeline","pipeline:write","pipeline:variable","runner","runner:write"],"defaultScopes":["repository","pullrequest","pullrequest:write","pipeline","pipeline:write"],"codeExchangeConfig":{"modelCredentialsMapping":"{\n \"access_token\": access_token,\n \"expires_at\": $fromMillis($millis() + expires_in * 1000),\n \"refresh_token\": refresh_token,\n \"refresh_token_expires_at\": null,\n \"scope\": scope,\n \"token_type\": token_type\n }","isForm":true}}}},"tools":[{"name":"List Repositories","description":"List Bitbucket repositories in a workspace","slug":"list-repositories","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists repositories in a workspace and is read-only, posing minimal risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"role":{"type":"string","enum":["admin","contributor","member","owner"],"description":"Filter repositories by role (optional)"},"query":{"type":"string","description":"Filter repositories by name using a query string (optional)"},"sort":{"type":"string","description":"Field to sort by, e.g. \"-updated_on\" for most recently updated (optional)"},"page":{"type":"integer","description":"Page number (optional)","default":1},"pagelen":{"type":"integer","description":"Number of items per page, max 100 (optional)","default":25}},"required":[]},"enabled":true,"action":{"path":"/repositories/{workspace}","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace\n }","query":"{\n \"role\": arguments.role,\n \"q\": arguments.query ? \"name~\\\"\" & arguments.query & \"\\\"\" : undefined,\n \"sort\": arguments.sort,\n \"page\": arguments.page,\n \"pagelen\": arguments.pagelen\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Repository","description":"Get details of a specific Bitbucket repository","slug":"get-repository","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves details of a specific repository and is read-only, making it low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"}},"required":["repo_slug"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Pull Requests","description":"List pull requests for a Bitbucket repository","slug":"list-pull-requests","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists pull requests for a repository and is read-only, thus it is low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"state":{"type":"string","enum":["OPEN","MERGED","DECLINED","SUPERSEDED"],"description":"Filter by pull request state (optional)"},"page":{"type":"integer","description":"Page number (optional)","default":1},"pagelen":{"type":"integer","description":"Number of items per page, max 50 (optional)","default":25}},"required":["repo_slug"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }","query":"{\n \"state\": arguments.state,\n \"page\": arguments.page,\n \"pagelen\": arguments.pagelen\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pull Request","description":"Get details of a specific pull request","slug":"get-pull-request","ai_risk":{"level":"low","score":1,"reasoning":"This tool fetches details of a specific pull request and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Create Pull Request","description":"Create a new pull request in a Bitbucket repository","slug":"create-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool creates a new pull request, which is a standard write operation on business data, thus medium risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"title":{"type":"string","description":"Pull request title"},"description":{"type":"string","description":"Pull request description (optional)"},"source_branch":{"type":"string","description":"Source branch name"},"destination_branch":{"type":"string","description":"Destination/target branch name"},"reviewers":{"type":"array","items":{"type":"string"},"description":"List of reviewer UUIDs (e.g., '{04776764-62c7-453b-b97e-302f60395ceb}')"},"close_source_branch":{"type":"boolean","description":"Whether to close the source branch after merge (optional)"},"is_draft":{"type":"boolean","description":"Whether to create the pull request as a draft (optional)"}},"required":["repo_slug","title","source_branch","destination_branch"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }","body":"{\n \"title\": arguments.title,\n \"description\": arguments.description,\n \"source\": {\n \"branch\": {\n \"name\": arguments.source_branch\n }\n },\n \"destination\": {\n \"branch\": {\n \"name\": arguments.destination_branch\n }\n },\n \"reviewers\": arguments.reviewers ? $map(arguments.reviewers, function($v) { {\"uuid\": $v} })[] : undefined,\n \"close_source_branch\": arguments.close_source_branch,\n \"draft\": arguments.is_draft\n }"}},"annotations":{"destructiveHint":true}},{"name":"Update Pull Request","description":"Update an existing pull request","slug":"update-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool updates an existing pull request, representing a standard write operation, hence medium risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"},"title":{"type":"string","description":"New pull request title (optional)"},"description":{"type":"string","description":"New pull request description (optional)"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}","method":"PUT","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }","body":"{\n \"title\": arguments.title,\n \"description\": arguments.description\n }"}},"annotations":{"destructiveHint":true,"idempotentHint":true}},{"name":"Merge Pull Request","description":"Merge a pull request","slug":"merge-pull-request","ai_risk":{"level":"medium","score":6,"reasoning":"This tool merges a pull request, which can significantly affect the codebase, thus it is high risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"},"message":{"type":"string","description":"Merge commit message (optional)"},"merge_strategy":{"type":"string","enum":["merge_commit","squash","fast_forward"],"description":"Merge strategy (optional)"},"close_source_branch":{"type":"boolean","description":"Whether to close the source branch after merge (optional)"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/merge","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }","body":"{\n \"message\": arguments.message,\n \"merge_strategy\": arguments.merge_strategy,\n \"close_source_branch\": arguments.close_source_branch\n }"}},"annotations":{"destructiveHint":true}},{"name":"Approve Pull Request","description":"Approve a pull request","slug":"approve-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool approves a pull request, which is a write operation that can influence the development process, making it medium risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/approve","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"destructiveHint":true,"idempotentHint":true}},{"name":"Decline Pull Request","description":"Decline a pull request","slug":"decline-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool declines a pull request, representing a standard write operation, thus medium risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":false,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/decline","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"destructiveHint":true}},{"name":"Get Pull Request Comments","description":"List comments on a pull request","slug":"get-pull-request-comments","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists comments on a pull request and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Add Pull Request Comment","description":"Add a comment to a pull request. Supports both general and inline comments on specific lines of code.","slug":"add-pull-request-comment","ai_risk":{"level":"low","score":4,"reasoning":"This tool adds a comment to a pull request, which is a write operation but generally low impact, hence medium risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"},"content":{"type":"string","description":"Comment content in markdown format"},"inline":{"type":"object","description":"Inline comment information for commenting on specific lines of code","properties":{"path":{"type":"string","description":"Path to the file in the repository"},"from":{"type":"integer","description":"Line number in the old version (for deleted/modified lines)"},"to":{"type":"integer","description":"Line number in the new version (for added/modified lines)"}},"required":["path"]}},"required":["repo_slug","pull_request_id","content"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }","body":"{\n \"content\": {\n \"raw\": arguments.content\n },\n \"inline\": arguments.inline ? {\n \"path\": arguments.inline.path,\n \"from\": arguments.inline.from,\n \"to\": arguments.inline.to\n } : undefined\n }"}},"annotations":{"destructiveHint":true}},{"name":"Get Pull Request Diff","description":"Get the diff for a pull request","slug":"get-pull-request-diff","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves the diff for a pull request and is read-only, making it low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/diff","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pull Request Diff Stat","description":"Get the diff statistics for a pull request","slug":"get-pull-request-diffstat","ai_risk":{"level":"low","score":1,"reasoning":"This tool gets the diff statistics for a pull request and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/diffstat","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pull Request Commits","description":"List commits on a pull request","slug":"get-pull-request-commits","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists commits on a pull request and is read-only, thus it is low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/commits","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pull Request Activity","description":"Get the activity log for a pull request","slug":"get-pull-request-activity","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves the activity log for a pull request and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":false,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/activity","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }","headers":"{\"Accept\": \"application/json\"}"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Branches","description":"List branches in a Bitbucket repository","slug":"list-branches","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists branches in a repository and is read-only, making it low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"query":{"type":"string","description":"Filter branches by name (optional)"},"sort":{"type":"string","description":"Field to sort by, e.g. \"-name\" for reverse alphabetical (optional)"},"page":{"type":"integer","description":"Page number (optional)","default":1},"pagelen":{"type":"integer","description":"Number of items per page (optional)","default":25}},"required":["repo_slug"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/refs/branches","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }","query":"{\n \"q\": arguments.query ? \"name~\\\"\" & arguments.query & \"\\\"\" : undefined,\n \"sort\": arguments.sort,\n \"page\": arguments.page,\n \"pagelen\": arguments.pagelen\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Pipeline Runs","description":"List pipeline runs for a Bitbucket repository","slug":"list-pipeline-runs","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists pipeline runs for a repository and is read-only, thus it is low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"page":{"type":"integer","description":"Page number (optional)","default":1},"pagelen":{"type":"integer","description":"Number of items per page (optional)","default":25},"sort":{"type":"string","description":"Field to sort by, e.g. \"-created_on\" for most recent first (optional)"}},"required":["repo_slug"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pipelines","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }","query":"{\n \"page\": arguments.page,\n \"pagelen\": arguments.pagelen,\n \"sort\": arguments.sort\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pipeline Run","description":"Get details of a specific pipeline run","slug":"get-pipeline-run","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves details of a specific pipeline run and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pipeline_uuid":{"type":"string","description":"Pipeline UUID"}},"required":["repo_slug","pipeline_uuid"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pipeline_uuid\": arguments.pipeline_uuid\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pipeline Steps","description":"List steps for a pipeline run","slug":"get-pipeline-steps","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists steps for a pipeline run and is read-only, making it low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pipeline_uuid":{"type":"string","description":"Pipeline UUID"}},"required":["repo_slug","pipeline_uuid"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pipeline_uuid\": arguments.pipeline_uuid\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pipeline Step Log","description":"Get logs for a specific pipeline step","slug":"get-pipeline-step-log","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves logs for a specific pipeline step and is read-only, thus it is low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pipeline_uuid":{"type":"string","description":"Pipeline UUID"},"step_uuid":{"type":"string","description":"Step UUID"}},"required":["repo_slug","pipeline_uuid","step_uuid"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/log","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pipeline_uuid\": arguments.pipeline_uuid,\n \"step_uuid\": arguments.step_uuid\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Run Pipeline","description":"Trigger a new pipeline run for a repository","slug":"run-pipeline","ai_risk":{"level":"medium","score":6,"reasoning":"This tool triggers a new pipeline run, which can affect the CI/CD process significantly, thus it is high risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"ref_type":{"type":"string","enum":["branch","tag","bookmark"],"description":"Reference type (branch, tag, or bookmark)"},"ref_name":{"type":"string","description":"Reference name (e.g., branch name)"},"selector_type":{"type":"string","description":"Pipeline selector type (e.g., 'custom' for custom pipelines)"},"selector_pattern":{"type":"string","description":"Pipeline selector pattern (e.g., custom pipeline name)"}},"required":["repo_slug","ref_type","ref_name"]},"enabled":false,"action":{"path":"/repositories/{workspace}/{repo_slug}/pipelines","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }","body":"{\n \"target\": {\n \"type\": \"pipeline_ref_target\",\n \"ref_type\": arguments.ref_type,\n \"ref_name\": arguments.ref_name,\n \"selector\": arguments.selector_type ? {\n \"type\": arguments.selector_type,\n \"pattern\": arguments.selector_pattern\n } : undefined\n }\n }"}},"annotations":{"destructiveHint":true}},{"name":"Stop Pipeline","description":"Stop a running pipeline","slug":"stop-pipeline","ai_risk":{"level":"medium","score":5,"reasoning":"This tool stops a running pipeline, which is a write operation that can impact ongoing processes, hence medium risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pipeline_uuid":{"type":"string","description":"Pipeline UUID"}},"required":["repo_slug","pipeline_uuid"]},"enabled":false,"action":{"path":"/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/stopPipeline","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pipeline_uuid\": arguments.pipeline_uuid\n }"}},"annotations":{"destructiveHint":true}},{"name":"Get File Content","description":"Get the raw content of a file from a Bitbucket repository at a specific commit or branch","slug":"get-file-content","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves the raw content of a file and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"commit":{"type":"string","description":"Commit hash, branch name, or tag (defaults to the main branch)"},"path":{"type":"string","description":"Path to the file in the repository"}},"required":["repo_slug","path"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/src/{commit}/{path}","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"commit\": arguments.commit ? arguments.commit : \"HEAD\",\n \"path\": arguments.path\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Commits","description":"List commits in a Bitbucket repository","slug":"list-commits","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists commits in a repository and is read-only, making it low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"branch":{"type":"string","description":"Branch name to list commits from (optional)"},"page":{"type":"integer","description":"Page number (optional)","default":1},"pagelen":{"type":"integer","description":"Number of items per page (optional)","default":25}},"required":["repo_slug"]},"enabled":false,"action":{"path":"/repositories/{workspace}/{repo_slug}/commits","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }","query":"{\n \"include\": arguments.branch,\n \"page\": arguments.page,\n \"pagelen\": arguments.pagelen\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}}]}}
1
+ {"id":"bitbucket","status":"active","internal_status":"tool-works","applications":["bitbucket"],"definition":{"display":{"name":"Bitbucket","description":"Bitbucket is a Git-based source code repository hosting service for collaborative software development, code review, and CI/CD pipelines.","icon":"bitbucket.svg","website":"https://bitbucket.org","category":"code-version-control","docs_url":"https://docs.withwillow.ai/docs/mcp-servers/built-in/bitbucket"},"api":{"base_url":"https://api.bitbucket.org/2.0"},"configuration":{"type":"object","properties":{"workspace":{"type":"string","title":"Bitbucket Workspace"}},"required":["workspace"]},"auth":{"methods":{"apiKey":{"headerName":"Authorization","authorizationMapping":"'Basic ' & $base64encode(token)"},"api-key-per-user":{"headerName":"Authorization","authorizationMapping":"'Basic ' & $base64encode(token)","howtoMarkdown":"\n1. Go to [https://id.atlassian.com/manage-profile/security/api-tokens](https://id.atlassian.com/manage-profile/security/api-tokens)\n2. Click **Create API token**\n3. Give your token a label and select the scopes you need (repository, pull request, etc.)\n4. Click **Create**\n5. Copy the generated API token immediately\n\n**Important:** The token should be in the format `your-atlassian-email@example.com:api_token`"},"oauth":{"authUrl":"https://bitbucket.org/site/oauth2/authorize","tokenUrl":"https://bitbucket.org/site/oauth2/access_token","scopes":["project","project:write","project:admin","repository","repository:write","repository:admin","repository:delete","pullrequest","pullrequest:write","issue","issue:write","wiki","webhook","snippet","snippet:write","email","account","account:write","pipeline","pipeline:write","pipeline:variable","runner","runner:write"],"defaultScopes":["repository","pullrequest","pullrequest:write","pipeline","pipeline:write"],"scopeTemplates":[{"id":"read-only","name":"Read-only","description":"Browse repositories, source, branches, pull requests and their diffs and comments, pipelines and step logs. Can't push, comment, approve or merge.","scopes":["account","project","repository","pullrequest","pipeline"]},{"id":"code-review","name":"Code review","description":"Read repositories and create, comment on, approve and merge pull requests. Pipelines stay off.","scopes":["account","repository","pullrequest","pullrequest:write"]},{"id":"full-access","name":"Full access","description":"Every scope the connector supports, including project, repository, webhook, runner and pipeline-variable administration and deleting repositories.","scopes":["project","project:write","project:admin","repository","repository:write","repository:admin","repository:delete","pullrequest","pullrequest:write","issue","issue:write","wiki","webhook","snippet","snippet:write","email","account","account:write","pipeline","pipeline:write","pipeline:variable","runner","runner:write"]}],"codeExchangeConfig":{"modelCredentialsMapping":"{\n \"access_token\": access_token,\n \"expires_at\": $fromMillis($millis() + expires_in * 1000),\n \"refresh_token\": refresh_token,\n \"refresh_token_expires_at\": null,\n \"scope\": scope,\n \"token_type\": token_type\n }","isForm":true}}}},"tools":[{"name":"List Repositories","description":"List Bitbucket repositories in a workspace","slug":"list-repositories","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists repositories in a workspace and is read-only, posing minimal risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"role":{"type":"string","enum":["admin","contributor","member","owner"],"description":"Filter repositories by role (optional)"},"query":{"type":"string","description":"Filter repositories by name using a query string (optional)"},"sort":{"type":"string","description":"Field to sort by, e.g. \"-updated_on\" for most recently updated (optional)"},"page":{"type":"integer","description":"Page number (optional)","default":1},"pagelen":{"type":"integer","description":"Number of items per page, max 100 (optional)","default":25}},"required":[]},"enabled":true,"action":{"path":"/repositories/{workspace}","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace\n }","query":"{\n \"role\": arguments.role,\n \"q\": arguments.query ? \"name~\\\"\" & arguments.query & \"\\\"\" : undefined,\n \"sort\": arguments.sort,\n \"page\": arguments.page,\n \"pagelen\": arguments.pagelen\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Repository","description":"Get details of a specific Bitbucket repository","slug":"get-repository","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves details of a specific repository and is read-only, making it low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"}},"required":["repo_slug"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Pull Requests","description":"List pull requests for a Bitbucket repository","slug":"list-pull-requests","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists pull requests for a repository and is read-only, thus it is low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"state":{"type":"string","enum":["OPEN","MERGED","DECLINED","SUPERSEDED"],"description":"Filter by pull request state (optional)"},"page":{"type":"integer","description":"Page number (optional)","default":1},"pagelen":{"type":"integer","description":"Number of items per page, max 50 (optional)","default":25}},"required":["repo_slug"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }","query":"{\n \"state\": arguments.state,\n \"page\": arguments.page,\n \"pagelen\": arguments.pagelen\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pull Request","description":"Get details of a specific pull request","slug":"get-pull-request","ai_risk":{"level":"low","score":1,"reasoning":"This tool fetches details of a specific pull request and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Create Pull Request","description":"Create a new pull request in a Bitbucket repository","slug":"create-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool creates a new pull request, which is a standard write operation on business data, thus medium risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"title":{"type":"string","description":"Pull request title"},"description":{"type":"string","description":"Pull request description (optional)"},"source_branch":{"type":"string","description":"Source branch name"},"destination_branch":{"type":"string","description":"Destination/target branch name"},"reviewers":{"type":"array","items":{"type":"string"},"description":"List of reviewer UUIDs (e.g., '{04776764-62c7-453b-b97e-302f60395ceb}')"},"close_source_branch":{"type":"boolean","description":"Whether to close the source branch after merge (optional)"},"is_draft":{"type":"boolean","description":"Whether to create the pull request as a draft (optional)"}},"required":["repo_slug","title","source_branch","destination_branch"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }","body":"{\n \"title\": arguments.title,\n \"description\": arguments.description,\n \"source\": {\n \"branch\": {\n \"name\": arguments.source_branch\n }\n },\n \"destination\": {\n \"branch\": {\n \"name\": arguments.destination_branch\n }\n },\n \"reviewers\": arguments.reviewers ? $map(arguments.reviewers, function($v) { {\"uuid\": $v} })[] : undefined,\n \"close_source_branch\": arguments.close_source_branch,\n \"draft\": arguments.is_draft\n }"}},"annotations":{"destructiveHint":true}},{"name":"Update Pull Request","description":"Update an existing pull request","slug":"update-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool updates an existing pull request, representing a standard write operation, hence medium risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"},"title":{"type":"string","description":"New pull request title (optional)"},"description":{"type":"string","description":"New pull request description (optional)"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}","method":"PUT","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }","body":"{\n \"title\": arguments.title,\n \"description\": arguments.description\n }"}},"annotations":{"destructiveHint":true,"idempotentHint":true}},{"name":"Merge Pull Request","description":"Merge a pull request","slug":"merge-pull-request","ai_risk":{"level":"medium","score":6,"reasoning":"This tool merges a pull request, which can significantly affect the codebase, thus it is high risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"},"message":{"type":"string","description":"Merge commit message (optional)"},"merge_strategy":{"type":"string","enum":["merge_commit","squash","fast_forward"],"description":"Merge strategy (optional)"},"close_source_branch":{"type":"boolean","description":"Whether to close the source branch after merge (optional)"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/merge","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }","body":"{\n \"message\": arguments.message,\n \"merge_strategy\": arguments.merge_strategy,\n \"close_source_branch\": arguments.close_source_branch\n }"}},"annotations":{"destructiveHint":true}},{"name":"Approve Pull Request","description":"Approve a pull request","slug":"approve-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool approves a pull request, which is a write operation that can influence the development process, making it medium risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/approve","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"destructiveHint":true,"idempotentHint":true}},{"name":"Decline Pull Request","description":"Decline a pull request","slug":"decline-pull-request","ai_risk":{"level":"medium","score":5,"reasoning":"This tool declines a pull request, representing a standard write operation, thus medium risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":false,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/decline","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"destructiveHint":true}},{"name":"Get Pull Request Comments","description":"List comments on a pull request","slug":"get-pull-request-comments","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists comments on a pull request and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Add Pull Request Comment","description":"Add a comment to a pull request. Supports both general and inline comments on specific lines of code.","slug":"add-pull-request-comment","ai_risk":{"level":"low","score":4,"reasoning":"This tool adds a comment to a pull request, which is a write operation but generally low impact, hence medium risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"},"content":{"type":"string","description":"Comment content in markdown format"},"inline":{"type":"object","description":"Inline comment information for commenting on specific lines of code","properties":{"path":{"type":"string","description":"Path to the file in the repository"},"from":{"type":"integer","description":"Line number in the old version (for deleted/modified lines)"},"to":{"type":"integer","description":"Line number in the new version (for added/modified lines)"}},"required":["path"]}},"required":["repo_slug","pull_request_id","content"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }","body":"{\n \"content\": {\n \"raw\": arguments.content\n },\n \"inline\": arguments.inline ? {\n \"path\": arguments.inline.path,\n \"from\": arguments.inline.from,\n \"to\": arguments.inline.to\n } : undefined\n }"}},"annotations":{"destructiveHint":true}},{"name":"Get Pull Request Diff","description":"Get the diff for a pull request","slug":"get-pull-request-diff","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves the diff for a pull request and is read-only, making it low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/diff","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pull Request Diff Stat","description":"Get the diff statistics for a pull request","slug":"get-pull-request-diffstat","ai_risk":{"level":"low","score":1,"reasoning":"This tool gets the diff statistics for a pull request and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/diffstat","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pull Request Commits","description":"List commits on a pull request","slug":"get-pull-request-commits","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists commits on a pull request and is read-only, thus it is low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/commits","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pull Request Activity","description":"Get the activity log for a pull request","slug":"get-pull-request-activity","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves the activity log for a pull request and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pull_request_id":{"type":"integer","description":"Pull request ID"}},"required":["repo_slug","pull_request_id"]},"enabled":false,"action":{"path":"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/activity","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pull_request_id\": arguments.pull_request_id\n }","headers":"{\"Accept\": \"application/json\"}"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Branches","description":"List branches in a Bitbucket repository","slug":"list-branches","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists branches in a repository and is read-only, making it low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"query":{"type":"string","description":"Filter branches by name (optional)"},"sort":{"type":"string","description":"Field to sort by, e.g. \"-name\" for reverse alphabetical (optional)"},"page":{"type":"integer","description":"Page number (optional)","default":1},"pagelen":{"type":"integer","description":"Number of items per page (optional)","default":25}},"required":["repo_slug"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/refs/branches","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }","query":"{\n \"q\": arguments.query ? \"name~\\\"\" & arguments.query & \"\\\"\" : undefined,\n \"sort\": arguments.sort,\n \"page\": arguments.page,\n \"pagelen\": arguments.pagelen\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Pipeline Runs","description":"List pipeline runs for a Bitbucket repository","slug":"list-pipeline-runs","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists pipeline runs for a repository and is read-only, thus it is low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"page":{"type":"integer","description":"Page number (optional)","default":1},"pagelen":{"type":"integer","description":"Number of items per page (optional)","default":25},"sort":{"type":"string","description":"Field to sort by, e.g. \"-created_on\" for most recent first (optional)"}},"required":["repo_slug"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pipelines","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }","query":"{\n \"page\": arguments.page,\n \"pagelen\": arguments.pagelen,\n \"sort\": arguments.sort\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pipeline Run","description":"Get details of a specific pipeline run","slug":"get-pipeline-run","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves details of a specific pipeline run and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pipeline_uuid":{"type":"string","description":"Pipeline UUID"}},"required":["repo_slug","pipeline_uuid"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pipeline_uuid\": arguments.pipeline_uuid\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pipeline Steps","description":"List steps for a pipeline run","slug":"get-pipeline-steps","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists steps for a pipeline run and is read-only, making it low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pipeline_uuid":{"type":"string","description":"Pipeline UUID"}},"required":["repo_slug","pipeline_uuid"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pipeline_uuid\": arguments.pipeline_uuid\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Get Pipeline Step Log","description":"Get logs for a specific pipeline step","slug":"get-pipeline-step-log","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves logs for a specific pipeline step and is read-only, thus it is low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pipeline_uuid":{"type":"string","description":"Pipeline UUID"},"step_uuid":{"type":"string","description":"Step UUID"}},"required":["repo_slug","pipeline_uuid","step_uuid"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/log","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pipeline_uuid\": arguments.pipeline_uuid,\n \"step_uuid\": arguments.step_uuid\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"Run Pipeline","description":"Trigger a new pipeline run for a repository","slug":"run-pipeline","ai_risk":{"level":"medium","score":6,"reasoning":"This tool triggers a new pipeline run, which can affect the CI/CD process significantly, thus it is high risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"ref_type":{"type":"string","enum":["branch","tag","bookmark"],"description":"Reference type (branch, tag, or bookmark)"},"ref_name":{"type":"string","description":"Reference name (e.g., branch name)"},"selector_type":{"type":"string","description":"Pipeline selector type (e.g., 'custom' for custom pipelines)"},"selector_pattern":{"type":"string","description":"Pipeline selector pattern (e.g., custom pipeline name)"}},"required":["repo_slug","ref_type","ref_name"]},"enabled":false,"action":{"path":"/repositories/{workspace}/{repo_slug}/pipelines","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }","body":"{\n \"target\": {\n \"type\": \"pipeline_ref_target\",\n \"ref_type\": arguments.ref_type,\n \"ref_name\": arguments.ref_name,\n \"selector\": arguments.selector_type ? {\n \"type\": arguments.selector_type,\n \"pattern\": arguments.selector_pattern\n } : undefined\n }\n }"}},"annotations":{"destructiveHint":true}},{"name":"Stop Pipeline","description":"Stop a running pipeline","slug":"stop-pipeline","ai_risk":{"level":"medium","score":5,"reasoning":"This tool stops a running pipeline, which is a write operation that can impact ongoing processes, hence medium risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"pipeline_uuid":{"type":"string","description":"Pipeline UUID"}},"required":["repo_slug","pipeline_uuid"]},"enabled":false,"action":{"path":"/repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/stopPipeline","method":"POST","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"pipeline_uuid\": arguments.pipeline_uuid\n }"}},"annotations":{"destructiveHint":true}},{"name":"Get File Content","description":"Get the raw content of a file from a Bitbucket repository at a specific commit or branch","slug":"get-file-content","ai_risk":{"level":"low","score":1,"reasoning":"This tool retrieves the raw content of a file and is read-only, indicating low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"commit":{"type":"string","description":"Commit hash, branch name, or tag (defaults to the main branch)"},"path":{"type":"string","description":"Path to the file in the repository"}},"required":["repo_slug","path"]},"enabled":true,"action":{"path":"/repositories/{workspace}/{repo_slug}/src/{commit}/{path}","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug,\n \"commit\": arguments.commit ? arguments.commit : \"HEAD\",\n \"path\": arguments.path\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}},{"name":"List Commits","description":"List commits in a Bitbucket repository","slug":"list-commits","ai_risk":{"level":"low","score":1,"reasoning":"This tool lists commits in a repository and is read-only, making it low risk.","calculated_at":"2026-05-22T09:56:44.749Z"},"inputSchema":{"type":"object","properties":{"workspace":{"type":"string","description":"Bitbucket workspace slug. If not provided, the configured workspace will be used."},"repo_slug":{"type":"string","description":"Repository slug"},"branch":{"type":"string","description":"Branch name to list commits from (optional)"},"page":{"type":"integer","description":"Page number (optional)","default":1},"pagelen":{"type":"integer","description":"Number of items per page (optional)","default":25}},"required":["repo_slug"]},"enabled":false,"action":{"path":"/repositories/{workspace}/{repo_slug}/commits","method":"GET","mapping":{"params":"{\n \"workspace\": arguments.workspace ? arguments.workspace : settings.workspace,\n \"repo_slug\": arguments.repo_slug\n }","query":"{\n \"include\": arguments.branch,\n \"page\": arguments.page,\n \"pagelen\": arguments.pagelen\n }"}},"annotations":{"readOnlyHint":true,"idempotentHint":true}}]}}