← Bitbucket MCP Server

Bitbucket MCP Server 3.7.4

npm · @tugudush/bitbucket-mcp · current release

38
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-22T06:41:35.016Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "tools": {}
}

Tools 38

ToolCategoryAnnotationsRisk
bb_browse_repositoryBrowse files and directories in a repository to explore structure
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "path": {
      "type": "string",
      "description": "Directory path within the repository (default: repo root)"
    },
    "ref": {
      "type": "string",
      "description": "Branch, tag, or commit hash (defaults to main branch)"
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of items to return (default: 50, max: 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_branchGet detailed information about a specific branch including target commit and merge strategies
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "name": {
      "type": "string",
      "description": "The branch name"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_branchesGet branches for a repository
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_comment_threadGet a comment thread including the root comment and all nested replies
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "pull_request_id": {
      "type": "number",
      "description": "The pull request ID"
    },
    "comment_id": {
      "type": "number",
      "description": "The root comment ID to get thread for (will include all replies)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "pull_request_id",
    "comment_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_commitGet detailed information about a specific commit (hash, message, author, parents)
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "commit": {
      "type": "string",
      "description": "The commit hash, branch name, or tag"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "commit"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_commit_statusesGet CI/CD build statuses for a specific commit
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "commit": {
      "type": "string",
      "description": "The commit hash"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "commit"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_commitsGet commits for a repository branch
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "branch": {
      "type": "string",
      "description": "Branch name (defaults to main branch)"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_contextGet a curated bundle of PR context in a single call: PR metadata, diffstat summary, build/review status, and comment previews. Accepts a Bitbucket PR URL, or workspace/repo with pull_request_id or branch. Use detail_level "full" for PR description, per-file diffstat, and last 20 comments.
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username (required if url is not provided)"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name (required if url is not provided)"
    },
    "pull_request_id": {
      "type": "number",
      "description": "The pull request ID. If omitted, branch must be provided to look up the open PR."
    },
    "branch": {
      "type": "string",
      "description": "Branch name to look up the open pull request for. Ignored if pull_request_id is provided."
    },
    "url": {
      "type": "string",
      "description": "A Bitbucket pull request URL (e.g. https://bitbucket.org/workspace/repo/pull-requests/42). If provided, workspace, repo_slug, and pull_request_id are extracted automatically."
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Controls response verbosity: \"summary\" (default) returns counts and previews; \"full\" includes PR description, per-file diffstat, and last 20 comments."
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_current_userGet information about the currently authenticated user.
Input schema
{
  "type": "object",
  "properties": {
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_diffGet the raw unified diff between commits. Use a single commit hash to diff against its parent, or "commit1..commit2" for comparing two commits.
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "spec": {
      "type": "string",
      "description": "Commit spec: a single commit hash (diffs against parent), or two commits as \"commit1..commit2\""
    },
    "context": {
      "type": "number",
      "description": "Number of context lines around changes"
    },
    "path": {
      "type": "string",
      "description": "Filter diff to a single file path"
    },
    "ignore_whitespace": {
      "type": "boolean",
      "description": "Ignore whitespace changes"
    },
    "topic": {
      "type": "boolean",
      "description": "When true with two-commit spec, produces a 3-dot diff (source vs merge-base)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "spec"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_diffstatGet diffstat (per-file change summary) between commits. Use a single commit hash or "commit1..commit2".
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "spec": {
      "type": "string",
      "description": "Commit spec: a single commit hash (diffs against parent), or two commits as \"commit1..commit2\""
    },
    "path": {
      "type": "string",
      "description": "Filter diffstat to a single file path"
    },
    "ignore_whitespace": {
      "type": "boolean",
      "description": "Ignore whitespace changes"
    },
    "topic": {
      "type": "boolean",
      "description": "When true with two-commit spec, produces a 3-dot diff (source vs merge-base)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "spec"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_file_contentGet the content of a file from a repository with pagination support
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "file_path": {
      "type": "string",
      "description": "Path to the file in the repository"
    },
    "ref": {
      "type": "string",
      "description": "Branch, tag, or commit hash (defaults to main branch)"
    },
    "start": {
      "type": "number",
      "description": "Starting line number for pagination (1-based, default: 1)"
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of lines to return (default: 1000, max: 10000)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "file_path"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_file_historyGet the commit history for a specific file — shows which commits modified the file and when.
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "commit": {
      "type": "string",
      "description": "Commit hash, branch, or tag to start history from"
    },
    "path": {
      "type": "string",
      "description": "Path to the file in the repository"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "commit",
    "path"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_issueGet detailed information about a specific issue
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "issue_id": {
      "type": "number",
      "description": "The issue ID"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "issue_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_issuesGet issues for a repository
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "state": {
      "type": "string",
      "enum": [
        "new",
        "open",
        "resolved",
        "on hold",
        "invalid",
        "duplicate",
        "wontfix",
        "closed"
      ],
      "description": "Filter by issue state"
    },
    "kind": {
      "type": "string",
      "enum": [
        "bug",
        "enhancement",
        "proposal",
        "task"
      ],
      "description": "Filter by issue kind"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_merge_baseGet the common ancestor (merge-base) between two commits or branches. Use "branch1..branch2" format.
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "revspec": {
      "type": "string",
      "description": "Two commit hashes or branch names separated by \"..\" (e.g. \"main..feature-branch\")"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "revspec"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_pipelineGet detailed information about a specific pipeline run
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "pipeline_uuid": {
      "type": "string",
      "description": "The pipeline UUID (with or without curly braces)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "pipeline_uuid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_pipeline_step_logGet the build log output for a specific pipeline step. Useful for diagnosing build failures.
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "pipeline_uuid": {
      "type": "string",
      "description": "The pipeline UUID (with or without curly braces)"
    },
    "step_uuid": {
      "type": "string",
      "description": "The step UUID (with or without curly braces)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "pipeline_uuid",
    "step_uuid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_pipeline_stepsList the steps/stages of a pipeline run with their status and duration
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "pipeline_uuid": {
      "type": "string",
      "description": "The pipeline UUID (with or without curly braces)"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "pipeline_uuid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_pr_commitsList commits that belong to a pull request
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "pull_request_id": {
      "type": "number",
      "description": "The pull request ID"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "pull_request_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_pr_statusesGet CI/CD build statuses for a pull request (checks whether builds pass or fail)
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "pull_request_id": {
      "type": "number",
      "description": "The pull request ID"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "pull_request_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_pull_requestGet detailed information about a specific pull request
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "pull_request_id": {
      "type": "number",
      "description": "The pull request ID"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "pull_request_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_pull_request_activityGet activity (reviews, approvals, comments) for a specific pull request
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "pull_request_id": {
      "type": "number",
      "description": "The pull request ID"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "pull_request_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_pull_request_commentGet a single comment by ID from a pull request
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "pull_request_id": {
      "type": "number",
      "description": "The pull request ID"
    },
    "comment_id": {
      "type": "number",
      "description": "The comment ID"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "pull_request_id",
    "comment_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_pull_request_commentsGet comments for a specific pull request
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "pull_request_id": {
      "type": "number",
      "description": "The pull request ID"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "pull_request_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_pull_request_diffGet the raw unified diff for a pull request. Returns text/plain diff output showing all changes.
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "pull_request_id": {
      "type": "number",
      "description": "The pull request ID"
    },
    "context": {
      "type": "number",
      "description": "Number of context lines around changes (like git diff -U)"
    },
    "path": {
      "type": "string",
      "description": "Filter diff to a single file path"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "pull_request_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_pull_request_diffstatGet the diffstat for a pull request — per-file summary of lines added/removed and change status.
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "pull_request_id": {
      "type": "number",
      "description": "The pull request ID"
    },
    "path": {
      "type": "string",
      "description": "Filter diffstat to a single file path"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "pull_request_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_pull_requestsGet pull requests for a repository
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "state": {
      "type": "string",
      "enum": [
        "OPEN",
        "MERGED",
        "DECLINED",
        "SUPERSEDED"
      ],
      "description": "Filter by pull request state"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_repositoryGet detailed information about a specific repository
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_tagGet detailed information about a specific tag including its target commit
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "name": {
      "type": "string",
      "description": "The tag name"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug",
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_tagsList tags (release tags, version tags) for a repository
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_userGet public information about a Bitbucket user by username or UUID. If no user is specified, returns the authenticated user. Note: private profiles may have limited fields.
Input schema
{
  "type": "object",
  "properties": {
    "selected_user": {
      "type": "string",
      "description": "The username or UUID of the user to look up. If omitted, returns information about the authenticated user. Note: some fields may be omitted for private profiles."
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_get_workspaceGet information about a workspace
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace name"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_list_pipelinesList CI/CD pipeline runs for a repository. Shows build status, trigger, and duration.
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "repo_slug": {
      "type": "string",
      "description": "The repository name"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "repo_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_list_repositoriesList repositories in a workspace
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_list_workspacesList all accessible workspaces for discovery and exploration
Input schema
{
  "type": "object",
  "properties": {
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_search_codeSearch for code content within a workspace. Supports filtering by repository, language, and file extension.
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace to search in"
    },
    "search_query": {
      "type": "string",
      "description": "Search query for code content"
    },
    "repo_slug": {
      "type": "string",
      "description": "Repository slug to limit search to specific repository"
    },
    "language": {
      "type": "string",
      "description": "Filter code search by programming language"
    },
    "extension": {
      "type": "string",
      "description": "Filter code search by file extension"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100)"
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "search_query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
bb_search_repositoriesSearch for repositories within a workspace by name or description. Uses Bitbucket server-side filtering to search across all repositories, not just the first page. Supports sorting with the sort parameter.
Input schema
{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "string",
      "description": "The workspace or username to search in"
    },
    "query": {
      "type": "string",
      "description": "Search query to filter repositories by name or description. Uses Bitbucket server-side filtering (BBQL) to search across all repositories in the workspace."
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "pagelen": {
      "type": "number",
      "description": "Number of items per page (max 100). Defaults to 100 for search."
    },
    "sort": {
      "type": "string",
      "description": "Sort field, e.g. \"-updated_on\" for newest first, \"name\" for alphabetical. Prefix with \"-\" for descending order."
    },
    "output_format": {
      "type": "string",
      "enum": [
        "text",
        "json",
        "toon"
      ],
      "description": "Response format: \"text\" (default, human-readable), \"json\" (structured JSON), or \"toon\" (Token-Oriented Object Notation — compact tabular format that reduces LLM token consumption by 30-60%)"
    },
    "filter": {
      "type": "string",
      "description": "JMESPath expression to filter/transform structured response data. Applied before format conversion. Example: \"values[].{name: full_name, lang: language}\" — see https://jmespath.org for syntax"
    }
  },
  "required": [
    "workspace",
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.