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
| Name | Required | Description | Default |
|---|---|---|---|
| repo_slug | Yes | ||
| limit | No |
Implementation Reference
- src/server.py:487-507 (handler)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 ], }
- src/bitbucket_client.py:646-663 (helper)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, )
- src/models.py:340-356 (schema)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()