Bitbucket MCP Server
The Bitbucket MCP Server integrates Cursor IDE with Bitbucket Cloud, enabling you to manage workspaces, repositories, commits, pull requests, projects, and branch restrictions.
Workspaces
List all workspaces accessible by the current user
Repositories
List all repositories in the configured workspace (with optional commit info)
Get detailed information about a specific repository, including latest commit data
Commits
List commits for a specific repository (up to 100)
Get a single commit by its hash
Pull Requests
List all pull requests in a repository, filterable by state (OPEN, MERGED, DECLINED)
Get a single pull request by its ID
Create a new pull request with title, description, and source/destination branches
Update an existing pull request's title or description
List all comments on a pull request (with pagination support)
Get a single comment by its ID (including context)
Add general, inline, or reply comments to a pull request
Projects
Get detailed information for a specific project by its key
List default reviewers for a project
Branch Restrictions
List all branch restrictions for a repository
Get a single branch restriction by its ID
Update branching model settings for a repository (production, development branches, branch types)
Update branching model settings for a project
Integrates Cursor IDE with Bitbucket Cloud, allowing fetching of repository information, detailed repository data, commit history, commit counts, and latest commit information from Bitbucket workspaces.
Used as the runtime environment for the MCP server, enabling execution of the JavaScript code that powers the Bitbucket integration.
The MCP server is implemented in TypeScript, providing type safety and modern language features for the server implementation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bitbucket MCP Serverlist my recent pull requests for the backend-api repository"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bitbucket MCP
A Model Context Protocol (MCP) server that integrates Cursor IDE with Bitbucket Cloud, allowing you to fetch repository information and commit data directly from your Bitbucket workspace.
Features
List Repositories: Fetch all repositories from your Bitbucket workspace
Repository Details: Get detailed information about specific repositories
Commit Information: Retrieve commit history and latest commit details
Commit Counts: Get total commit counts per repository
Latest Commit Data: Fetch the most recent commit date, author, and message for each repository
Workspaces: List all available workspaces.
Pull Requests: Create, view, list, and update pull requests, including reading and adding PR comments.
Projects: View project details and list default reviewers.
Branch Restrictions: Manage branch restrictions for projects and repositories.
Commits: Retrieve individual commits and lists of commits.
Related MCP server: JIRA MCP Server
Prerequisites
Node.js 18 or higher
npm or yarn
A Bitbucket Cloud account
Bitbucket App Password (for authentication)
Setup
1. Install Dependencies
npm install2. Build the Project
npm run build3. Create Atlassian API token*
if you already have a token for Jira or Confluence, you can reuse it *
Go to your Bitbucket account settings
Navigate to "App passwords" under "Access management"
Instead of clicking "Create app password" (outdated), navigate to "Go to API tokens"
Create an API token
Give it a descriptive name (e.g., "Cursor MCP Integration")
Select expiry date
Copy the generated token
4. Configure Environment Variables
Create a .env file in the project root:
BITBUCKET_USERNAME=your_bitbucket_email_address
BITBUCKET_APP_PASSWORD=your_api_token
BITBUCKET_WORKSPACE=your_workspace_nameNote: The workspace name is typically your username or organization name. You can find it in your Bitbucket URLs (e.g., https://bitbucket.org/workspace_name/).
5. Add to Cursor MCP Configuration
Add the following configuration to your Cursor MCP settings:
{
"mcpServers": {
"bitbucket": {
"command": "npx",
"args": ["@korfu/bitbucket-mcp"],
"env": {
"BITBUCKET_USERNAME": "your_bitbucket_email_address",
"BITBUCKET_APP_PASSWORD": "your_api_token",
"BITBUCKET_WORKSPACE": "your_workspace_name"
}
}
}
}6. Restart Cursor
After adding the configuration, restart Cursor IDE to load the MCP server.
Usage
Once configured, you can use the following tools in Cursor:
Workspaces
bitbucket_list_workspaces
Repositories
bitbucket_list_repositoriesbitbucket_get_repository_details
Commits
bitbucket_list_commitsbitbucket_get_commit
Pull Requests
bitbucket_list_pull_requestsbitbucket_get_pull_requestbitbucket_create_pull_requestbitbucket_update_pull_requestbitbucket_list_pull_request_commentsbitbucket_get_pull_request_commentbitbucket_add_pull_request_comment
Projects
bitbucket_get_projectbitbucket_list_default_reviewers
Branch Restrictions
bitbucket_list_branch_restrictionsbitbucket_get_branch_restrictionbitbucket_update_repository_branching_model_settingsbitbucket_update_project_branching_model_settings
Available Tools
Workspaces
list_workspaces: Lists all workspaces accessible by the current user.
Repositories
list_repositories: Lists all repositories in the configured Bitbucket workspace.
get_repository_details: Get detailed information about a specific repository including latest commit info.
Commits
list_commits: Get commit information for a specific repository.
get_commit: Get a single commit by its hash.
Pull Requests
list_pull_requests: List all pull requests in a repository.
get_pull_request: Get a single pull request by its ID.
create_pull_request: Create a new pull request. //Beta version - untested
update_pull_request: Update an existing pull request. //Beta version - untested
list_pull_request_comments: List all comments on a pull request (global, inline, and replies) with pagination support.
get_pull_request_comment: Get a single comment on a pull request by its ID, including inline file/line context.
add_pull_request_comment: Add a comment to a pull request. Supports general comments, inline comments on specific files/lines, and threaded replies.
Projects
get_project: Get a single project by its key.
list_default_reviewers: List default reviewers for a project.
Branch Restrictions
list_branch_restrictions: List all branch restrictions for a repository.
get_branch_restriction: Get a single branch restriction by its ID.
update_repository_branching_model_settings: Update the branching model configuration for a repository. //Beta version - untested
update_project_branching_model_settings: Update the branching model configuration for a project. //Beta version - untested
Development
Running in Development Mode
npm run devBuilding
npm run buildProject Structure
BitbucketMCP/
├── src/
│ └── index.ts # Main MCP server implementation
├── dist/ # Compiled JavaScript output
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── .gitignore # Git ignore rules
└── README.md # This fileTroubleshooting
Authentication Issues
Verify your Bitbucket username and app password are correct
Ensure the app password has the correct permissions (Repositories: Read)
Check that the workspace name is correct
Connection Issues
Verify your internet connection
Check if Bitbucket API is accessible from your network
Ensure the MCP server is running (check Cursor's MCP logs)
Repository Not Found
Verify the repository name is correct (use the repo slug, not display name)
Ensure you have access to the repository
Check that the repository exists in the specified workspace
MCP Server Not Loading
Verify the path to
dist/index.jsis correct in your Cursor configurationEnsure Node.js is installed and accessible from the command line
Check Cursor's MCP server logs for error messages
Security Notes
Keep your Bitbucket app password secure and never commit it to version control
Use environment variables or secure configuration management for credentials
The app password should only have the minimum required permissions
Consider rotating your app password regularly
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
MIT License - see LICENSE file for details
Available Tools
15 toolscreate_pull_requestC
Create a new pull request.
| Name | Required | Description | Default |
|---|---|---|---|
| repository_name | Yes | Name of the repository (repo slug) | |
| title | Yes | The title of the pull request. | |
| source_branch | Yes | The source branch of the pull request. | |
| destination_branch | No | The destination branch of the pull request. | |
| description | No | The description of the pull request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic action without behavioral details. It doesn't mention permissions required, whether it's idempotent, error conditions, or what happens on success (e.g., returns a PR object). This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with zero waste—it states exactly what the tool does without fluff. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't cover behavioral aspects like permissions, error handling, or return values, leaving critical gaps for an AI agent to use it correctly in context with siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description adds no additional meaning beyond what's in the schema, such as explaining relationships between parameters (e.g., source_branch must exist). Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and resource ('pull request'), making the purpose immediately understandable. It doesn't distinguish from siblings like 'update_pull_request' or 'list_pull_requests', but it's unambiguous about the core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'update_pull_request' or 'list_pull_requests'. The description lacks context about prerequisites, such as needing an existing repository or branches, or when creation might fail.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_branch_restrictionC
Get a single branch restriction by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| repository_name | Yes | Name of the repository (repo slug) | |
| restriction_id | Yes | The ID of the branch restriction. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a read operation ('Get'), which is helpful, but fails to mention important aspects like whether authentication is required, potential rate limits, error conditions, or the format of the returned data. This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that efficiently conveys the core purpose without any unnecessary words. It is front-loaded with the essential information, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is insufficient for a tool that retrieves specific data. It doesn't explain what a 'branch restriction' entails, the format of the returned data, or any behavioral nuances. For a read operation with no structured output definition, more context is needed to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with both parameters clearly documented in the schema itself. The description adds no additional semantic context beyond what the schema provides, such as examples or constraints. However, with high schema coverage, the baseline score of 3 is appropriate as the schema handles the parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('a single branch restriction by its ID'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'list_branch_restrictions', but the singular vs. plural distinction is implied through the wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'list_branch_restrictions' or other sibling tools. It lacks context about prerequisites, such as needing to know the restriction ID beforehand, or any explicit when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_commitC
Get a single commit by its hash.
| Name | Required | Description | Default |
|---|---|---|---|
| repository_name | Yes | Name of the repository (repo slug) | |
| commit_hash | Yes | The hash of the commit. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral context. It doesn't disclose whether this is a read-only operation, what authentication is needed, potential rate limits, error conditions (e.g., invalid hash), or what the return format includes. The description is functionally accurate but lacks operational transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and uses clear, direct language. Every word earns its place without being overly terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what data the commit returns (e.g., metadata, diff, author info), error handling, or how it integrates with sibling tools. The minimal description leaves too many operational questions unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters fully. The description adds no additional meaning beyond implying the 'commit_hash' is the primary identifier. No syntax details, format examples, or contextual constraints are provided beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('a single commit'), specifying it's retrieved 'by its hash'. It distinguishes from sibling 'list_commits' by focusing on single retrieval rather than listing. However, it doesn't explicitly contrast with other siblings like 'get_repository_details', leaving some room for improvement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose 'get_commit' over 'list_commits' for batch retrieval, or when other tools like 'get_repository_details' might be more appropriate. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectB
Get a single project by its key.
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | The key of the project. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states a read operation ('Get'), implying it's likely safe and non-destructive, but doesn't disclose behavioral traits like authentication requirements, error handling, rate limits, or what happens if the project doesn't exist. This leaves significant gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for a simple retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and no output schema, the description is minimally adequate but incomplete. It lacks context on authentication, error cases, and return values, which are important given the absence of annotations and output schema. However, the purpose is clear, and the parameter is well-documented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the single parameter 'project_key'. The description adds no additional meaning beyond implying the parameter is used to identify the project, which is already clear from the schema. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('a single project'), specifying it's by key. It distinguishes from list-style siblings like list_repositories, but doesn't explicitly differentiate from other get_* tools (e.g., get_commit, get_pull_request) beyond the resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., authentication), when not to use it, or compare to other get_* tools. The agent must infer usage from the name and context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pull_requestC
Get a single pull request by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| repository_name | Yes | Name of the repository (repo slug) | |
| pull_request_id | Yes | The ID of the pull request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it 'gets' a pull request, implying a read-only operation, but doesn't clarify if it requires authentication, has rate limits, returns specific data formats, or handles errors. For a tool with no annotations, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, consisting of a single sentence that directly states the tool's purpose. There is no wasted language, making it efficient and easy to parse for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a read operation with 2 required parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what data is returned, error handling, or behavioral traits like authentication needs, which are crucial for proper tool invocation in this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with both parameters clearly documented in the input schema. The description adds minimal value beyond the schema by implying the tool uses an ID to retrieve a single item, but it doesn't provide additional context like parameter constraints or examples. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('a single pull request'), making it easy to understand what it does. However, it doesn't explicitly differentiate from sibling tools like 'list_pull_requests' or 'update_pull_request', which would require mentioning it retrieves only one item by ID rather than listing multiple or modifying them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'list_pull_requests' for multiple pull requests or 'update_pull_request' for modifications, nor does it specify prerequisites or contexts for usage, leaving the agent to infer based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_repository_detailsC
Get detailed information about a specific repository including latest commit info
| Name | Required | Description | Default |
|---|---|---|---|
| repository_name | Yes | Name of the repository (repo slug) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves information (implying a read operation) but doesn't cover critical aspects like authentication requirements, rate limits, error conditions, or response format. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Get detailed information about a specific repository') and adds a useful detail ('including latest commit info'). There is no wasted verbiage, and every word contributes to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a read operation with no output schema) and lack of annotations, the description is incomplete. It doesn't explain what 'detailed information' includes beyond commit info, how results are structured, or any behavioral traits like error handling. For a tool in a server with many siblings, more context is needed to ensure the agent can use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'repository_name' documented as 'Name of the repository (repo slug)'. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('detailed information about a specific repository'), including the scope of information ('including latest commit info'). It distinguishes from siblings like 'list_repositories' (which lists multiple) and 'get_commit' (which focuses on a single commit), though it doesn't explicitly name these alternatives. The purpose is specific but could be more precise about what 'detailed information' entails beyond commit info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., authentication needs), exclusions, or compare it to siblings like 'get_project' or 'list_repositories'. The agent must infer usage from the name and description alone, which is insufficient for optimal tool selection in a server with many repository-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_branch_restrictionsC
List all branch restrictions for a repository.
| Name | Required | Description | Default |
|---|---|---|---|
| repository_name | Yes | Name of the repository (repo slug) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but does not mention if it's read-only, requires permissions, has rate limits, returns paginated results, or what format the output takes. This leaves critical behavioral traits unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is front-loaded and efficiently conveys the core action, making it easy to parse quickly without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It does not address behavioral aspects like safety, permissions, or output format, which are crucial for an agent to use the tool correctly. The description alone is insufficient for effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting the single required parameter 'repository_name'. The description adds no additional meaning beyond what the schema provides, such as examples or constraints, but the schema adequately covers the parameter semantics, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('branch restrictions for a repository'), making the purpose immediately understandable. However, it does not differentiate from sibling tools like 'get_branch_restriction' (singular vs. plural), which could cause confusion about when to use each.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_branch_restriction' or other list tools. It lacks context about prerequisites, such as whether authentication is needed or if the repository must be accessible, leaving usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_commitsC
Get commit information for a specific repository
| Name | Required | Description | Default |
|---|---|---|---|
| repository_name | Yes | Name of the repository (repo slug) | |
| limit | No | Maximum number of commits to return (default: 50, max: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks critical details: it doesn't mention pagination, sorting, authentication needs, rate limits, or what 'commit information' includes (e.g., messages, authors, dates). This is inadequate for a read operation with potential complexity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded with the core purpose, making it easy to parse quickly, though this conciseness comes at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain return values, error conditions, or behavioral traits like pagination. For a tool that likely returns a list of commits with metadata, this leaves significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters (repository_name, limit). The description adds no additional parameter semantics beyond implying a repository context, which is already covered. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('commit information for a specific repository'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_commit' (singular) or 'list_repositories', leaving some ambiguity about scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention siblings like 'get_commit' (for single commits) or 'list_repositories' (for listing repos), nor does it specify prerequisites or exclusions, leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_default_reviewersC
List default reviewers for a project.
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | The key of the project. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('List') but does not cover critical aspects such as permissions required, pagination behavior, error conditions, or the format of returned data. This is inadequate for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is front-loaded and efficiently conveys the core purpose without unnecessary elaboration, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It does not address behavioral traits, return values, or usage context, which are essential for an agent to invoke this tool correctly in a real-world scenario.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'project_key' documented. The description does not add any meaning beyond the schema (e.g., explaining what a 'project_key' is or providing examples), so it meets the baseline of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('default reviewers for a project'), making the purpose understandable. However, it does not distinguish this tool from potential siblings like 'get_project' or 'list_repositories' in terms of scope or specificity, which prevents a score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, context (e.g., after retrieving a project), or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pull_requestsC
List all pull requests in a repository.
| Name | Required | Description | Default |
|---|---|---|---|
| repository_name | Yes | Name of the repository (repo slug) | |
| state | No | The state of the pull request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool lists pull requests but doesn't describe return format, pagination, rate limits, authentication needs, or whether it's read-only. This leaves significant gaps for a tool that likely interacts with a version control system.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, clearly stating the tool's purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., list format, fields), behavioral aspects like pagination, or how it differs from siblings. For a list operation in a complex system with many sibling tools, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters. The description adds no additional meaning beyond implying filtering by repository, which is already covered by the 'repository_name' parameter. Baseline score of 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all pull requests') and resource ('in a repository'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from sibling tools like 'get_pull_request' (singular) or 'list_repositories', missing explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_pull_request' for individual PRs or 'list_repositories' for broader context, nor does it specify prerequisites or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_repositoriesB
List all repositories in the configured Bitbucket workspace
| Name | Required | Description | Default |
|---|---|---|---|
| include_commit_info | No | Whether to include commit count and latest commit information for each repository | |
| limit | No | Maximum number of repositories to return (default: 50, max: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits. It doesn't mention whether this is a read-only operation, potential rate limits, authentication needs, pagination behavior, or what happens when no repositories exist. For a list tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose with no wasted words. Every element ('List all repositories,' 'in the configured Bitbucket workspace') directly contributes to understanding the tool's scope and action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a list operation with parameters, no annotations, and no output schema, the description is incomplete. It lacks details on return format, error handling, pagination, or how parameters affect results. For a tool with 2 parameters and no structured output documentation, more context is needed to guide the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters. The description adds no parameter-specific information beyond what's in the schema, such as explaining why 'include_commit_info' might be useful or how 'limit' interacts with pagination. Baseline 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all repositories') and the resource ('in the configured Bitbucket workspace'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_repository_details' or 'list_workspaces', which would require mentioning it returns a collection rather than single items or workspace metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying 'all repositories in the configured Bitbucket workspace,' suggesting this is for bulk retrieval. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'get_repository_details' for single repos or 'list_workspaces' for workspace-level info, leaving some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workspacesB
List all workspaces accessible by the current user.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states it lists workspaces but doesn't disclose behavioral traits like pagination, sorting, filtering, error conditions, or what 'accessible' entails (e.g., permissions, visibility). For a list operation with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate but lacks depth. It doesn't explain what a 'workspace' is in this context or provide details on the return format, which would help the agent use it correctly despite the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so the schema fully documents the absence of parameters. The description adds no parameter information, which is appropriate here. Baseline for 0 parameters is 4, as no additional semantics are needed beyond the schema's completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('workspaces') with the scope 'accessible by the current user'. It's specific about what the tool does, but doesn't explicitly differentiate from siblings like 'list_repositories' or 'list_pull_requests', which would require mentioning what makes listing workspaces distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or compare it to sibling tools (e.g., 'list_repositories' or 'get_project'), leaving the agent to infer usage context solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_project_branching_model_settingsC
Update the branching model configuration for a project.
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | The key of the project. | |
| settings | Yes | The branching model settings to update. Only passed properties will be updated. See Bitbucket API for details. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Update' implies a mutation operation, the description doesn't specify required permissions, whether changes are reversible, potential side effects, or what happens to unspecified settings. For a configuration mutation tool, this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without any wasted words. It's appropriately sized for what it communicates and gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after the update, what permissions are required, or how to verify success. The agent must rely entirely on the input schema and external knowledge of the Bitbucket API.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema, which provides detailed property documentation and even references the Bitbucket API for further details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and resource ('branching model configuration for a project'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from its sibling 'update_repository_branching_model_settings', which appears to serve a similar function at the repository level rather than project level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, when not to use it, or how it differs from the similar-sounding sibling tool 'update_repository_branching_model_settings', leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_pull_requestC
Update an existing pull request.
| Name | Required | Description | Default |
|---|---|---|---|
| repository_name | Yes | Name of the repository (repo slug) | |
| pull_request_id | Yes | The ID of the pull request. | |
| title | No | The new title of the pull request. | |
| description | No | The new description of the pull request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Update') but doesn't cover critical aspects like required permissions, whether changes are reversible, rate limits, or what the response looks like (since there's no output schema). This leaves significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to scan and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., side effects, error handling) and doesn't compensate for the absence of structured output information, making it inadequate for safe and effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 4 parameters (repository_name, pull_request_id, title, description). The description adds no additional meaning beyond what's in the schema, such as format examples or constraints, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Update') and resource ('an existing pull request'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'update_project_branching_model_settings' or 'update_repository_branching_model_settings', which also perform updates on different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing pull request), contrast with 'create_pull_request' for new ones, or specify scenarios where updates are appropriate (e.g., modifying titles/descriptions after creation).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_repository_branching_model_settingsC
Update the branching model configuration for a repository.
| Name | Required | Description | Default |
|---|---|---|---|
| repository_name | Yes | Name of the repository (repo slug) | |
| settings | Yes | The branching model settings to update. Only passed properties will be updated. See Bitbucket API for details. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Update' implies a mutation operation, the description doesn't specify required permissions, whether changes are reversible, potential side effects, or what happens to unspecified settings. It mentions 'Only passed properties will be updated' in the schema, but this crucial behavioral detail isn't in the description itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the essential information, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns, what permissions are required, or potential error conditions. While the schema provides good parameter documentation, the description fails to address the behavioral context needed for safe and effective use of this update operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema. The baseline score of 3 reflects adequate coverage through the schema alone, though the description doesn't enhance understanding of parameter meaning or usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and the target resource ('branching model configuration for a repository'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from its sibling tool 'update_project_branching_model_settings', which appears to target project-level settings rather than repository-level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, when this operation is appropriate, or how it differs from related tools like 'update_project_branching_model_settings' or 'get_repository_details' for viewing current settings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
15 tool updates
- First observed
create_pull_request - First observed
get_branch_restriction - First observed
get_commit - First observed
get_project - First observed
get_pull_request - First observed
get_repository_details - First observed
list_branch_restrictions - First observed
list_commits - First observed
list_default_reviewers - First observed
list_pull_requests - First observed
list_repositories - First observed
list_workspaces - First observed
update_project_branching_model_settings - First observed
update_pull_request - First observed
update_repository_branching_model_settings
TDQS
Each tool has a clearly distinct purpose targeting specific resources and actions, such as get_commit for retrieving commits, list_pull_requests for listing PRs, and update_project_branching_model_settings for configuration updates. There is no overlap or ambiguity between tools, making it easy for an agent to select the correct one.
All tool names follow a consistent verb_noun pattern with snake_case, such as get_commit, list_repositories, and update_pull_request. This uniformity enhances readability and predictability, allowing agents to easily understand and navigate the toolset without confusion.
With 15 tools, the server is well-scoped for Bitbucket operations, covering repositories, commits, pull requests, projects, workspaces, and branching models. Each tool serves a distinct and necessary function, avoiding bloat while providing comprehensive coverage for typical workflows.
The toolset offers strong coverage for core Bitbucket operations, including CRUD-like actions for pull requests, repositories, and projects, along with listing and updating functionalities. A minor gap exists in the lack of tools for creating or deleting repositories, projects, or commits, but agents can still handle most workflows effectively.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
The Buildkite MCP server exposes Buildkite product data (pipelines, builds, jobs, and test data) to AI tools, editors, and agents through the Model Context Protocol. It provides capabilities including pipeline creation and management, build monitoring with specialized tools like 'wait_for_build', efficient log querying using Apache Parquet conversion and caching, and OAuth-based authentication for both read-write and read-only access to Buildkite's REST API.
The Cortex MCP server provides read-only access to real-time engineering context from the Cortex developer portal, allowing AI coding assistants to answer natural language questions about your organization's catalog (microservices, libraries, domains, teams, infrastructure), scorecards (engineering standards and best practices), initiatives (goals and deadlines), and Engineering Intelligence metrics. It includes tools for querying documentation, tracking personal entities, and accessing AI-assisted insights across the entire Cortex ecosystem.
A Model Context Protocol server for Wix AI tools
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables seamless integration between Cursor IDE and JIRA, allowing users to retrieve issues, execute JQL searches, and log work through natural language interactions.-
- AlicenseBqualityDmaintenanceA Model Context Protocol server that integrates JIRA directly into Cursor IDE, allowing users to view assigned issues, get detailed information on specific tickets, and convert JIRA issues into local tasks without leaving their editor.14116TypeScriptMIT
- AlicenseDqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with Bitbucket repositories, pull requests, and other resources through Bitbucket Cloud and Server APIs.33,030165MIT
- AlicenseBqualityDmaintenanceAn MCP server that enables interaction with Bitbucket repositories through the Model Context Protocol, supporting both Bitbucket Cloud and Server with features for PR lifecycle management and code review.195,58928MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Korfu/mcp-bitbucket'
If you have feedback or need assistance with the MCP directory API, please join our Discord server