Skip to main content
Glama

list_pipeline_variables

Retrieve and display pipeline configuration variables for a Bitbucket repository to manage deployment settings and secrets.

Instructions

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)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repo_slugYes
limitNo

Implementation Reference

  • MCP tool handler: calls BitbucketClient.list_pipeline_variables, formats response using PipelineVariableSummary model, and returns list of variables.
    @mcp.tool()
    @handle_bitbucket_error
    @formatted
    def list_pipeline_variables(repo_slug: str, limit: int = 50) -> dict:
        """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)
        """
        client = get_client()
        variables = client.list_pipeline_variables(repo_slug, limit=validate_limit(limit))
        return {
            "variables": [
                PipelineVariableSummary.from_api(v).model_dump() for v in variables
            ],
        }
  • BitbucketClient helper method: performs paginated GET request to Bitbucket Pipelines Config API to fetch repository variables.
    def list_pipeline_variables(
        self,
        repo_slug: str,
        limit: int = 50,
    ) -> list[dict[str, Any]]:
        """List pipeline variables for a repository.
    
        Args:
            repo_slug: Repository slug
            limit: Maximum results to return
    
        Returns:
            List of pipeline variable info dicts
        """
        return self._paginated_list(
            self._repo_path(repo_slug, "pipelines_config", "variables"),
            limit=limit,
        )
  • Pydantic output schema model for pipeline variables, used in tool response serialization.
    class PipelineVariableSummary(BaseModel):
        """Pipeline variable info."""
    
        uuid: str = ""
        key: str = ""
        secured: bool = False
        value: Optional[str] = None  # Only present for non-secured variables
    
        @classmethod
        def from_api(cls, data: dict) -> "PipelineVariableSummary":
            return cls(
                uuid=data.get("uuid", ""),
                key=data.get("key", ""),
                secured=data.get("secured", False),
                value=data.get("value"),  # Will be None for secured variables
            )
  • src/server.py:487-487 (registration)
    MCP tool registration via @mcp.tool() decorator on the handler function.
    @mcp.tool()

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