OIP capability: CF_OBSERVABILITY_OBSERVABILITY_KEYS
CF_OBSERVABILITY_OBSERVABILITY_KEYS
This is one executable OIP object. It is the leaf where prose stops and exact invocation begins.
Find keys in the Workers Observability Data ## Best Practices - Set a high limit (1000+) to ensure you see all available keys - Add the $metadata.service filter to narrow results to a specific Worker MCP: https://observability.mcp.cloudflare.com/sse
Parent system: Cloudflare API. Root: /a/oip. Machine doc: /api/dispatch?key=CF_OBSERVABILITY_OBSERVABILITY_KEYS&format=markdown. Invocation history: /api/invocations?object_id=CF_OBSERVABILITY_OBSERVABILITY_KEYS.
Invoke
Example: [CF_OBSERVABILITY_OBSERVABILITY_KEYS]<arg1>[/CF_OBSERVABILITY_OBSERVABILITY_KEYS]
Run URL: https://miscsubjects.com/api/dispatch?invoke=CF_OBSERVABILITY_OBSERVABILITY_KEYS&body=%3Carg1%3E&share=<TOKEN>
Auth: none. Risk: low.
Machine contract
- Read this article first; do not infer the row shape from memory.
- If acting with a URL-only tool, open run_now after replacing placeholder args.
- If the call returns ran:false or proof.ok:false, read the receipt and repair the failed invocation instead of narrating success.
- If the token denies the call, report the denial exactly; do not switch to a broader action unless the owner supplied a broader token.
Troubleshooting
- unknown key - Use the did_you_mean links or ask URL; never guess another key.
- argument/body mismatch - Read inputs/example_args here, then retry with repairs: inv_ID so lineage closes.
- expired or corrupted token - Report token_expired/token_corrupted from the response; owner mints a fresh scoped link.
- tool returned ok:false / exit nonzero - Do not call it sent. Read the receipt, correct the body, fire a repair.
Receipt loop
After any action, open the receipt. If it is wrong, repair it with POST /api/dispatch {key, body, repairs:"inv_ID"}. If you need to repeat the exact recorded call, replay it with POST /api/dispatch {replay:"inv_ID"}.
Full generated capability doc
§SELF — miscsubjects capability (paste without context)
Principle: Self-explaining payload — no external context required. This _self block is the capability: what it is, how to run it, how to change it, and where to look next. Path: OIP > CF > CF_OBSERVABILITY_OBSERVABILITY_KEYS Capability: CF_OBSERVABILITY_OBSERVABILITY_KEYS — Find keys in the Workers Observability Data ## Best Practices - Set a high limit (1000+) to ensure you see all available keys - Add the $metadata.service filter to narrow results to a specific Worker MCP: https://observability.mcp.cloudflare.com/sse RUN NOW (open this URL): https://miscsubjects.com/api/dispatch?invoke=CF_OBSERVABILITY_OBSERVABILITY_KEYS&body=%3Carg1%3E&share=<TOKEN> Example call: [CF_OBSERVABILITY_OBSERVABILITY_KEYS]<arg1>[/CF_OBSERVABILITY_OBSERVABILITY_KEYS]
- type · runner: tool · fn · cf_observability
- run it: Open run_now (URL, fires the example), or POST https://miscsubjects.com/api/dispatch {"key":"CF_OBSERVABILITY_OBSERVABILITY_KEYS","body":"<arg1>"}. From the router: null
- inputs: {"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"keysQuery":{"type":"object","properties":{"timeframe":{"anyOf":[{"type":"object","properties":{"to":{"type":"string"},"from":{"type":"string"}},"required":["to","from"],"description":"An absolute timeframe for your query (ISO-8601 format).\n\n • Current server time: 1970-01-01T00:00:00Z\n • Default: Last hour from current time\n • Maximum range: Last 7 days\n • Format: \"YYYY-MM-DDTHH:MM:SSZ\" (e.g., \"2025-04-29T14:30:00Z\")\n\n Examples:\n - Between April 1st and 5th: from=\"2025-04-01T00:00:00Z\", to=\"2025-04-05T23:59:59Z\"\n\n Note: Narrower timeframes provide faster responses and more specific results.\n Omit this parameter entirely to use the default (last hour)."},{"type":"object","properties":{"reference":{"type":"string"},"offset":{"type":"string"}},"required":["reference","offset"],"description":"Relative timeframe for your query, composed of a reference time and an offset.\n\n • Current server time: 1970-01-01T00:00:00Z\n • Default: Last hour from current time\n • Maximum range: Last 7 days\n • Reference time format: \"YYYY-MM-DDTHH:MM:SSZ\" (ISO-8601) (e.g., \"2025-04-29T14:30:00Z\")\n • Offset format: Must start with a '+' or '-' sign, which indicates whether the offset is in the past or future, followed by one or more time units (e.g., '+5d', '-2h', '+6h20m').\n\t\tUnits: s (seconds), m (minutes), h (hours), d (days), w (weeks).\n\t• You should not use a future looking offset in combination with the current server time as the reference time, as this will yield no results. (e.g. \"the next 20 minutes\")\n\n Examples:\n - Last 30 minutes: reference=\"1970-01-01T00:00:00Z\", offset=\"-30m\"\n - Yesterday: reference=\"1970-01-01T00:00:00Z\", offset=\"-1d\"\n\n Note: Narrower timeframes provide faster responses and more specific results.\n Omit this parameter entirely to use the default (last hour)."}],"description":"Timeframe for your query, which can be either absolute or relative.\n\n • Absolute timeframe: Specify exact start and end times in ISO-8601 format (e.g., \"2025-04-29T14:30:00Z\").\n • Relative timeframe: Specify a reference time and an offset (e.g., reference=\"2025-04-29T14:30:00Z\", offset=\"-30m\").\n\n Examples:\n - Absolute: from=\"2025-04-01T00:00:00Z\", to=\"2025-04-05T23:59:59Z\"\n - Relative: reference=\"2025-04-29T14:30:00Z\", offset=\"-30m\"\n\n Note: Narrower timeframes provide faster responses and more specific results."},"datasets":{"default":[],"description":"Leave this empty to use the default datasets","type":"array","items":{"type":"string"}},"filters":{"default":[],"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Filter field name. IMPORTANT:\n\n • DO NOT guess keys - always use verified keys from either:\n - Previous query results\n - The observability_keys response\n\n • PREFERRED KEYS (faster & always available):\n - $metadata.service: Worker service name\n\t\t\t- $metadata.origin: Trigger type (e.g., fetch, scheduled, etc.)\n\t\t\t- $metadata.trigger: Trigger type (e.g., GET /users, POST /orders, etc.)\n - $metadata.message: Log message text (present in nearly all logs)\n - $metadata.error: Error message (when applicable)\n"},"operation":{"type":"string","enum":["includes","not_includes","starts_with","regex","exists","is_null","in","not_in","eq","neq","gt","gte","lt","lte"]},"value":{"description":"Filter comparison value. IMPORTANT:\n\n • MUST match actual values in your logs\n • VERIFY using either:\n - Actual values from previous query results\n - The '/values' endpoint with your selected key\n\n • TYPE MATCHING:\n - Ensure value type (string/number/boolean) matches the field type\n - String comparisons are case-sensitive unless using specific operations\n\n • PATTERN USAGE:\n - For 'contains', use simple wildcard patterns\n - For 'regex', MUST use ClickHouse regex syntax:\n - Uses RE2 syntax (not PCRE/JavaScript)\n - No lookaheads/lookbehinds\n - Examples: '^5\\d{2}$' for HTTP 5xx codes, '\\bERROR\\b' for word boundary\n - Escape backslashes with double backslash","anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"type":{"type":"string","enum":["string","number","boolean"]}},"required":["key","operation","type"],"description":"\n\t## Filtering Best Practices\n- Before applying filters, use the observability_keys and observability_values queries to confirm available filter fields and values.\n- If the query is asking to find something you should check that it exists. I.e. to requests with errors filter for $metadata.error exists.\n\t"}},"limit":{"description":"\n • ADVANCED USAGE:\n set limit=1000+ to retrieve comprehensive key options without needing additional filtering","type":"number"},"needle":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"isRegex":{"type":"boolean"},"matchCase":{"type":"boolean"}},"required":["value"]},"keyNeedle":{"description":"If the user makes a suggestion for a key, use this to narrow down the list of keys returned.\n\t\tMake sure match case is fals to avoid case sensitivity issues.","type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"isRegex":{"type":"boolean"},"matchCase":{"type":"boolean"}},"required":["value"]}},"required":["timeframe"]}},"required":["keysQuery"]}
- outputs: { ok, result, invocation, yield, _self } — result is this object's output; yield is tokens/cost/material; invocation is the ledgered record.
- auth · risk: none · low
Machine Contract
- Read this article first; do not infer the row shape from memory.
- If acting with a URL-only tool, open run_now after replacing placeholder args.
- If the call returns ran:false or proof.ok:false, read the receipt and repair the failed invocation instead of narrating success.
- If the token denies the call, report the denial exactly; do not switch to a broader action unless the owner supplied a broader token.
Invocation, Ledger, Repair
- root tree: https://miscsubjects.com/api/dispatch?map=1&format=markdown
- parent system article: https://miscsubjects.com/api/dispatch?map=CF&format=markdown
- append-only ledger: https://miscsubjects.com/api/invocations?object_id=CF_OBSERVABILITY_OBSERVABILITY_KEYS
- receipt pattern: https://miscsubjects.com/api/dispatch?receipt=inv_ID&share=<TOKEN>
- replay: POST /api/dispatch {"replay":"inv_ID"}
- repair: POST /api/dispatch {"key":"CF_OBSERVABILITY_OBSERVABILITY_KEYS","body":"corrected args","repairs":"inv_ID"}
Troubleshooting
- unknown key — Use the did_you_mean links or ask URL; never guess another key. · https://miscsubjects.com/api/dispatch?ask=CF_OBSERVABILITY_OBSERVABILITY_KEYS
- argument/body mismatch — Read inputs/example_args here, then retry with repairs: inv_ID so lineage closes. · https://miscsubjects.com/api/dispatch?key=CF_OBSERVABILITY_OBSERVABILITY_KEYS
- expired or corrupted token — Report token_expired/token_corrupted from the response; owner mints a fresh scoped link. · https://miscsubjects.com/api/dispatch?explain=1&share=<TOKEN>
- tool returned ok:false / exit nonzero — Do not call it sent. Read the receipt, correct the body, fire a repair. · https://miscsubjects.com/api/dispatch?receipt=inv_ID&share=<TOKEN>
Logical proof (verify each step)
- Every capability is an invokable object with its own _self — this block. → https://miscsubjects.com/api/dispatch?key=CF_OBSERVABILITY_OBSERVABILITY_KEYS
- You run it by POSTing to /api/dispatch; in a model turn the router tag is [CF_OBSERVABILITY_OBSERVABILITY_KEYS]args[/CF_OBSERVABILITY_OBSERVABILITY_KEYS]. → https://miscsubjects.com/api/dispatch?registry=1
- Every invocation is ledgered with actor, cost, and material/waste. → https://miscsubjects.com/api/invocations?object_id=CF_OBSERVABILITY_OBSERVABILITY_KEYS
- You can ask the build for capabilities in plain language. → https://miscsubjects.com/api/dispatch?ask=CF_OBSERVABILITY_OBSERVABILITY_KEYS
- The whole build is one self-describing map, with the terminal key. → https://miscsubjects.com/api/dispatch?build=1
Where to look next
- registry — Every capability, self-describing · https://miscsubjects.com/api/dispatch?registry=1
- ask — Ask the build what to use, in plain language · https://miscsubjects.com/api/dispatch?ask=<question>
- history — This capability's invocation history — its edges · https://miscsubjects.com/api/invocations?object_id=CF_OBSERVABILITY_OBSERVABILITY_KEYS
- build — The whole build as one map (terminal key) · https://miscsubjects.com/api/dispatch?build=1
Self-explaining. Not project knowledge — fetch specifics from the links above.