Skip to main content
Glama

list_series

Browse available Bureau of Labor Statistics data series with category filtering to find economic indicators like CPI and employment statistics.

Instructions

List available BLS data series with optional category filtering. Returns series metadata including titles, IDs, and categories.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category (e.g., 'CPI', 'Employment'). Optional.
limitNoMaximum number of results to return (default: 50)

Implementation Reference

  • The main handler function that executes the list_series tool logic: validates input, fetches series from data provider, and formats the response.
    async def execute(self, arguments: Dict[str, Any]) -> Dict[str, Any]: """Execute list_series tool.""" logger.info(f"Executing list_series with arguments: {arguments}") # Validate input try: input_data = ListSeriesInput(**arguments) except Exception as e: logger.error(f"Input validation failed: {e}") return {"error": f"Invalid input: {str(e)}"} # Validate limit is_valid, error_msg = validate_limit(input_data.limit) if not is_valid: return {"error": error_msg} # List series try: series_list = await self.data_provider.list_series( category=input_data.category, limit=input_data.limit ) logger.info(f"Successfully listed {len(series_list)} series") return { "series": series_list, "count": len(series_list), "category_filter": input_data.category, } except Exception as e: logger.error(f"Error listing series: {e}") return {"error": f"Failed to list series: {str(e)}"}
  • Pydantic model defining the input schema for the list_series tool, including optional category filter and limit.
    class ListSeriesInput(BaseModel): """Input schema for list_series tool.""" category: Optional[str] = Field( default=None, description="Filter by category (e.g., 'CPI', 'Employment'). Optional.", ) limit: int = Field( default=50, description="Maximum number of results to return (default: 50)" )
  • Registration of the ListSeriesTool instance in the server's tools dictionary, making it available via MCP.
    self.tools = { "get_series": GetSeriesTool(self.data_provider), "list_series": ListSeriesTool(self.data_provider), "get_series_info": GetSeriesInfoTool(self.data_provider), "plot_series": PlotSeriesTool(self.data_provider), }

Other Tools

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/kovashikawa/bls_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server