scm-broker-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | No | GitHub personal access token. Required only if using GitHub. | |
| BITBUCKET_EMAIL | No | Bitbucket account email. Required only if using Bitbucket. | |
| BITBUCKET_API_TOKEN | No | Bitbucket API token. Required only if using Bitbucket. |
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
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_repositoriesA | List repositories visible to the authenticated provider account. Args:
provider: Returns:
Page mapping with Examples:
Input: |
| list_pull_requestsA | List pull requests in a repository. Args:
provider: Provider key.
repo: Repository in Returns: Page mapping with normalized pull-request items. Examples:
Input: |
| get_pull_requestA | Get one pull request. Args: provider: Provider key. repo: Repository identity. pull_request_id: Provider pull-request identifier. raw: Include the provider payload. Returns:
Normalized pull-request mapping with Examples:
Input: |
| get_pull_request_diffB | Get a pull request unified diff. Args: provider: Provider key. repo: Repository identity. pull_request_id: Provider pull-request identifier. Returns:
Mapping shaped as Examples:
Input: |
| list_pull_request_commitsB | List commits associated with a pull request. Args:
provider: Provider key; Returns: Page mapping containing normalized commit items. Examples:
Input: |
| create_pull_requestB | Create a pull request from one branch into another. Args: provider: Provider key. repo: Repository identity. title: Pull-request title. source_branch: Source branch name. target_branch: Destination branch name. description: Optional body text. raw: Include the provider payload. Returns: Normalized write-result mapping with identifier, state, and URL fields. Examples:
Input: |
| update_pull_requestA | Update a pull-request title or description. Args: provider: Provider key. repo: Repository identity. pull_request_id: Provider pull-request identifier. title: Optional replacement title. description: Optional replacement body. raw: Include the provider payload. Returns: Normalized write-result mapping. Examples:
Input: |
| update_pull_request_reviewersB | Request reviewers when supported by the provider. Args: provider: Provider key. repo: Repository identity. pull_request_id: Provider pull-request identifier. reviewers: Reviewer usernames or account identifiers. Returns: Normalized provider write-result mapping. Examples:
Input: |
| close_pull_requestB | Close or decline a pull request. Args: provider: Provider key. repo: Repository identity. pull_request_id: Provider pull-request identifier. raw: Include the provider payload. Returns: Normalized write-result mapping with the resulting state. Examples:
Input: |
| merge_pull_requestA | Merge a pull request using an explicit provider-supported method. Args:
provider: Provider key.
repo: Repository identity.
pull_request_id: Provider pull-request identifier.
merge_method: One of Returns: Normalized write-result mapping with resulting state and URL. Examples:
Input: |
| add_pull_request_commentB | Add a comment to a pull request. Args: provider: Provider key. repo: Repository identity. pull_request_id: Provider pull-request identifier. body: Comment text. raw: Include the provider payload. Returns: Normalized write-result mapping. Examples:
Input: |
| list_pull_request_commentsA | List comments attached to a pull request. Args: provider: Provider key. repo: Repository identity. pull_request_id: Provider pull-request identifier. page: One-based page number. page_size: Number of results, from 1 through 100. raw: Include provider payloads. Returns: Page mapping containing normalized comment items. Examples:
Input: |
| list_pull_request_reviewsA | List reviews attached to a pull request. Args: provider: Provider key. repo: Repository identity. pull_request_id: Provider pull-request identifier. page: One-based page number. page_size: Number of results, from 1 through 100. raw: Include provider payloads. Returns: Page mapping containing normalized review items. Examples:
Input: |
| submit_pull_request_reviewA | Submit an approve, request-changes, or comment review. Args:
provider: Provider key.
repo: Repository identity.
pull_request_id: Provider pull-request identifier.
event: Returns: Normalized write-result mapping, or a structured error mapping. Examples:
Input: |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct resource-action pair: repository listing versus pull request listing, and PR-specific tools are cleanly separated by diff, commits, comments, reviews, close, merge, and reviewer assignment. Even similar operations like update_pull_request_reviewers and submit_pull_request_review are unambiguous from their names and arguments.
All tool names follow a consistent verb_noun snake_case pattern using list_, get_, create_, update_, close_, merge_, add_, and submit_. The plural/singular variations are grammatical and predictable, making the API easy to navigate.
14 tools is a well-scoped size for an SCM broker covering repository discovery and full pull request workflows. Every tool serves a meaningful purpose without redundancy or filler.
The pull request lifecycle is thoroughly covered: reading, creating, updating, closing, merging, commenting, and reviewing. The repository side is thin (only list_repositories, no get/create), and comments/reviews lack update/delete operations, but these are minor gaps agents can work around.