{
  "name": "toofi",
  "description": "Toofi is the first agent-native dental planning workspace. Clinical AI agents call Toofi to generate treatment-plan drafts, patient-facing presentations, and price estimates from clinical inputs - with mandatory dentist approval before clinical use. MCP server, OAuth 2.1 with mandate scoping, signed audit trail, and C2PA-provenanced outputs.",
  "homepage": "https://toofi.app/agents",
  "endpoint": "https://toofi.app/mcp",
  "server_json": "https://toofi.app/.well-known/mcp/server.json",
  "transport": {
    "type": "streamable_http",
    "protocol_version": "2025-03-26",
    "methods": [
      "initialize",
      "tools/list",
      "tools/call"
    ],
    "sse": false,
    "stateless": true
  },
  "server_card": "https://toofi.app/.well-known/mcp/server-card.json",
  "capabilities_endpoint": "https://toofi.app/api/agent/capabilities",
  "openapi": "https://toofi.app/openapi.json",
  "tools": [
    {
      "name": "generate_dental_treatment_plan_pdf",
      "status": "live_headless_runtime",
      "mcp": {
        "method": "tools/call",
        "endpoint": "https://toofi.app/mcp"
      },
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/runtime/agent/headless/plan/execute"
      },
      "capability": "headless_dental_plan.execute",
      "description": "Start Toofi's real headless treatment-plan pipeline from structured clinical findings: service-user runtime plan, AI plan generation, and operation id for PDF/presentation delivery. Dentist approval required.",
      "billing": {
        "unit": "toofi_internal_credit",
        "required_credits": 15,
        "demo_charged": false,
        "production_metering": "internal_credits"
      },
      "auth": {
        "header": "X-Toofi-Agent-Key",
        "mcp_argument": "agent_key",
        "runtime_session_token_supported": true
      }
    },
    {
      "name": "get_dental_plan_operation_status",
      "status": "live_headless_runtime",
      "mcp": {
        "method": "tools/call",
        "endpoint": "https://toofi.app/mcp"
      },
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/runtime/agent/headless/plan/status"
      },
      "capability": "headless_dental_plan.status",
      "description": "Poll a Toofi headless dental plan operation until AI planning completes and presentation/PDF delivery is ready.",
      "auth": {
        "header": "X-Toofi-Agent-Key",
        "mcp_argument": "agent_key",
        "runtime_session_token_supported": true
      }
    },
    {
      "name": "discover_capabilities",
      "status": "live",
      "mcp": {
        "method": "tools/call",
        "endpoint": "https://toofi.app/mcp"
      },
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/capabilities"
      },
      "description": "Discover Toofi agent-native dental planning capabilities, links, safety boundary, and billing rails."
    },
    {
      "name": "lookup_dental_procedures",
      "status": "live",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/dental-procedures/lookup"
      },
      "description": "Look up Toofi dental procedure catalog entries from a natural-language query. No PHI."
    },
    {
      "name": "preview_plan_draft_schema",
      "status": "schema_preview",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/plan-draft/preview"
      },
      "description": "Preview the structured response schema for treatment-plan draft generation. No PHI."
    },
    {
      "name": "list_patients",
      "status": "agent_native_contract",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/patients/list"
      },
      "capability": "patients.list",
      "description": "List clinic patients. Requires clinic-scoped OAuth mandate and dentist approval where clinical output is produced."
    },
    {
      "name": "get_patient",
      "status": "agent_native_contract",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/patients/get"
      },
      "capability": "patients.get",
      "description": "Get one clinic patient. Requires clinic-scoped OAuth mandate and dentist approval where clinical output is produced."
    },
    {
      "name": "list_plans",
      "status": "agent_native_contract",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/plans/list"
      },
      "capability": "plans.list",
      "description": "List treatment plans. Requires clinic-scoped OAuth mandate and dentist approval where clinical output is produced."
    },
    {
      "name": "get_plan",
      "status": "agent_native_contract",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/plans/get"
      },
      "capability": "plans.get",
      "description": "Get one treatment plan. Requires clinic-scoped OAuth mandate and dentist approval where clinical output is produced."
    },
    {
      "name": "get_status",
      "status": "agent_native_contract",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/status/get"
      },
      "capability": "workflow.status",
      "description": "Get agent workflow status. Requires clinic-scoped OAuth mandate and dentist approval where clinical output is produced."
    },
    {
      "name": "start_pano_markup",
      "status": "agent_native_contract",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/pano-markup/start"
      },
      "capability": "pano_markup.start",
      "description": "Start panoramic X-ray markup. Requires clinic-scoped OAuth mandate and dentist approval where clinical output is produced."
    },
    {
      "name": "generate_treatment_plan_draft",
      "status": "live_demo_plan_generation",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/treatment-plan-drafts/generate"
      },
      "capability": "treatment_plan_drafts.generate",
      "description": "Generate a structured treatment-plan draft from agent input. Demo mode is no-auth/no-memory and reports 15 Toofi internal credits for production metering. Dentist approval required.",
      "billing": {
        "unit": "toofi_internal_credit",
        "required_credits": 15,
        "demo_charged": false,
        "production_metering": "internal_credits"
      }
    },
    {
      "name": "get_agent_billing_quote",
      "status": "live_payment_contract",
      "mcp": {
        "method": "tools/call",
        "endpoint": "https://toofi.app/mcp"
      },
      "description": "Get a deterministic Toofi internal-credit quote for an agent tool call with TTL, Stripe checkout rail, and x402-ready contract fields."
    },
    {
      "name": "create_agent_checkout_session",
      "status": "live_stripe_checkout",
      "mcp": {
        "method": "tools/call",
        "endpoint": "https://toofi.app/mcp"
      },
      "description": "Create a real Stripe Checkout session for buying Toofi internal credits. After payment Toofi emails an agent API key for paid MCP tools.",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/runtime/agent/checkout/create"
      }
    },
    {
      "name": "get_example_result",
      "status": "live_pipeline_cached_artifact",
      "mcp": {
        "method": "tools/call",
        "endpoint": "https://toofi.app/mcp"
      },
      "description": "Return a stable public PDF artifact showing Toofi output for an example case: tooth 11 and root 11 are missing. No generation runs at call time.",
      "artifacts": [
        {
          "language": "en",
          "url": "https://toofi.app/agents/examples/en/toofi-en.pdf?v=20260513r3"
        },
        {
          "language": "pl",
          "url": "https://toofi.app/agents/examples/pl/toofi-pl.pdf?v=20260513r3"
        },
        {
          "language": "ru",
          "url": "https://toofi.app/agents/examples/ru/toofi-ru.pdf?v=20260513r3"
        },
        {
          "language": "sk",
          "url": "https://toofi.app/agents/examples/sk/toofi-sk.pdf?v=20260513r3"
        },
        {
          "language": "uk",
          "url": "https://toofi.app/agents/examples/uk/toofi-uk.pdf?v=20260513r3"
        },
        {
          "language": "ua",
          "url": "https://toofi.app/agents/examples/ua/toofi-ua.pdf?v=20260513r3",
          "alias_of": "uk"
        }
      ]
    },
    {
      "name": "generate_patient_presentation",
      "status": "agent_native_contract",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/patient-presentations/generate"
      },
      "capability": "patient_presentations.generate",
      "description": "Generate patient-facing presentation. Requires clinic-scoped OAuth mandate and dentist approval where clinical output is produced."
    },
    {
      "name": "generate_price_estimate",
      "status": "agent_native_contract",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/price-estimates/generate"
      },
      "capability": "price_estimates.generate",
      "description": "Generate price estimate. Requires clinic-scoped OAuth mandate and dentist approval where clinical output is produced."
    },
    {
      "name": "import_price_csv",
      "status": "agent_native_contract",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/price-csv/import"
      },
      "capability": "price_csv.import",
      "description": "Import clinic price CSV. Requires clinic-scoped OAuth mandate and dentist approval where clinical output is produced."
    },
    {
      "name": "get_agent_credit_balance",
      "status": "live_agent_key",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/runtime/agent/credits/balance"
      },
      "capability": "credits.balance",
      "description": "Get Toofi internal credit balance with X-Toofi-Agent-Key or agent_key.",
      "auth": {
        "header": "X-Toofi-Agent-Key",
        "mcp_argument": "agent_key"
      }
    },
    {
      "name": "list_audit_receipts",
      "status": "agent_native_contract",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/audit/receipts"
      },
      "capability": "audit.receipts",
      "description": "List signed audit receipts. Requires clinic-scoped OAuth mandate and dentist approval where clinical output is produced."
    },
    {
      "name": "demo_patients_list",
      "status": "live_demo_data",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/demo/patients/list"
      },
      "capability": "demo.patients.list",
      "description": "List demo patients. Public demo data, no registration, no PHI."
    },
    {
      "name": "demo_patients_get",
      "status": "live_demo_data",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/demo/patients/get"
      },
      "capability": "demo.patients.get",
      "description": "Get demo patient. Public demo data, no registration, no PHI."
    },
    {
      "name": "demo_plans_list",
      "status": "live_demo_data",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/demo/plans/list"
      },
      "capability": "demo.plans.list",
      "description": "List demo plans. Public demo data, no registration, no PHI."
    },
    {
      "name": "demo_plans_get",
      "status": "live_demo_data",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/demo/plans/get"
      },
      "capability": "demo.plans.get",
      "description": "Get demo plan. Public demo data, no registration, no PHI."
    },
    {
      "name": "demo_presentations_get",
      "status": "live_demo_data",
      "http": {
        "method": "POST",
        "url": "https://toofi.app/api/agent/demo/presentations/get"
      },
      "capability": "demo.presentations.get",
      "description": "Get demo presentation. Public demo data, no registration, no PHI."
    },
    {
      "name": "example_en",
      "status": "live_pipeline_cached_artifact",
      "mcp": {
        "method": "tools/call",
        "endpoint": "https://toofi.app/mcp"
      },
      "description": "Return the cached Toofi example PDF artifact generated through the live headless pipeline for language en.",
      "artifact": "https://toofi.app/agents/examples/en/toofi-en.pdf?v=20260513r3"
    },
    {
      "name": "example_pl",
      "status": "live_pipeline_cached_artifact",
      "mcp": {
        "method": "tools/call",
        "endpoint": "https://toofi.app/mcp"
      },
      "description": "Return the cached Toofi example PDF artifact generated through the live headless pipeline for language pl.",
      "artifact": "https://toofi.app/agents/examples/pl/toofi-pl.pdf?v=20260513r3"
    },
    {
      "name": "example_ru",
      "status": "live_pipeline_cached_artifact",
      "mcp": {
        "method": "tools/call",
        "endpoint": "https://toofi.app/mcp"
      },
      "description": "Return the cached Toofi example PDF artifact generated through the live headless pipeline for language ru.",
      "artifact": "https://toofi.app/agents/examples/ru/toofi-ru.pdf?v=20260513r3"
    },
    {
      "name": "example_sk",
      "status": "live_pipeline_cached_artifact",
      "mcp": {
        "method": "tools/call",
        "endpoint": "https://toofi.app/mcp"
      },
      "description": "Return the cached Toofi example PDF artifact generated through the live headless pipeline for language sk.",
      "artifact": "https://toofi.app/agents/examples/sk/toofi-sk.pdf?v=20260513r3"
    },
    {
      "name": "example_uk",
      "status": "live_pipeline_cached_artifact",
      "mcp": {
        "method": "tools/call",
        "endpoint": "https://toofi.app/mcp"
      },
      "description": "Return the cached Toofi example PDF artifact generated through the live headless pipeline for language uk.",
      "artifact": "https://toofi.app/agents/examples/uk/toofi-uk.pdf?v=20260513r3"
    },
    {
      "name": "example_ua",
      "status": "live_pipeline_cached_artifact",
      "mcp": {
        "method": "tools/call",
        "endpoint": "https://toofi.app/mcp"
      },
      "description": "Return the cached Toofi example PDF artifact generated through the live headless pipeline for language ua.",
      "artifact": "https://toofi.app/agents/examples/ua/toofi-ua.pdf?v=20260513r3"
    }
  ],
  "safety": {
    "dentist_approval_required": true,
    "public_tools_expose_phi": false
  },
  "auth": {
    "protocol": "OAuth 2.1",
    "sender_constrained_tokens": "DPoP",
    "mandate_scoping": true,
    "required_identity_fields": [
      "agent_id",
      "principal_id",
      "acting_on_behalf_of",
      "mandate_id",
      "permission_id",
      "token_id",
      "issuer",
      "jwks_url",
      "policy_version"
    ]
  },
  "provenance": {
    "signed_audit_trail": true,
    "c2pa_outputs": true
  },
  "billing": {
    "stripe_checkout": true,
    "api_key_delivery": {
      "channel": "email",
      "header": "X-Toofi-Agent-Key",
      "mcp_argument": "agent_key"
    }
  },
  "example_artifacts": {
    "manifest": "https://toofi.app/agents/examples/index.json",
    "tools": [
      "get_example_result",
      "example_en",
      "example_pl",
      "example_ru",
      "example_sk",
      "example_uk",
      "example_ua"
    ],
    "pdfs": [
      {
        "language": "en",
        "url": "https://toofi.app/agents/examples/en/toofi-en.pdf?v=20260513r3"
      },
      {
        "language": "pl",
        "url": "https://toofi.app/agents/examples/pl/toofi-pl.pdf?v=20260513r3"
      },
      {
        "language": "ru",
        "url": "https://toofi.app/agents/examples/ru/toofi-ru.pdf?v=20260513r3"
      },
      {
        "language": "sk",
        "url": "https://toofi.app/agents/examples/sk/toofi-sk.pdf?v=20260513r3"
      },
      {
        "language": "uk",
        "url": "https://toofi.app/agents/examples/uk/toofi-uk.pdf?v=20260513r3"
      },
      {
        "language": "ua",
        "url": "https://toofi.app/agents/examples/ua/toofi-ua.pdf?v=20260513r3",
        "alias_of": "uk"
      }
    ]
  }
}
