Skip to main content
Glama

create_repository

Create a new Bitbucket repository with configurable privacy settings, project assignment, and description. Returns repository information including clone URLs for immediate use.

Instructions

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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repo_slugYes
project_keyNo
is_privateNo
descriptionNo

Implementation Reference

  • MCP tool handler function decorated with @mcp.tool(). Calls BitbucketClient.create_repository and returns formatted response with name, full_name, and clone URLs.
    @mcp.tool() @handle_bitbucket_error @formatted def create_repository( repo_slug: str, project_key: Optional[str] = None, is_private: bool = True, description: str = "", ) -> dict: """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 """ client = get_client() result = client.create_repository( repo_slug=repo_slug, project_key=project_key, is_private=is_private, description=description, ) return { "name": result.get("name"), "full_name": result.get("full_name"), "clone_urls": client.extract_clone_urls(result), }
  • BitbucketClient helper method that performs the actual POST request to Bitbucket API to create the repository.
    def create_repository( self, repo_slug: str, project_key: Optional[str] = None, is_private: bool = True, description: str = "", ) -> dict[str, Any]: """Create a new repository. Args: repo_slug: Repository slug project_key: Project key to create repo under is_private: Whether repo is private (default: True) description: Repository description Returns: Created repository info """ payload = { "scm": "git", "is_private": is_private, } if project_key: payload["project"] = {"key": project_key} if description: payload["description"] = description result = self._request("POST", self._repo_path(repo_slug), json=payload) return self._require_result(result, "create repository", repo_slug)

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