Skip to main content
Glama
common.py1.32 kB
""" Common Pydantic models for pagination and shared types. """ from typing import Any, Optional from pydantic import BaseModel, Field, ConfigDict class PaginationParams(BaseModel): """Common pagination parameters for list operations.""" model_config = ConfigDict( str_strip_whitespace=True, extra="ignore", ) limit: Optional[int] = Field( default=None, ge=1, le=100, description="Results per page (1-100, default: 100)" ) starting_after: Optional[str] = Field( default=None, description="Cursor from pagination.next_starting_after for next page" ) class PaginationResponse(BaseModel): """Standard pagination response wrapper.""" items: list[Any] = Field(default_factory=list) next_starting_after: Optional[str] = None has_more: bool = False @classmethod def from_response(cls, data: dict, items_key: str = "items") -> "PaginationResponse": """Parse API response into pagination response.""" items = data.get(items_key, data.get("data", [])) return cls( items=items if isinstance(items, list) else [items], next_starting_after=data.get("next_starting_after"), has_more=bool(data.get("next_starting_after")), )

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/bcharleson/instantly-mcp-python'

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