aipod — server mode

v0.1.5

A reference Model Context Protocol server that exercises every MCP feature — built with pydantic-ai.

Endpoints

POST /mcp — MCP (Streamable HTTP) GET /health GET /contract.json — service contract GET /.well-known/oauth-protected-resource — when auth is enabled GET /metrics — Prometheus (on by default; AIPOD_METRICS=none disables)

The companion aipod agent publishes an agent card at /.well-known/agent-card.json (A2A shape, with a link back to this contract).

Protocol tools

  • echo — echo the input
  • add — add two numbers
  • get_tiny_image — text + image blocks
  • get_annotated_message — priority / audience annotations
  • get_structured_weather — typed output schema
  • get_resource_reference — embedded resource block
  • get_resource_links — resource_link blocks
  • trigger_long_running_operation — progress updates
  • toggle_simulated_logging — periodic log messages
  • toggle_subscriber_updates — resources/updated events
  • poet / summarize / weather_report — pydantic-ai via MCP sampling

Marvel roster

  • list_heroes / get_hero — typed roster output
  • find_heroes_by_power — search by power
  • assemble_team — pick heroes for a threat
  • hero_bio — pydantic-ai bio via sampling

SRE / IT-application

  • list_services / get_service — service catalogue
  • check_service_health — metrics + SLO + incidents → verdict
  • error_budget — SLO budget + burn rate
  • search_logs — deterministic synthetic log search
  • list_incidents / open_incident / update_incident
  • list_deployments / rollback_deployment
  • get_oncall — on-call + escalation
  • get_runbook — runbook steps by symptom
  • incident_postmortem — pydantic-ai draft via sampling

Resources

  • demo://resource/dynamic/text/{resource_id}
  • demo://resource/dynamic/blob/{resource_id}
  • hero://roster/{codename}
  • service://catalog/{name}
  • runbook://{service}
  • demo://resource/static/instructions.md
  • demo://resource/static/features.md

Prompts

  • simple_prompt
  • args_prompt (city, state?)
  • completable_prompt (department → name)
  • resource_prompt (embeds a resource)

Also

  • Argument completion
  • Resource subscriptions
  • Client-controlled logging level
  • Optional bearer auth (OAuth 2.1 protected resource)
  • OpenTelemetry metrics (/metrics, on by default)