oas2mcp.agent.summarizer.context¶
Deterministic context builders for the catalog summarizer agent.
- Purpose:
Build compact, structured context objects for the catalog-level summarizer agent using normalized catalogs and optional MCP candidate bundles.
- Design:
Keep context building deterministic and side-effect free.
Emphasize the API’s purpose, conceptual structure, domains, data model, and request/response patterns.
Preserve lightweight operational and MCP-oriented signals without letting them dominate the summarizer’s input.
Support summarization with or without a classified MCP bundle.
Examples
context = build_catalog_summary_context(catalog, bundle=bundle)
print(context.catalog_name)
print(context.primary_schema_refs[0].schema_ref)
Classes¶
Compact MCP candidate example for summarizer input. |
|
Compact security scheme context for summarizer input. |
|
Compact agent-facing context for catalog-level summarization. |
|
Deterministic tag/domain context for summarizer input. |
|
Compact rollup for frequently referenced schema refs. |
Functions¶
|
Build deterministic summarizer context for an API catalog. |
Module Contents¶
- class oas2mcp.agent.summarizer.context.CandidateExample(/, **data: Any)[source][source]¶
Bases:
oas2mcp.models.normalized.NormalizedBaseModelCompact MCP candidate example for summarizer input.
- Parameters:
None.
- Returns:
None.
- Raises:
None. –
Examples
candidate = CandidateExample( operation_key="GET /pets/{id}", operation_slug="get-pet-by-id", kind="resource", title="Get pet by ID", safety_level="safe_read", )
- class oas2mcp.agent.summarizer.context.CatalogSecuritySchemeContext(/, **data: Any)[source][source]¶
Bases:
oas2mcp.models.normalized.NormalizedBaseModelCompact security scheme context for summarizer input.
- Parameters:
None.
- Returns:
None.
- Raises:
None. –
Examples
scheme = CatalogSecuritySchemeContext( name="api_key", type="apiKey", location="header", parameter_name="X-API-Key", )
- class oas2mcp.agent.summarizer.context.CatalogSummaryContext(/, **data: Any)[source][source]¶
Bases:
oas2mcp.models.normalized.NormalizedBaseModelCompact agent-facing context for catalog-level summarization.
- Parameters:
None.
- Returns:
None.
- Raises:
None. –
Examples
context = CatalogSummaryContext( catalog_name="Petstore", catalog_slug="petstore", source_uri="https://example.com/openapi.json", )
- primary_schema_refs: list[SchemaRefSummary] = None[source][source]¶
- request_schema_refs: list[SchemaRefSummary] = None[source][source]¶
- response_schema_refs: list[SchemaRefSummary] = None[source][source]¶
- sample_resource_candidates: list[CandidateExample] = None[source][source]¶
- sample_tool_candidates: list[CandidateExample] = None[source][source]¶
- security_schemes: list[CatalogSecuritySchemeContext] = None[source][source]¶
- tag_summaries: list[CatalogTagContext] = None[source][source]¶
- class oas2mcp.agent.summarizer.context.CatalogTagContext(/, **data: Any)[source][source]¶
Bases:
oas2mcp.models.normalized.NormalizedBaseModelDeterministic tag/domain context for summarizer input.
- Parameters:
None.
- Returns:
None.
- Raises:
None. –
Examples
tag_context = CatalogTagContext( tag_name="pet", description="Everything about your Pets", operation_count=8, )
- class oas2mcp.agent.summarizer.context.SchemaRefSummary(/, **data: Any)[source][source]¶
Bases:
oas2mcp.models.normalized.NormalizedBaseModelCompact rollup for frequently referenced schema refs.
- Parameters:
None.
- Returns:
None.
- Raises:
None. –
Examples
summary = SchemaRefSummary( schema_ref="#/components/schemas/Pet", count=4, )
- oas2mcp.agent.summarizer.context.build_catalog_summary_context(catalog: oas2mcp.models.normalized.ApiCatalog, bundle: oas2mcp.models.mcp.McpBundle | None = None) CatalogSummaryContext[source][source]¶
Build deterministic summarizer context for an API catalog.
- Parameters:
catalog – The normalized API catalog.
bundle – Optional MCP bundle produced by deterministic classification.
- Returns:
A compact
CatalogSummaryContextsuitable for a summarizer agent.- Raises:
None. –
Examples
context = build_catalog_summary_context(catalog, bundle=bundle)