oas2mcp.agent.summarizer.models =============================== .. py:module:: oas2mcp.agent.summarizer.models .. autoapi-nested-parse:: Structured output models for the catalog summarizer agent. Purpose: Define agent-facing structured output models for summarizing an API catalog as a whole before introducing per-operation enhancement agents. Design: - Use concise, typed structures that an agent can reliably fill. - Emphasize purpose, conceptual structure, domains, and data model before operational concerns like authentication or MCP surface design. - Keep these models specific to the summarizer workflow. .. rubric:: Examples .. code-block:: python summary = CatalogSummary( catalog_name="Petstore", api_purpose="Manage pets, store orders, and users.", conceptual_overview="A demo REST API organized around pets, store operations, and users.", data_model_summary="The core schemas are Pet, User, Order, and ApiResponse.", data_flow_summary="The API supports both reads and mutations across core domains.", authentication_summary="OAuth2 and API key auth are present.", recommended_mcp_surface="Mostly tools with a few read-oriented resources.", ) Classes ------- .. autoapisummary:: oas2mcp.agent.summarizer.models.CatalogSummary oas2mcp.agent.summarizer.models.CatalogTagSummary Module Contents --------------- .. py:class:: CatalogSummary(/, **data: Any) Bases: :py:obj:`oas2mcp.models.normalized.NormalizedBaseModel` Structured overall summary of a normalized API catalog. :param None.: :returns: None. :raises None.: .. rubric:: Examples .. code-block:: python summary = CatalogSummary( catalog_name="Petstore", api_purpose="Manage pets, orders, and users.", conceptual_overview="A demo REST API organized around three domains.", data_model_summary="The main schemas are Pet, User, Order, and ApiResponse.", data_flow_summary="Supports both reads and mutations across core domains.", authentication_summary="OAuth2 and API key auth are present.", recommended_mcp_surface="Use tools for actions and selected resources for reads.", ) .. py:attribute:: api_purpose :type: str .. py:attribute:: authentication_summary :type: str .. py:attribute:: catalog_name :type: str .. py:attribute:: conceptual_overview :type: str .. py:attribute:: data_flow_summary :type: str .. py:attribute:: data_model_summary :type: str .. py:attribute:: notes :type: list[str] :value: None .. py:attribute:: operational_notes :type: list[str] :value: None .. py:attribute:: primary_domains :type: list[CatalogTagSummary] :value: None .. py:attribute:: recommended_mcp_surface :type: str .. py:attribute:: suggested_resource_domains :type: list[str] :value: None .. py:attribute:: suggested_tool_domains :type: list[str] :value: None .. py:class:: CatalogTagSummary(/, **data: Any) Bases: :py:obj:`oas2mcp.models.normalized.NormalizedBaseModel` Structured summary for one API tag or domain. :param None.: :returns: None. :raises None.: .. rubric:: Examples .. code-block:: python tag_summary = CatalogTagSummary( tag_name="pet", description="Operations for pet records and media.", operation_count=8, ) .. py:attribute:: description :type: str .. py:attribute:: mutating_operation_count :type: int :value: 0 .. py:attribute:: notable_operations :type: list[str] :value: None .. py:attribute:: operation_count :type: int :value: 0 .. py:attribute:: read_operation_count :type: int :value: 0 .. py:attribute:: tag_name :type: str