Agentic Loop Deferred Mcp Fixture
Minimal agentic-loop pipeline that sanitizes deferred MCP connectors on the first inference round. defer_loading: true skips tools/list, so replay never opens an independent MCP callout
Category: Test fixture
Task: Minimal agentic-loop pipeline that sanitizes deferred MCP connectors on the first inference round. defer_loading: true skips tools/list, so replay never opens an independent MCP callout
Prerequisites: The matching test or replay fixture; this is not a standalone deployment configuration.
This configuration comes from the selected release. The example has not been run here; external services are not bundled.
Download the source file.
# Agentic Loop Deferred MCP Fixture
# Requires `--features openai-mcp-tools,store-sqlite` because these filters are opt-in.
#
# Minimal agentic-loop pipeline that sanitizes deferred MCP connectors on the
# first inference round. `defer_loading: true` skips `tools/list`, so replay
# never opens an independent MCP callout. The configured connector URL is the
# replay-owned inference backend and is not contacted on this path.
#
# Later-round discovery after `tool_search_call` requires `openai_mcp_dispatch`
# and a live MCP server; that flow is covered by functional tests, not replay.
listeners:
- name: ai-gateway
address: "127.0.0.1:8080"
filter_chains: [agentic-deferred-mcp-fixture]
filter_chains:
- name: agentic-deferred-mcp-fixture
filters:
- filter: openai_responses_format
on_invalid: reject
headers:
format: x-praxis-ai-format
model: x-praxis-ai-model
stream: x-praxis-ai-stream
- filter: openai_responses_validate
- filter: openai_tool_parse
- filter: state_owner
mode: single_tenant
tenant_id: default
- filter: openai_response_store
backend: sqlite
database_url: "sqlite://responses.db?mode=rwc"
responses_table: openai_responses
conversations_table: openai_conversations
- filter: openai_responses_rehydrate
- filter: openai_mcp_tool_resolve
connectors:
- id: corp_drive
server_url: http://127.0.0.1:3001/mcp
- filter: iterative_request_router
initial_step: inference
max_iterations: 2
steps:
- name: inference
filters:
- filter: openai_agentic_loop
max_infer_iters: 1
- filter: openai_responses_proxy
- filter: router
routes:
- path_prefix: "/"
cluster: "inference-backend"
- filter: load_balancer
clusters:
- name: "inference-backend"
endpoints:
- "127.0.0.1:3001"
on_result:
- default: true
done: true
insecure_options:
allow_private_endpoints: true # fixture proxies to a local controlled backend