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

Tools

Functions exposed to the LLM to take actions

NameDescription
get_repository

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_repository

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_repository

Delete a Bitbucket repository.

WARNING: This action is irreversible! Args: repo_slug: Repository slug to delete Returns: Success status
list_repositories

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_request

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_request

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_requests

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_request

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_pipeline

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_pipeline

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_pipelines

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_logs

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_pipeline

Stop a running pipeline.

Args: repo_slug: Repository slug pipeline_uuid: Pipeline UUID Returns: Updated pipeline status
list_pipeline_variables

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_variable

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_variable

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_variable

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_variable

Delete a pipeline variable.

Args: repo_slug: Repository slug variable_uuid: Variable UUID (from list_pipeline_variables) Returns: Confirmation of deletion
list_projects

List projects in the workspace.

Args: limit: Maximum number of results (default: 50) Returns: List of projects with key, name, and description
get_project

Get information about a specific project.

Args: project_key: Project key (e.g., "DS", "PROJ") Returns: Project info including name, description, and metadata
update_repository

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_branches

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_branch

Get information about a specific branch.

Args: repo_slug: Repository slug branch_name: Branch name Returns: Branch info with latest commit details
list_commits

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_commit

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_commits

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_statuses

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_status

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_comments

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_comment

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_pr

Approve a pull request.

Args: repo_slug: Repository slug pr_id: Pull request ID Returns: Approval confirmation
unapprove_pr

Remove your approval from a pull request.

Args: repo_slug: Repository slug pr_id: Pull request ID Returns: Confirmation of approval removal
request_changes_pr

Request changes on a pull request.

Args: repo_slug: Repository slug pr_id: Pull request ID Returns: Confirmation of change request
decline_pr

Decline (close without merging) a pull request.

Args: repo_slug: Repository slug pr_id: Pull request ID Returns: Declined PR info
get_pr_diff

Get the diff of a pull request.

Args: repo_slug: Repository slug pr_id: Pull request ID Returns: Diff content as text
list_environments

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_environment

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_history

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_webhooks

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_webhook

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_webhook

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_webhook

Delete a webhook.

Args: repo_slug: Repository slug webhook_uuid: Webhook UUID (from list_webhooks) Returns: Confirmation of deletion
list_tags

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_tag

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_tag

Delete a tag from a repository.

Args: repo_slug: Repository slug tag_name: Tag name to delete Returns: Confirmation of deletion
list_branch_restrictions

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_restriction

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_restriction

Delete a branch restriction.

Args: repo_slug: Repository slug restriction_id: Restriction ID (from list_branch_restrictions) Returns: Confirmation of deletion
get_file_content

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_directory

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_permissions

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_permission

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_permission

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_permission

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_permissions

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_permission

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_permission

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_permission

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