{"name":"Utilito Context Ops","version":"2026-07-14","description":"Compact deterministic routing and six reproducible workflows without loading the full Utilito catalog.","docs":"https://utilito.dev/api-docs/#context-ops-recipes","privacy":{"product_analytics":false,"metrics_response_header":false,"raw_bodies_retained":false,"generated_outputs_retained":false,"client_identifiers_retained":false,"secrets_allowed":false},"access":{"free":{"key_required":false,"limits":{"api_run_per_minute":60,"mcp_per_minute":30,"batch_per_minute":20,"pipeline_per_minute":20}},"pilot":{"name":"Context Ops Builder Pilot","price_usd_monthly":35,"currency":"USD","billing_period":"month","order_url":"https://utilito.dev/pricing/","security_scheme":"bearer","header":"Authorization: Bearer $PILOT_TOKEN","manual_provisioning":true,"scoped_keys":true,"overlap_rotation":true,"strong_subject_quota":true,"no_uptime_sla":true,"limits":{"api_run_per_minute":120,"mcp_per_minute":60,"batch_per_minute":60,"pipeline_per_minute":60}}},"installation":{"mode":"hosted","package_required":false,"endpoint":"https://utilito.dev/mcp","transport":"Streamable HTTP","docs":"https://utilito.dev/agents/","manifest":"https://utilito.dev/.well-known/agent-install.json"},"local_package":{"name":"@utilito/mcp","published":false,"install_command":null,"publication_gate":"separate explicit approval"},"mcp":{"endpoint":"https://utilito.dev/mcp","transport":"Streamable HTTP","protocol_version":"2025-06-18","stateless":true,"tools":["search_tools","get_tool_schema","run_tool","run_batch","run_pipeline"],"response_modes":{"run_tool":["full","compact","output"],"run_pipeline":[]}},"composition":{"max_items":5,"max_steps":5,"bindings":["$INPUT","$PREV","$STEP[n]"],"pipeline_step_input":{"required":true,"shape":"object containing canonical $INPUT, $PREV, or past-only $STEP[n] bindings"}},"http":{"search":"https://utilito.dev/api/tools/search","schema_template":"https://utilito.dev/api/tools/{tool_id}/schema","run":"https://utilito.dev/api/run","batch":"https://utilito.dev/api/batch","pipeline":"https://utilito.dev/api/pipeline"},"workflows":[{"id":"repair-malformed-json","job":"Malformed model output","title":"Repair malformed JSON","tool":"structured-output-recovery-kit","endpoint":"https://utilito.dev/api/run","description":"Recover a parseable object and inspect deterministic repairs; use Structured Output Rescue when canonicalization, schema checks, or tool-call validation are also required.","request":{"tool_id":"structured-output-recovery-kit","response_mode":"full","input":{"text":"{name:\"Ada\",items:[1,2,],}","recovery_policy":"conservative"}},"proof":{"input_bytes":26,"output_bytes":28,"change_label":"7.7% larger","input_tokens_est":7,"output_tokens_est":7}},{"id":"extract-exact-slice","job":"Oversized API response","title":"Extract the exact slice","tool":"json-query","endpoint":"https://utilito.dev/api/run","description":"Select one needed record before the full response reaches model context.","request":{"tool_id":"json-query","response_mode":"compact","input":{"input":"{\"users\":[{\"id\":1,\"name\":\"User 1\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":2,\"name\":\"User 2\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":3,\"name\":\"User 3\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":4,\"name\":\"User 4\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":5,\"name\":\"User 5\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":6,\"name\":\"User 6\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":7,\"name\":\"User 7\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":8,\"name\":\"User 8\",\"status\":\"active\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":9,\"name\":\"User 9\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":10,\"name\":\"User 10\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":11,\"name\":\"User 11\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":12,\"name\":\"User 12\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}}]}","query":"users.7"}},"proof":{"input_bytes":1395,"output_bytes":112,"change_label":"92% reduction","input_tokens_est":349,"output_tokens_est":28}},{"id":"shrink-to-budget","job":"Unknown large structure","title":"Shrink with explicit markers","tool":"json-shrink","endpoint":"https://utilito.dev/api/run","description":"Keep representative values and make every truncation visible in-band; use Context Distill for hard byte caps, field projection, stable dedupe, and error neighborhoods.","request":{"tool_id":"json-shrink","response_mode":"compact","input":{"input":"{\"users\":[{\"id\":1,\"bio\":\"Long profile 1: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":2,\"bio\":\"Long profile 2: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":3,\"bio\":\"Long profile 3: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":4,\"bio\":\"Long profile 4: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":5,\"bio\":\"Long profile 5: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":6,\"bio\":\"Long profile 6: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":7,\"bio\":\"Long profile 7: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":8,\"bio\":\"Long profile 8: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":9,\"bio\":\"Long profile 9: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":10,\"bio\":\"Long profile 10: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":11,\"bio\":\"Long profile 11: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":12,\"bio\":\"Long profile 12: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":13,\"bio\":\"Long profile 13: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":14,\"bio\":\"Long profile 14: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":15,\"bio\":\"Long profile 15: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":16,\"bio\":\"Long profile 16: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":17,\"bio\":\"Long profile 17: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":18,\"bio\":\"Long profile 18: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":19,\"bio\":\"Long profile 19: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":20,\"bio\":\"Long profile 20: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":21,\"bio\":\"Long profile 21: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":22,\"bio\":\"Long profile 22: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":23,\"bio\":\"Long profile 23: context context context context context context context context context context context context context context context context context context context context \",\"note\":null},{\"id\":24,\"bio\":\"Long profile 24: context context context context context context context context context context context context context context context context context context context context \",\"note\":null}]}","max_array_items":2,"max_string_length":60,"drop_nulls":true}},"proof":{"input_bytes":4985,"output_bytes":226,"change_label":"95.5% reduction","input_tokens_est":1247,"output_tokens_est":57}},{"id":"prepare-data-logs-locally","job":"Data and log preparation","title":"Prepare bounded data locally","tool":"csv-jsonl-converter","endpoint":"https://utilito.dev/api/run","browser_cta":"https://utilito.dev/data-log-prep/","description":"Start in the browser-local flagship for strict transforms, literal log reduction, or bounded local-file selection; this optional hosted request accepts only the CSV text explicitly submitted.","request":{"tool_id":"csv-jsonl-converter","response_mode":"full","input":{"input":"name,score\nAda,10\nGrace,12","direction":"csv_to_jsonl","delimiter":"auto","headerMode":"first-row","strict":true}},"proof":{"input_bytes":26,"output_bytes":57,"change_label":"119.2% larger","input_tokens_est":7,"output_tokens_est":15}},{"id":"batch-independent-work","job":"Independent cleanup jobs","title":"Batch independent work","tool":"json-repair + json-query","endpoint":"https://utilito.dev/api/batch","description":"Run unrelated deterministic operations in one bounded request while preserving per-id success and typed failure.","request":{"response_mode":"compact","requests":[{"id":"repair","tool_id":"structured-output-recovery-kit","response_mode":"full","input":{"text":"{name:\"Ada\",items:[1,2,],}","recovery_policy":"conservative"}},{"id":"extract","tool_id":"json-query","response_mode":"compact","input":{"input":"{\"users\":[{\"id\":1,\"name\":\"User 1\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":2,\"name\":\"User 2\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":3,\"name\":\"User 3\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":4,\"name\":\"User 4\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":5,\"name\":\"User 5\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":6,\"name\":\"User 6\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":7,\"name\":\"User 7\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":8,\"name\":\"User 8\",\"status\":\"active\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":9,\"name\":\"User 9\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":10,\"name\":\"User 10\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":11,\"name\":\"User 11\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}},{\"id\":12,\"name\":\"User 12\",\"status\":\"inactive\",\"profile\":{\"bio\":\"Profile metadata that is not needed by the agent.\"}}]}","query":"users.7"}}]},"proof":{"input_bytes":1897,"output_bytes":689,"change_label":"63.7% reduction","input_tokens_est":475,"output_tokens_est":173}},{"id":"compose-without-intermediates","job":"Linked transformation","title":"Compose without intermediates","tool":"repair → query → shrink","endpoint":"https://utilito.dev/api/pipeline","description":"Run three deterministic steps server-side and return only the final output plus a bounded trace.","request":{"input":"{users:[{name:\"Ada\",bio:\"A long biography that should be bounded before model context\"},{name:\"Lin\",bio:\"Another long biography that should be bounded before model context\"},],}","steps":[{"tool_id":"json-repair","input":{"input":"$INPUT"}},{"tool_id":"json-query","input":{"input":"$PREV","query":"users.*"}},{"tool_id":"json-shrink","input":{"input":"$PREV","max_array_items":1,"max_string_length":48}}]},"proof":{"input_bytes":175,"output_bytes":115,"change_label":"34.3% reduction","input_tokens_est":45,"output_tokens_est":29}}],"product_packs":{"context_tool_id":"context-pack-builder","artifact_tool_id":"evidence-report-builder","context_schema":"utilito.context-pack.v1","artifact_schema":"utilito.evidence-report.v1","recipes":["api-response-pack","ci-failure-pack","rag-evidence-pack","agent-handoff-pack","contract-review-pack","evaluation-fixture-pack","agent-run-failure-pack","accessibility-review-pack","patch-verification-pack","log-triage-pack","structured-data-quality-pack","http-security-review-pack","file-integrity-change-pack"],"report_presets":["evidence-report","ci-incident-report","agent-handoff-report","contract-review-report","evaluation-fixture-report","agent-run-failure-report","accessibility-review-report","patch-verification-report","log-triage-report","structured-data-quality-report","http-security-review-report","file-integrity-change-report"],"report_export_formats":["markdown","html"],"model_used":false,"storage_used":false},"verification":{"command":"npm run verify:clean-context-ops","source":"https://utilito.dev/api-docs/#context-ops-recipes"},"readiness":{"stage":"public-production","registry_ready":true,"listings_submitted":false,"admission":"durable-object+waf-defense-in-depth","waf":{"active":true,"requests_per_period":30,"period_seconds":10,"mitigation_seconds":10,"exact_quota":false},"production_worker":{"configured":true,"deployed":true,"name":"utilito-context-ops-preview","routes":["/mcp","/api/run","/api/batch","/api/pipeline"],"preview_url":"https://context-ops-preview.utilito.dev","workers_dev_url":"https://utilito-context-ops-preview.utilito-tools.workers.dev","admission":"durable-object","storage":"sqlite","rollback_url":"https://utilito.pages.dev","rollback_rehearsed":true},"blockers":["directory listings not yet submitted"]}}
