oas2mcp.models.mcp ================== .. py:module:: oas2mcp.models.mcp .. autoapi-nested-parse:: MCP preparation models. Purpose: Define structured intermediate models used to classify normalized OpenAPI operations into MCP-oriented candidates before any agent enhancement step. Design: - Keep the first pass deterministic and lightweight. - Represent only the metadata needed before runtime/server generation. - Make these models suitable as structured output targets for later agents. .. rubric:: Examples .. code-block:: python candidate = McpCandidate( operation_key="GET /pets/{petId}", kind="tool", title="Get pet by ID", ) Attributes ---------- .. autoapisummary:: oas2mcp.models.mcp.McpCandidateKind oas2mcp.models.mcp.McpSafetyLevel Classes ------- .. autoapisummary:: oas2mcp.models.mcp.McpBundle oas2mcp.models.mcp.McpCandidate oas2mcp.models.mcp.McpPromptTemplate Module Contents --------------- .. py:class:: McpBundle(/, **data: Any) Bases: :py:obj:`oas2mcp.models.normalized.NormalizedBaseModel` A collection of MCP candidates for one catalog. :param None.: :returns: None. :raises None.: .. rubric:: Examples .. code-block:: python bundle = McpBundle( catalog_name="Petstore", candidates=[], ) .. py:attribute:: candidates :type: list[McpCandidate] :value: None .. py:attribute:: catalog_name :type: str .. py:attribute:: catalog_slug :type: str .. py:class:: McpCandidate(/, **data: Any) Bases: :py:obj:`oas2mcp.models.normalized.NormalizedBaseModel` A deterministic MCP candidate derived from one operation. :param None.: :returns: None. :raises None.: .. rubric:: Examples .. code-block:: python candidate = McpCandidate( operation_key="GET /pets/{petId}", kind="tool", title="Get pet by ID", description="Retrieve a pet by its ID.", ) .. py:attribute:: auth_notes :type: str | None :value: None .. py:attribute:: auth_scheme_names :type: list[str] :value: None .. py:attribute:: description :type: str .. py:attribute:: kind :type: McpCandidateKind .. py:attribute:: notes :type: list[str] :value: None .. py:attribute:: operation_key :type: str .. py:attribute:: operation_slug :type: str .. py:attribute:: prompt_templates :type: list[McpPromptTemplate] :value: None .. py:attribute:: requires_confirmation :type: bool :value: False .. py:attribute:: resource_uri :type: str | None :value: None .. py:attribute:: safety_level :type: McpSafetyLevel .. py:attribute:: title :type: str .. py:attribute:: tool_name :type: str | None :value: None .. py:class:: McpPromptTemplate(/, **data: Any) Bases: :py:obj:`oas2mcp.models.normalized.NormalizedBaseModel` A suggested prompt template derived from an API operation. :param None.: :returns: None. :raises None.: .. rubric:: Examples .. code-block:: python prompt = McpPromptTemplate( name="explain-get-pet-by-id", title="Explain get pet by ID", description="Summarize how to use this endpoint.", ) .. py:attribute:: arguments :type: list[str] :value: None .. py:attribute:: description :type: str .. py:attribute:: meta :type: dict[str, Any] :value: None .. py:attribute:: name :type: str .. py:attribute:: tags :type: list[str] :value: None .. py:attribute:: template :type: str | None :value: None .. py:attribute:: title :type: str .. py:attribute:: version :type: str | None :value: None .. py:data:: McpCandidateKind .. py:data:: McpSafetyLevel