{"version":"1.0","service":"citability.dev","tool_inventory":[{"name":"recordArcDispatch","description":"Record a dispatch telemetry row for a citability arc close-out, so the agents screen reflects work that actually happened.","kind":"write","auth":"ops-token","registered_on":["/"],"action_native":true,"approval":"never","required_scopes":["telemetry:dispatch:write"]},{"name":"recordArcOutcome","description":"Record the terminal pipeline status for a citability arc close-out against a dispatch row.","kind":"write","auth":"ops-token","registered_on":["/"],"action_native":true,"approval":"never","required_scopes":["telemetry:pipeline:write"]},{"name":"markAlertRead","description":"Mark an alert event read once the agent has acted on it, so the operator's alert list reflects reality.","kind":"write","auth":"ops-token","registered_on":["/"],"action_native":true,"approval":"never","required_scopes":["alerts:triage:write"]},{"name":"getWorkspaceProfile","description":"Return the authenticated operator's email, display name, and active workspace (client) if one is owned by this user.","kind":"read","auth":"operator","registered_on":["/operator/*"],"action_native":true,"approval":"never","required_scopes":["workspace:read"]},{"name":"listMyDomains","description":"List the tracked tenants (domains) in the Citability workspace, with verification status.","kind":"read","auth":"operator","registered_on":["/operator/*"],"action_native":true,"approval":"never","required_scopes":["domains:read"]},{"name":"listMyScans","description":"List recent Citability scans. Optional tenant (domain) narrows to one tracked tenant.","kind":"read","auth":"operator","registered_on":["/operator/*"],"action_native":true,"approval":"never","required_scopes":["scans:read"]},{"name":"addDomain","description":"Add a new tracked-domain client to the operator's workspace. Optional prompts seed the per-client query set.","kind":"write","auth":"operator","registered_on":["/operator/*"],"action_native":false,"approval":"never","required_scopes":[]},{"name":"runFullAudit","description":"Queue a Citability citation scan for a tracked tenant with an explicit query and model set. Requires human approval; only invokable by the operator's authenticated session.","kind":"write","auth":"operator","registered_on":["/operator/*"],"action_native":true,"approval":"required","required_scopes":["audits:run"]},{"name":"getAuditStatus","description":"Fetch the status, progress, AVR, and timestamps of a Citability scan by tenant + runId.","kind":"read","auth":"operator","registered_on":["/operator/*"],"action_native":true,"approval":"never","required_scopes":["scans:read"]},{"name":"getDogfoodPortfolio","description":"Read the durable dogfood job state, AVR, citation rate, drift, and evidence-completeness signals for citability.dev and chudi.dev.","kind":"read","auth":"operator","registered_on":["/operator/*"],"action_native":true,"approval":"never","required_scopes":["dogfood:read"]},{"name":"diagnoseDogfoodPortfolio","description":"Diagnose the receipt-backed dogfood loop for citability.dev and chudi.dev, rank measurement or outcome problems, and return evidence-linked next actions.","kind":"read","auth":"operator","registered_on":["/operator/*"],"action_native":true,"approval":"never","required_scopes":["dogfood:diagnose"]},{"name":"checkSeoPortfolio","description":"Run live sitemap, HTTP status, canonical, and noindex checks across citability.dev and chudi.dev.","kind":"read","auth":"operator","registered_on":["/operator/*"],"action_native":true,"approval":"never","required_scopes":["seo:read"]},{"name":"listMyReceipts","description":"List sha256-chained Citability citation receipts. Optional tenant and runId narrow the scope. Default limit 20.","kind":"read","auth":"operator","registered_on":["/operator/*"],"action_native":true,"approval":"never","required_scopes":["receipts:read"]},{"name":"openReceipt","description":"Fetch a single Citability citation receipt by tenant + receiptId, including the full model answer and hash-chain fields.","kind":"read","auth":"operator","registered_on":["/operator/*"],"action_native":true,"approval":"never","required_scopes":["receipts:read"]},{"name":"submitFreeScan","description":"Submit a public free-tier scan request for any URL. Anonymous-allowed; rate-limited per IP. Returns a scan id when accepted.","kind":"write","auth":"public","registered_on":["/"],"action_native":false,"approval":"never","required_scopes":[]},{"name":"getRunTelemetry","description":"Per-run scan health for agents: status, duration, progress, AVR, per-engine lane coverage (captured vs missing cells, verdict counts), and manifest hash. Fields not persisted anywhere (stage timings, cost, gate result) are returned as explicit {recorded:false} objects, never fabricated. Requires Bearer OPS_TOKEN.","kind":"read","auth":"ops-token","registered_on":["/"],"action_native":false,"approval":"never","required_scopes":[]},{"name":"getInterventionEffect","description":"Attribution feedback for agents: did the declared intervention move AVR between two completed scans? Fails closed on same-run, manifest drift, inverted window, zero or multiple candidate interventions, and any delta under the derived noise floor. Confidence is at most 'suggestive'; unpaired scans can never earn 'attributable'. Requires Bearer OPS_TOKEN.","kind":"read","auth":"ops-token","registered_on":["/"],"action_native":false,"approval":"never","required_scopes":[]}],"richer_manifest":"/.well-known/agent-actions","mcp_server":"/mcp","agent_card":"/.well-known/agent.json","spec":"https://webmachinelearning.github.io/webmcp/"}