Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoPort for HTTP server mode (usually auto-set by deployment platform)8080
OUTPUT_FORMATNoOutput format for responses (json or toon). TOON format provides ~30-40% token savings.json
BITBUCKET_EMAILYesYour Bitbucket account email
BITBUCKET_API_TOKENYesYour Bitbucket repository access token
BITBUCKET_WORKSPACEYesYour Bitbucket workspace slug

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription
get_repositoryB

Get information about a Bitbucket repository.

Args:
    repo_slug: Repository slug (e.g., "anzsic_classifier")

Returns:
    Repository info including name, description, clone URLs, and metadata
create_repositoryB

Create a new Bitbucket repository.

Args:
    repo_slug: Repository slug (lowercase, no spaces)
    project_key: Project key to create repo under (optional)
    is_private: Whether repository is private (default: True)
    description: Repository description

Returns:
    Created repository info with clone URLs
delete_repositoryA

Delete a Bitbucket repository.

WARNING: This action is irreversible!

Args:
    repo_slug: Repository slug to delete

Returns:
    Success status
list_repositoriesA

List and search repositories in the workspace.

Args:
    project_key: Filter by project key (optional)
    search: Simple search term for repository name (optional)
            Uses fuzzy matching: search="anzsic" finds "anzsic_classifier"
    query: Advanced Bitbucket query syntax (optional)
           Examples:
           - name ~ "api" (partial name match)
           - description ~ "classifier" (search description)
           - is_private = false (public repos only)
           - name ~ "test" AND is_private = true
    limit: Maximum number of results (default: 50, max: 100)

Returns:
    List of repositories with basic info
create_pull_requestA

Create a pull request in a Bitbucket repository.

Args:
    repo_slug: Repository slug (e.g., "anzsic_classifier")
    title: PR title
    source_branch: Source branch name
    destination_branch: Target branch (default: main)
    description: PR description in markdown
    close_source_branch: Delete source branch after merge (default: True)

Returns:
    Created PR info with id, url, and state
get_pull_requestC

Get information about a pull request.

Args:
    repo_slug: Repository slug
    pr_id: Pull request ID

Returns:
    PR info including state, author, reviewers, and merge status
list_pull_requestsB

List pull requests in a repository.

Args:
    repo_slug: Repository slug
    state: Filter by state: OPEN, MERGED, DECLINED, SUPERSEDED (default: OPEN)
    limit: Maximum number of results (default: 20, max: 100)

Returns:
    List of PRs with basic info
merge_pull_requestB

Merge a pull request.

Args:
    repo_slug: Repository slug
    pr_id: Pull request ID
    merge_strategy: One of 'merge_commit', 'squash', 'fast_forward' (default: merge_commit)
    close_source_branch: Delete source branch after merge (default: True)
    message: Optional merge commit message

Returns:
    Merged PR info
trigger_pipelineB

Trigger a pipeline run on a repository.

Args:
    repo_slug: Repository slug
    branch: Branch to run pipeline on (default: main)
    variables: Custom pipeline variables as key-value pairs (optional)

Returns:
    Pipeline run info with uuid and state
get_pipelineA

Get status of a pipeline run.

Args:
    repo_slug: Repository slug
    pipeline_uuid: Pipeline UUID (from trigger_pipeline)

Returns:
    Pipeline status including state, duration, and steps
list_pipelinesB

List recent pipeline runs for a repository.

Args:
    repo_slug: Repository slug
    limit: Maximum number of results (default: 10)

Returns:
    List of recent pipeline runs
get_pipeline_logsA

Get logs for a pipeline run.

If step_uuid is not provided, returns list of steps to choose from.

Args:
    repo_slug: Repository slug
    pipeline_uuid: Pipeline UUID
    step_uuid: Step UUID (optional, get from steps list first)

Returns:
    Pipeline logs or list of available steps
stop_pipelineC

Stop a running pipeline.

Args:
    repo_slug: Repository slug
    pipeline_uuid: Pipeline UUID

Returns:
    Updated pipeline status
list_pipeline_variablesB

List pipeline variables for a repository.

Args:
    repo_slug: Repository slug
    limit: Maximum number of results (default: 50)

Returns:
    List of pipeline variables with key, secured status, and value (if not secured)
get_pipeline_variableB

Get details about a specific pipeline variable.

Args:
    repo_slug: Repository slug
    variable_uuid: Variable UUID (from list_pipeline_variables)

Returns:
    Variable details including key, secured status, and value (if not secured)
create_pipeline_variableA

Create a pipeline variable.

Args:
    repo_slug: Repository slug
    key: Variable name (e.g., "PYPI_TOKEN", "AWS_SECRET_KEY")
    value: Variable value
    secured: Whether to encrypt the value (default: False).
             Secured variables cannot be read back from the API.

Returns:
    Created variable info with UUID
update_pipeline_variableC

Update a pipeline variable's value.

Args:
    repo_slug: Repository slug
    variable_uuid: Variable UUID (from list_pipeline_variables)
    value: New variable value

Returns:
    Updated variable info
delete_pipeline_variableB

Delete a pipeline variable.

Args:
    repo_slug: Repository slug
    variable_uuid: Variable UUID (from list_pipeline_variables)

Returns:
    Confirmation of deletion
list_projectsB

List projects in the workspace.

Args:
    limit: Maximum number of results (default: 50)

Returns:
    List of projects with key, name, and description
get_projectB

Get information about a specific project.

Args:
    project_key: Project key (e.g., "DS", "PROJ")

Returns:
    Project info including name, description, and metadata
update_repositoryA

Update repository settings (project, visibility, description, name).

Use this to move a repository to a different project, change visibility,
update description, or rename the repository.

Args:
    repo_slug: Repository slug (e.g., "anzsic_classifier")
    project_key: Move to different project (optional, e.g., "DS")
    is_private: Change visibility (optional)
    description: Update description (optional)
    name: Rename repository (optional)

Returns:
    Updated repository info
list_branchesB

List branches in a repository.

Args:
    repo_slug: Repository slug
    limit: Maximum number of results (default: 50)

Returns:
    List of branches with commit info
get_branchB

Get information about a specific branch.

Args:
    repo_slug: Repository slug
    branch_name: Branch name

Returns:
    Branch info with latest commit details
list_commitsB

List commits in a repository.

Args:
    repo_slug: Repository slug
    branch: Filter by branch name (optional)
    path: Filter by file path - only commits that modified this path (optional)
    limit: Maximum number of results (default: 20)

Returns:
    List of commits with hash, message, author, and date
get_commitC

Get detailed information about a specific commit.

Args:
    repo_slug: Repository slug
    commit: Commit hash (full or short)

Returns:
    Commit details including message, author, date, and parents
compare_commitsA

Compare two commits or branches and see files changed.

Args:
    repo_slug: Repository slug
    base: Base commit hash or branch name
    head: Head commit hash or branch name

Returns:
    Diff statistics showing files added, modified, and removed
get_commit_statusesA

Get build/CI statuses for a commit.

Args:
    repo_slug: Repository slug
    commit: Commit hash
    limit: Maximum number of results (default: 20)

Returns:
    List of CI/CD statuses (builds, checks) for the commit
create_commit_statusA

Create a build status for a commit.

Use this to report CI/CD status from external systems.

Args:
    repo_slug: Repository slug
    commit: Commit hash
    state: Status state - one of: SUCCESSFUL, FAILED, INPROGRESS, STOPPED
    key: Unique identifier for this status (e.g., "my-ci-system")
    url: URL to the build details (optional)
    name: Display name for the status (optional)
    description: Status description (optional)

Returns:
    Created status info
list_pr_commentsB

List comments on a pull request.

Args:
    repo_slug: Repository slug
    pr_id: Pull request ID
    limit: Maximum number of results (default: 50)

Returns:
    List of comments with author, content, and timestamps
add_pr_commentB

Add a comment to a pull request.

Can add general comments or inline comments on specific lines.

Args:
    repo_slug: Repository slug
    pr_id: Pull request ID
    content: Comment content (markdown supported)
    file_path: File path for inline comment (optional)
    line: Line number for inline comment (optional, requires file_path)

Returns:
    Created comment info
approve_prB

Approve a pull request.

Args:
    repo_slug: Repository slug
    pr_id: Pull request ID

Returns:
    Approval confirmation
unapprove_prA

Remove your approval from a pull request.

Args:
    repo_slug: Repository slug
    pr_id: Pull request ID

Returns:
    Confirmation of approval removal
request_changes_prC

Request changes on a pull request.

Args:
    repo_slug: Repository slug
    pr_id: Pull request ID

Returns:
    Confirmation of change request
decline_prA

Decline (close without merging) a pull request.

Args:
    repo_slug: Repository slug
    pr_id: Pull request ID

Returns:
    Declined PR info
get_pr_diffC

Get the diff of a pull request.

Args:
    repo_slug: Repository slug
    pr_id: Pull request ID

Returns:
    Diff content as text
list_environmentsC

List deployment environments for a repository.

Args:
    repo_slug: Repository slug
    limit: Maximum number of results (default: 20)

Returns:
    List of environments (e.g., test, staging, production)
get_environmentC

Get details about a specific deployment environment.

Args:
    repo_slug: Repository slug
    environment_uuid: Environment UUID (from list_environments)

Returns:
    Environment details including restrictions and variables
list_deployment_historyB

Get deployment history for a specific environment.

Args:
    repo_slug: Repository slug
    environment_uuid: Environment UUID (from list_environments)
    limit: Maximum number of results (default: 20)

Returns:
    List of deployments with status, commit, and timestamps
list_webhooksA

List webhooks configured for a repository.

Args:
    repo_slug: Repository slug
    limit: Maximum number of results (default: 50)

Returns:
    List of webhooks with URL, events, and status
create_webhookA

Create a webhook for a repository.

Args:
    repo_slug: Repository slug
    url: URL to call when events occur
    events: List of events to trigger on. Common events:
            - repo:push (code pushed)
            - pullrequest:created, pullrequest:updated, pullrequest:merged
            - pullrequest:approved, pullrequest:unapproved
            - pullrequest:comment_created
    description: Webhook description (optional)
    active: Whether webhook is active (default: True)

Returns:
    Created webhook info with UUID
get_webhookB

Get details about a specific webhook.

Args:
    repo_slug: Repository slug
    webhook_uuid: Webhook UUID (from list_webhooks)

Returns:
    Webhook details including URL, events, and status
delete_webhookB

Delete a webhook.

Args:
    repo_slug: Repository slug
    webhook_uuid: Webhook UUID (from list_webhooks)

Returns:
    Confirmation of deletion
list_tagsA

List tags in a repository.

Args:
    repo_slug: Repository slug
    limit: Maximum number of results (default: 50)

Returns:
    List of tags with name, target commit, and tagger info
create_tagA

Create a new tag in a repository.

Args:
    repo_slug: Repository slug
    name: Tag name (e.g., "v1.0.0")
    target: Commit hash or branch name to tag
    message: Optional tag message (for annotated tags)

Returns:
    Created tag info
delete_tagC

Delete a tag from a repository.

Args:
    repo_slug: Repository slug
    tag_name: Tag name to delete

Returns:
    Confirmation of deletion
list_branch_restrictionsB

List branch restrictions (protection rules) in a repository.

Args:
    repo_slug: Repository slug
    limit: Maximum number of results (default: 50)

Returns:
    List of branch restrictions with kind, pattern, and settings
create_branch_restrictionA

Create a branch restriction (protection rule).

Args:
    repo_slug: Repository slug
    kind: Type of restriction. Common values:
          - "push" - Restrict who can push
          - "force" - Restrict force push
          - "delete" - Restrict branch deletion
          - "restrict_merges" - Restrict who can merge
          - "require_passing_builds_to_merge" - Require CI to pass
          - "require_approvals_to_merge" - Require PR approvals
          - "require_default_reviewer_approvals_to_merge"
          - "require_no_changes_requested"
          - "require_tasks_to_be_completed"
    pattern: Branch pattern (e.g., "main", "release/*"). Required for glob match.
    branch_match_kind: How to match branches - "glob" (pattern) or "branching_model" (development/production)
    branch_type: Branch type when using branching_model - "development", "production", or specific category
    value: Numeric value for restrictions that need it (e.g., number of required approvals)

Returns:
    Created restriction info with ID
delete_branch_restrictionB

Delete a branch restriction.

Args:
    repo_slug: Repository slug
    restriction_id: Restriction ID (from list_branch_restrictions)

Returns:
    Confirmation of deletion
get_file_contentA

Get the content of a file from a repository.

Read file contents without cloning the repository.

Args:
    repo_slug: Repository slug
    path: File path (e.g., "src/main.py", "README.md")
    ref: Branch, tag, or commit hash (default: "main")

Returns:
    File content as text (or error if binary/not found)
list_directoryA

List contents of a directory in a repository.

Browse repository structure without cloning.

Args:
    repo_slug: Repository slug
    path: Directory path (empty string for root)
    ref: Branch, tag, or commit hash (default: "main")
    limit: Maximum number of entries (default: 100)

Returns:
    List of files and directories with their types and sizes
list_user_permissionsB

List user permissions for a repository.

Args:
    repo_slug: Repository slug
    limit: Maximum number of results (default: 50)

Returns:
    List of users with their permission levels
get_user_permissionB

Get a specific user's permission for a repository.

Args:
    repo_slug: Repository slug
    selected_user: User's account_id or UUID

Returns:
    User's permission level
update_user_permissionC

Update or add a user's permission for a repository.

Args:
    repo_slug: Repository slug
    selected_user: User's account_id or UUID
    permission: Permission level - "read", "write", or "admin"

Returns:
    Updated permission info
delete_user_permissionB

Remove a user's explicit permission from a repository.

Args:
    repo_slug: Repository slug
    selected_user: User's account_id or UUID

Returns:
    Confirmation of removal
list_group_permissionsB

List group permissions for a repository.

Args:
    repo_slug: Repository slug
    limit: Maximum number of results (default: 50)

Returns:
    List of groups with their permission levels
get_group_permissionC

Get a specific group's permission for a repository.

Args:
    repo_slug: Repository slug
    group_slug: Group slug

Returns:
    Group's permission level
update_group_permissionB

Update or add a group's permission for a repository.

Args:
    repo_slug: Repository slug
    group_slug: Group slug
    permission: Permission level - "read", "write", or "admin"

Returns:
    Updated permission info
delete_group_permissionB

Remove a group's explicit permission from a repository.

Args:
    repo_slug: Repository slug
    group_slug: Group slug

Returns:
    Confirmation of removal

Prompts

Interactive templates invoked by user choice

NameDescription
code_reviewGenerate a code review prompt for a pull request. Args: repo_slug: Repository slug pr_id: Pull request ID Returns: Prompt for reviewing the PR
release_notesGenerate release notes from commits between two refs. Args: repo_slug: Repository slug base_tag: Base tag or commit (e.g., "v1.0.0") head: Head ref (default: "main") Returns: Prompt for generating release notes
pipeline_debugDebug a failed pipeline. Args: repo_slug: Repository slug Returns: Prompt for debugging pipeline failures
repo_summaryGet a comprehensive summary of a repository. Args: repo_slug: Repository slug Returns: Prompt for summarizing repository status

Resources

Contextual data attached and managed by the client

NameDescription
resource_repositoriesList all repositories in the workspace. Returns a summary of repositories for browsing.
resource_projectsList all projects in the workspace.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JaviMaligno/mcp-server-bitbucket'

If you have feedback or need assistance with the MCP directory API, please join our Discord server