{"id":568691,"recorded_at":"2026-10-27T22:11:32.381641Z","observed_at":"2026-10-27T22:11:32.381480Z","subject_kind":"endpoint","subject":"0a3ca1cd-7952-4707-aeea-7cc96a2c3aea","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":7,"tools":[{"description":"Deterministic calculations from a complete ephemeris.forecast v1 artifact object, including CLI artifacts. No inference or forecast charge; this hosted tool still receives data over the network. Returns scope, result, basis, limitations and source pointers: last-observed baseline, median endpoint/change, marginal-median aggregates, and exact saved billing units. Missing medians/context remain unknown. Sum of medians only for period_total; it is not a cumulative-distribution interval or median. No calibrated coverage, causal explanation, path/peak probability, or business action is inferred. Example: pass {artifact: <forecast result artifact>}; choose series_index/variate_index for multiple results. Maximum 1 MiB; malformed/version/shape errors are recoverable by fixing the artifact or using CLI, never rerunning inference. Missing labels may be corrected in a COPY of context without changing request/response. No filesystem access, URL fetches, persistent storage, Gnomon import, or scoring.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"artifact":{"additionalProperties":{},"description":"Complete ephemeris.forecast schema_version 1 JSON object returned by forecast or saved by Ephemeris CLI. Pass the object, not a filename, URL, resource URI, request ID, or bearer token. Maximum 1 MiB UTF-8 JSON. Contains submitted history; send only data you are authorized to process on this hosted server.","propertyNames":{"type":"string"},"type":"object"},"series_index":{"description":"Zero-based series index; required when the artifact has multiple series, otherwise 0.","maximum":63,"minimum":0,"type":"integer"},"variate_index":{"description":"Zero-based variate index; required for multivariate results, otherwise 0.","maximum":255,"minimum":0,"type":"integer"}},"required":["artifact"],"type":"object"},"name":"describe_forecast"},{"description":"Submit numeric observations to forecast future sampling steps. Spends credits on successful calls. Choose and retain idempotency_key before submitting; no automatic retries, replay depends on server retention. Minimal example: {mode: route, series: [{values: [10,12,11], freq: D}], horizon: 2, quantiles: [0.1,0.5,0.9]}. Returns forecasts and meta as before, plus artifact by default for describe_forecast/plot_forecast. Save the embedded JSON attachment: it includes full input history and local context; no hosted storage is created. Context never becomes a model input. Billing is at meta.billing in millicredit strings (100 mc = 0.1 credits). Missing future inputs mean not supplied, not no events. Quantile bands do not establish coverage, cumulative intervals or peak probabilities. After uncertain completion, reuse the same key and API request; an expired key may cause a new charge.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"combine":{"description":"Ensemble only. \"mixture\" averages the predictive distributions (default); \"vincentize\" averages the quantiles.","enum":["mixture","vincentize"],"type":"string"},"context":{"additionalProperties":false,"description":"Local artifact metadata, never sent as model inputs. series aligns with input series; timestamps align with history and future_timestamps with horizon. Units/target/measurement/timezone must come from the user; unknowns stay null. Future-input labels are caller assertions; narrative assumptions do not change inference.","properties":{"scenario_assumptions":{"items":{"maxLength":2000,"type":"string"},"maxItems":100,"type":"array"},"series":{"items":{"additionalProperties":false,"properties":{"future_covariate_roles":{"additionalProperties":{"enum":["known_future","scenario_assumption","unspecified"],"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"future_timestamps":{"anyOf":[{"items":{"maxLength":100,"type":"string"},"type":"array"},{"type":"null"}]},"measurement":{"anyOf":[{"enum":["period_total","period_average","point_in_time"],"type":"string"},{"type":"null"}]},"recorded_as_of":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}]},"series_id":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}]},"source_available_at":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}]},"target_description":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}]},"timestamps":{"anyOf":[{"items":{"maxLength":100,"type":"string"},"type":"array"},{"type":"null"}]},"timezone":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}]},"unit":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}]}},"type":"object"},"maxItems":64,"type":"array"}},"required":["series"],"type":"object"},"context_len":{"description":"Most recent points per variate to feed the model (history length does not affect pricing), 1 to 16384. Defaults to 256. Values beyond the model's context cap are truncated at the cap.","maximum":16384,"minimum":1,"type":"integer"},"horizon":{"description":"Number of future steps to forecast, 1 to 4096. Defaults to 64. Some models stop short of this (max_horizon in list_models): route and ensemble skip them, explicit mode rejects the request.","maximum":4096,"minimum":1,"type":"integer"},"idempotency_key":{"description":"Client-chosen key, 8 to 128 characters of letters, numbers, dot, underscore, colon or hyphen. A retry with the same key and identical API body replays while retained by the server. Retain the key before submission; expired keys may cause a new charge.","pattern":"^[A-Za-z0-9._:-]{8,128}$","type":"string"},"include_artifact":{"description":"Default true: include a portable ephemeris.forecast v1 artifact and embedded JSON attachment (up to 1 MiB), with full input history. Save it client-side for describe_forecast/plot_forecast or the CLI. false returns the existing API response only. No persistent hosted storage is created.","type":"boolean"},"mode":{"description":"\"route\": automatically select a model. \"ensemble\": blend compatible models and may cost more. Neither guarantees accuracy or calibration. \"explicit\": run the single model named in `model`.","enum":["route","ensemble","explicit"],"type":"string"},"model":{"description":"Required when mode is \"explicit\". Must be a name returned by list_models.","minLength":1,"type":"string"},"quantiles":{"description":"Up to 21 quantile levels strictly between 0 and 1, for example [0.1, 0.5, 0.9]. The response keys forecasts by these as decimal strings.","items":{"exclusiveMaximum":1,"exclusiveMinimum":0,"type":"number"},"maxItems":21,"type":"array"},"series":{"description":"One to 64 series forecast in one request. All share horizon and quantiles.","items":{"properties":{"covariates":{"description":"Optional exogenous covariates. Only models with `covariates: true` in list_models can use them. In route and ensemble mode the panel narrows to those models; in explicit mode, naming a model without covariate support is an error.","properties":{"future":{"additionalProperties":{"items":{"type":"number"},"type":"array"},"description":"Future numeric channels (known future or explicit scenario assumptions), each exactly `horizon` long. Every future channel must also appear in `past`.","propertyNames":{"type":"string"},"type":"object"},"past":{"additionalProperties":{"items":{"type":"number"},"type":"array"},"description":"Named historical channels, each the same length as the series context.","propertyNames":{"type":"string"},"type":"object"}},"required":["past"],"type":"object"},"freq":{"description":"Pandas-style sampling frequency such as \"H\", \"D\", \"W\", \"15min\" or \"M\". Improves routing and seasonal handling; omit if unknown.","minLength":1,"type":"string"},"values":{"anyOf":[{"items":{"type":"number"},"minItems":1,"type":"array"},{"items":{"items":{"type":"number"},"minItems":1,"type":"array"},"minItems":1,"type":"array"}],"description":"Observed history, oldest first. A flat number array is one univariate series. A nested array is one multivariate series with one inner array per variate, all the same length."}},"required":["values"],"type":"object"},"maxItems":64,"minItems":1,"type":"array"},"top_k":{"description":"Ensemble only: cap on how many models participate.","maximum":16,"minimum":1,"type":"integer"}},"required":["mode","series"],"type":"object"},"name":"forecast"},{"description":"Return the account's spendable credit balance in millicredits, excluding credits reserved by in-progress forecasts. 1000 millicredits equal one credit.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{},"type":"object"},"name":"get_balance"},{"description":"Return the account's forecast request log, newest first, with the mode, models used, series count, horizon, credits estimated and settled, HTTP status and latency of each request.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"limit":{"description":"Rows per page, 1 to 200. Defaults to 50.","maximum":200,"minimum":1,"type":"integer"},"offset":{"description":"Rows to skip. Use `pagination.next_offset` from the previous page.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"type":"object"},"name":"get_usage"},{"description":"Read this deployed MCP server's version, nullable build commit and supported saved forecast schema versions. Call with {}. No API key, account access, inference, charges or writes; network access to this server only. Returns component, version, build_commit (full source SHA or null when unavailable), artifact_schema_versions, and runtime_tls (Node release and certificate-trust status; metadata only, no probe connections). Unknown commit stays null. Server, CLI, npm bridge and artifact schema versions are independent; this tool cannot inspect local installations, check the latest registry release or establish model quality. Use list_models for live model capabilities. After a connection failure reconnect and retry; no forecast could have been submitted by this tool.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{},"type":"object"},"name":"get_version"},{"description":"Discover the model panel: each model's availability right now (healthy), capabilities (multivariate, covariates, max_horizon, auto_max_horizon), its weight in an ensemble at each horizon, pinned and actually served weight revision, price in millicredits per series-slot per 64 forecast steps. History length has no billing multiplier. Call this before using forecast in explicit mode; the deployed panel can differ from any documentation.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{},"type":"object"},"name":"list_models"},{"description":"Render a complete ephemeris.forecast v1 artifact object as PNG (default inline preview) or SVG (embedded resource to save). No inference or forecast charge; hosted processing receives the artifact over the network. Example: {artifact: <saved artifact>, format: png}. Requires returned q0.5; never invents a median. Observed history, forecast boundary, median and nominal quantile bands are labeled. Default history view is most recent max(24, 2*horizon) points, capped by available history; history: all shows all. Dates only when supported by recorded metadata, otherwise sampling steps. Bands do not establish calibrated coverage; missing/crossed points are omitted and counted. Maximum 1 MiB input. Select series_index/variate_index for multiple results. Fix argument/shape errors without rerunning inference. User-supplied labels can be corrected in a COPY of artifact context offline; no new forecast needed. Client decides preview/download UI. URNs identify attached bytes, not hosted URLs; no filesystem access, URL fetching or persistent storage.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"artifact":{"additionalProperties":{},"description":"Complete ephemeris.forecast schema_version 1 JSON object returned by forecast or saved by Ephemeris CLI. Pass the object, not a filename, URL, resource URI, request ID, or bearer token. Maximum 1 MiB UTF-8 JSON. Contains submitted history; send only data you are authorized to process on this hosted server.","propertyNames":{"type":"string"},"type":"object"},"format":{"default":"png","description":"png returns an inline image preview; svg returns an embedded text resource to save as .svg. Neither creates a hosted download URL.","enum":["png","svg"],"type":"string"},"history":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"const":"all","type":"string"}],"description":"Observed points to show: default min(available, max(24, 2*horizon)). all shows full history. View changes never change the artifact or inference."},"lower":{"description":"Existing lower quantile. Supply together with upper. Default pairs complementary available levels.","exclusiveMaximum":1,"exclusiveMinimum":0,"type":"number"},"series_index":{"description":"Zero-based series index; required when the artifact has multiple series, otherwise 0.","maximum":63,"minimum":0,"type":"integer"},"upper":{"description":"Existing upper quantile, greater than lower. Supply together with lower.","exclusiveMaximum":1,"exclusiveMinimum":0,"type":"number"},"variate_index":{"description":"Zero-based variate index; required for multivariate results, otherwise 0.","maximum":255,"minimum":0,"type":"integer"}},"required":["artifact"],"type":"object"},"name":"plot_forecast"}]},"body_sha256":"7f8ec3a000052efa79789c92d8503921c51e4555afdff225efd0b813312f9529","prev_id":null,"leaf":"0x7de1470981c7699f3746543c3b9567e9f663337514db15fb522ef34c8347b185","leaf_text":"{\"body\":\"7f8ec3a000052efa79789c92d8503921c51e4555afdff225efd0b813312f9529\",\"id\":568691,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793139092381480,\"prev\":null,\"subject\":\"0a3ca1cd-7952-4707-aeea-7cc96a2c3aea\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0x7de11fc40c86280a321b177ba9a2ec9331aa21a36d90b3f7c18136108074b82d","0xf7e3d511256becf527c449338a83ef4386fd039e36b7f90ccadbb9c4ef8fa4ca","0x2ebe7d331bf542e33daab0a30900aa3029c1a758b6cffda4105c8b31fc55be03","0xdfd58769d91aafa9df292b0ec8f44f3329ed66db5743684bc36cb7eb20e17512","0x359d4bcc6818fcf6ec1783b50b7157f44635fb462a3382053644ec9f0af82fca","0x960b5e8312e9d6d2212bf2d477e47475ecaa7b2665712cfe165efb78c01c322a","0xce059b4ca474d78e3e190d4f486ad183aed0cfcccb6a22131e297ac17f455891","0x5ecee54b617dc5edafa1a5cd5d89a0324c76f2ed692f93f8e64a91d435b8ade0","0x5fd73e20e57d56b2781ee75d333683e44dcfaa75fc50df92ab7a314e458a06e1","0x96f9ec0ea07de0918ac539ab521e62267cf6cebc1b0320514f68343eefb02389","0x35f3fb28970853b4021570da310e6e5a973fb73b9919acf58f72111514d9c099","0x4b98c7145f5ead65ac9430579969acab10bc70758d3533f5a4fd4dbb462a2b61","0xbc7cf10ae301dcdbc5db5be8c29e1b3618ffaf1c196a74cb6a9e6c4fae0bbeed","0xfa0c8e8f1a1710ff197533b0a28208f2e168afe71abb7bb3416e09d1ac371d60","0x3c500ec3d3edf0c74b87a6ca8fcd77656bfbe03db3d478bd0c184d0c88839c6b","0xfecf3d4646dd4984a13dd715499e842c3fde63692336d97394c2bfd8e877ca5d","0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66","0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}