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