Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,562Letters: 14Defects: 1,336counted 1 min ago
teppi

Server definition

Hash
sha256:4534bca38a02b0c69761586f23dc26bf8fb4846e60f3ed1e72fa9c38059a61f2
What it is
What a remote MCP server returned when asked what it offers: 14 tools

The blob, as servednamed by its sha256

{ "instructions": "kirk-mcp — Kavara sealed inference engine, attested with engine_sha on every response.\n\nversion: 0.2.0\nserved_from: kavara-ai/kirk-mcp @ unknown\n\nKirk is an explicit energy-based inference primitive. Properties: no collapse by construction, online learning without pretraining, entropy differential as native surprise/anomaly signal, and composability across heterogeneous inputs.\n\nKIP API keys use Authorization: Bearer k_... on https://kirk-mcp.kavara.ai/mcp.\nLegacy personal connector URLs and CF Access service-token credentials remain supported.\n\nKIP ACCOUNT POLICY:\n- Data fit is free: managed KIP keys spend zero credits while exploring admitted inputs, with no credit-card requirement or fixed evaluation allowance.\n- Throughput limits apply: two concurrent computations per account, 60 runs/minute, at most 50 books per run and 256 KiB input. These are capacity controls, not a trial expiry.\n- Ongoing execution requires an explicitly accepted operator quote, X-Kavara-Workflow and a UUID-v4 Idempotency-Key. Never infer consent from buying credits or repeating a configuration.\n- Retry the same workflow, UUID and exact input to recover a completed result without another run. Uncertain executions require reconciliation; do not invent a new UUID to retry them.\n- The kavara_execution receipt records the applied configuration, quote, rate and credits. Historical IU fields represent ledger credits, not a universal count of inference runs.\n- The fixed IU rates below describe legacy access. Managed KIP free-fit and accepted workflow quotes override those rates; legacy checkout tools are unavailable to managed KIP keys.\n\nUSAGE POLICY:\n- ≤200 books: use kirk_score_book or kirk_score_book_batch interactively.\n- >200 books OR loops: call kirk_bulk_howto — returns a Python client that scores at zero LLM token cost. Never loop the metered scoring tools from an LLM; both are capped by design.\n- Balance/checkout tools (kirk_billing_*) are free (do not debit IU).\n- kirk_score_book: 1 IU per call.\n- kirk_score_book_batch: 1 IU per 50 books (minimum 1 IU per call, e.g. n≤50 → 1 IU, n=100 → 2 IU, n=500 → 10 IU). Validation tier — validation-scale limits.\n- kirk_score_l2_book: 1 IU per call. The books are scored IN ORDER as ONE fresh chain: the model starts from its locked initial state at the first book and carries state forward across the rest, so a book's value depends on the books before it. State is never carried between calls. The same books in a different order is a different measurement; scoring N books one-per-call is NOT equivalent to one call of N.\n\nTOOLS:\n- kirk_verify_engine verify sealed engine identity (free)\n- kirk_list_models list registered model_ids (free)\n- kirk_render_book inspect L2 tensor without scoring (free)\n- kirk_score_book one-book score, 60 req/min per account\n- kirk_score_book_batch up to 500 books per call\n- kirk_score_l2_book full L2 books (price, size, order count) scored as one ordered chain, 1 IU per call\n- kirk_bulk_howto returns stdlib Python client for bulk scoring\n- kirk_infer_legacy 50-value feature vector via /v1/infer\n- kirk_demo_trading zero-arg demo — Kirk on market microstructure (free, rate-limited)\n- kirk_demo_uav zero-arg demo — Kirk on acoustic spectra (free, rate-limited)\n- kirk_billing_* show / checkout / usage (free)\n\nENGINE ATTESTATION: every scoring response stamps a kirk_version sha. sha mismatch = engine identity broken; report immediately.\n\nFor first-time evaluation: run kirk_demo_trading and kirk_demo_uav. The same sealed engine sha stamps both — one primitive across market microstructure and acoustic sensing, no domain-specific retraining. Zero setup, no credentials.\n\nFor bulk workloads (>500 books, whole-day sweeps), call kirk_bulk_howto FIRST to get the stdlib Python client. Running metered scoring in a tool-call loop from your LLM burns tokens per call — the Python client runs locally at zero LLM cost per iteration.\n\nProduction integrations run in-process under sealed-engine attestation — same binary sha as this endpoint. Contact Kavara for deployment options.", "tools": [ { "description": "Create a Stripe Checkout Session URL for buying a credit pack (starter / scale / enterprise).\n\nPurpose: Hand the caller a self-serve URL to purchase IU credits.\n\nUse when: The caller's balance is low, or you want to route to\na self-serve top-up flow before a larger validation batch.\n\nDo not use when: The caller is on an enterprise in-process\ndeployment — those are invoiced directly, not via Checkout.\n\nCapability class(es): Meta (billing).\n\nPath fit: MCP only.\n\nCost: 0 IU. Callable at balance=0.", "inputSchema": { "additionalProperties": false, "properties": { "pack": { "default": "starter", "description": "one of 'starter' ($500 / 50K IU),\n 'scale' ($5K / 500K IU), or 'enterprise' ($50K / 5M IU).", "type": "string" } }, "type": "object" }, "name": "kirk_billing_checkout", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Return the caller's account_id, IU balance, USD equivalent at list, frozen flag, and recent ledger entries.\n\nPurpose: Surface the caller's current billing state — what they\ncan spend, whether the account is frozen, and how recent entries\nlanded.\n\nUse when: The caller wants to check available credit before\ncommitting to a large batch, or you are debugging a\n\"why-was-I-charged\" question.\n\nDo not use when: You just need per-call cost — the `_cost`\nenvelope on every agent-driven tool result carries that inline\nwithout a separate call.\n\nCapability class(es): Meta (account state), not a capability of\nthe scoring engine.\n\nPath fit: MCP only. Enterprise in-process deployments have\ntheir own billing surface (invoiced separately).\n\nCost: 0 IU. Callable at balance=0 so a customer with zero credit\ncan still self-serve to top up.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "kirk_billing_show", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Return the caller's inference consumption over the last N days from the append-only Gate 2 events table.\n\nPurpose: Historical usage summary + per-tool breakdown for the\ncaller's account.\n\nUse when: You need a usage report for the caller or an admin,\nor you are reconciling ledger debits against actual inference\nevents.\n\nDo not use when: You need real-time cost — the `_cost` envelope\non every agent-driven tool result covers that inline.\n\nCapability class(es): Meta (metering).\n\nPath fit: MCP only.\n\nCost: 0 IU.", "inputSchema": { "additionalProperties": false, "properties": { "days": { "default": 30, "description": "window size (default 30).", "type": "integer" } }, "type": "object" }, "name": "kirk_billing_usage", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Return a self-contained stdlib Python client for scoring at ZERO per-call LLM tokens.\n\nPurpose: Hand the caller an HTTP consumer that runs locally so\nbulk scoring doesn't burn LLM tokens per book.\n\nUse when: You need to score more than ~200 books, or\n`kirk_score_book_batch` returned `batch_too_large`, or the caller\nis running an autonomous bulk workload that would otherwise pay\nper-tool-call LLM tokens for every book.\n\nDo not use when: You are running a one-off interactive call — a\ndirect `kirk_score_book` invocation is simpler; don't route\nthrough the client for a single book.\n\nCapability class(es): Cost-steering / delivery-path tool. Hands\nthe caller a runner that exercises the same C2 / C5 / C6\ncapabilities as the MCP scoring tools, but at zero per-call LLM\ntoken cost.\n\nPath fit: The returned client is an HTTP consumer of the same\nMCP endpoint. Production integrations run in-process under\nsealed-engine attestation — same binary sha as this endpoint.\nContact Kavara for deployment options.\n\nCost: 0 IU. Free tool. Once running locally, the returned\nclient bills against the same tools it drives: single-book\ncalls at 1 IU each, and batch calls at 1 IU per 50 books\n(minimum 1 IU per call). A full 500-book batch → 10 IU. No\nLLM tokens on top.\n\nCost comparison (2.7M-book validation rerun via 500-book\nbatches — ~5400 batches, 54000 IU billed either way):\n MCP via Sonnet 5: $1,968 LLM + $540 IU + ~15 days wall clock\n MCP via Haiku 4.5: $656 LLM + $540 IU + ~10 days\n Python client (this tool): $0 LLM + $540 IU + ~55 min\n\nReturn structure:\n {\n \"language\": \"python\",\n \"filename\": \"kirk_online_client.py\",\n \"requirements\": str,\n \"usage\": str,\n \"code\": str (the client source, ~500 LOC),\n \"example\": str (2-line copy-paste demo)\n }", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "kirk_bulk_howto", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Runs a curated demonstration of Kirk on a trading example. Zero arguments. Returns real Kirk output against the same sealed engine that customer callers hit. Free, rate-limited. First-time users: call this to see what Kirk does before signing up.\n\nPurpose: Score n=30 jittered L2 snapshots per market regime\n(stationary vs stressed) through the sealed engine and surface\nthe per-regime score-distribution statistics (mean, sd) plus the\nz-separation between the two distributions in pooled-sd units.\nAlso carries a representative canonical book pair so callers\nsee two concrete scores alongside the distributions.\n\nUse when: You are a first-time caller exploring what Kirk does.\nYou want a zero-friction \"what does the output look like\"\nexperience against real sealed-engine attestation.\n\nDo not use when: You are scoring your own data — use\n``kirk_score_book`` or ``kirk_score_book_batch``. This tool's\ninput is a fixed synthetic representative pair, not a market\nfeed.\n\nCapability class(es): C2 (variable-universe cross-section entropy\nscoring) demonstrated end-to-end against the sealed engine.\n\nPath fit: MCP demonstration surface only.\n\nCost: 0 IU. Rate-limited 3/hour per IP.\n\nReturns:\n Dict with per-regime ``stationary`` and ``stressed`` blocks\n (each: ``mean``, ``sd``, ``n``, ``kirk_version``),\n ``z_separation`` (pooled-sd distance between the two\n regime distributions), ``representative_pair`` (canonical\n un-jittered ``stationary_score`` / ``stressed_score`` plus\n ``book_summaries``), ``interpretation_hint``, ``provenance``,\n and ``synthetic_representative`` flag.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "kirk_demo_trading", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Runs a curated demonstration of Kirk on a UAV example. Zero arguments. Returns real Kirk output against the same sealed engine that customer callers hit. Free, rate-limited. First-time users: call this to see what Kirk does before signing up.\n\nPurpose: Score n=30 jittered 50-element spectra per acoustic\nclass (drone / bird / helicopter) through the sealed engine\nand surface per-class score-distribution statistics plus\nz-separations for the three class pairs. Demonstrates that the\nsame sealed engine sha handles market microstructure and\nacoustic spectra with the same primitive.\n\nUse when: You want to see Kirk's cross-domain generalization\nwithout needing your own audio dataset.\n\nDo not use when: You have real feature vectors to score — use\n``kirk_infer_legacy`` directly (arg: list of 50 floats). This\ntool's inputs are fixed synthetic spectra baked into the demo.\n\nCapability class(es): Demonstrates domain-agnostic mathematical\nprimitive — the same engine sha handles kirk_score_book (L2)\nand kirk_infer_legacy (arbitrary 50-vector).\n\nPath fit: MCP demonstration surface only.\n\nCost: 0 IU. Rate-limited 3/hour per IP.\n\nReturns:\n Dict with per-class ``drone`` / ``bird`` / ``helicopter``\n blocks (each: ``mean``, ``sd``, ``n``, ``kirk_version``),\n ``z_separation`` (dict of drone_vs_bird / drone_vs_helicopter\n / bird_vs_helicopter in pooled-sd units),\n ``representative_scores`` (the three single-sample scores\n from the canonical un-jittered spectra),\n ``interpretation_hint``, ``provenance``, and\n ``synthetic_spectral`` flag.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "kirk_demo_uav", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Score a 50-value feature vector against the legacy /v1/infer route on the sealed engine.\n\nPurpose: Backwards-compatible scoring surface for callers that were\nalready targeting the legacy path.\n\nUse when: You have an existing client wired to /v1/infer and need\ncontinued MCP access without refactoring.\n\nDo not use when: You are on a fresh integration — prefer kirk_score_book\n(single-layer, cascade-shaped path). Also do not use in a tight loop\nagainst a large corpus: the MCP round-trip is millisecond-scale, and\nthe LLM tool-call cost accrues per book for agent-driven callers.\nFor bulk work, call kirk_bulk_howto first.\n\nCapability class(es): C2 (cross-section entropy scoring), legacy\ninterface.\n\nPath fit: Validation via MCP (this tool). Production integrations\nrun in-process under sealed-engine attestation — same binary sha as\nthis endpoint. Contact Kavara for deployment options.\n\nCost: 1 IU per call. For agent-driven callers, per-call LLM tokens\naccrue on top; the response _cost envelope surfaces both.", "inputSchema": { "additionalProperties": false, "properties": { "values": { "description": "50 floats. kirk-server renders these internally into the\n50-element sample the sealed engine consumes.", "items": { "type": "number" }, "type": "array" } }, "required": [ "values" ], "type": "object" }, "name": "kirk_infer_legacy", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Enumerate the model_ids the sealed engine exposes, with the engine sha stamped in-response.\n\nPurpose: Discover the model catalog and record the sealed engine sha\nalongside your inference results.\n\nUse when: You are wiring a client for the first time and need model_id\nvalues for kirk_score_book / kirk_score_book_batch calls, or you want a\nmachine-readable catalog with attestation.\n\nDo not use when: You need per-model hyperparameter detail — those are\nintentionally not exposed on the customer surface.\n\nCapability class(es): C5 (engine sha attested on every response).\n\nPath fit: Validation via MCP (this tool). Production integrations\nrun in-process under sealed-engine attestation — same binary sha as\nthis endpoint. Contact Kavara for deployment options.\n\nCost: 0 IU. Free tool.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "kirk_list_models", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Render an L2 order-book snapshot into the 20×20 complex128 thermometer tensor WITHOUT invoking the sealed engine.\n\nPurpose: Local tensor prep and inspection — see what shape the\nsealed engine will receive without paying for a scoring call.\n\nUse when: You want to sanity-check bid/ask level convention against\nthe model's canonical input convention, inspect the non-zero cell\npattern for a snapshot, or debug an unexpected entropy value by\nfirst confirming the tensor is well-formed.\n\nDo not use when: You need an entropy score — this tool is prep-only.\nCall kirk_score_book to score.\n\nCapability class(es): Local prep for the C2 (variable-universe\ncross-section entropy) workflow. No sealed-engine interaction; no\ncapability class is exercised beyond the input-shape convention.\n\nPath fit: Validation via MCP (this tool). The same tensor shape is\nwhat production in-process integrations consume under sealed-engine\nattestation.\n\nCost: 0 IU. Free tool.", "inputSchema": { "additionalProperties": false, "properties": { "ask_px": { "description": "10 ask prices, level 1 first.", "items": { "type": "number" }, "type": "array" }, "bid_px": { "description": "10 bid prices, level 1 first.", "items": { "type": "number" }, "type": "array" } }, "required": [ "bid_px", "ask_px" ], "type": "object" }, "name": "kirk_render_book", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Score one L2 order-book snapshot through the sealed single-layer path and return a scalar entropy plus engine attestation.\n\nPurpose: Score one snapshot end-to-end through the sealed engine and\nsurface the result plus the engine sha that produced it.\n\nUse when: You are validating Kirk on your own data before committing\nto a production path, or you are scoring a single snapshot inside an\ninteractive workflow (rate-limited at 60 req/min per account).\n\nDo not use when: You need throughput above interactive scale, or you\nare in a per-book loop from an LLM. MCP round-trip is millisecond-scale\nand inappropriate for latency-critical work. For >200 books, call\nkirk_bulk_howto first — the returned stdlib Python client scores at\nzero LLM tokens per iteration.\n\nCapability class(es):\n- C2 (variable-universe cross-section entropy scoring — same model\n handles any N without retraining).\n- C5 (sealed engine sha stamped on every response).\n- C6 (bit-exact reproducibility across substrates; validated by the\n FY24 252-day reproduction, byte-identical on repeat runs).\n\nPath fit: Validation via MCP (this tool). Production integrations\nrun in-process under sealed-engine attestation — same binary sha as\nthis endpoint. Contact Kavara for deployment options. MCP is a\nvalidation and discovery surface, not a latency-critical production\npath.\n\nCost: 1 IU per call. LLM tokens accrue on top for agent-driven callers.", "inputSchema": { "additionalProperties": false, "properties": { "ask_px": { "description": "10 ask prices, level 1 first. Same NaN convention.", "items": { "type": "number" }, "type": "array" }, "bid_px": { "description": "10 bid prices, level 1 first. NaN allowed for missing levels.", "items": { "type": "number" }, "type": "array" }, "model_id": { "default": "kirk-test1-binary-threshold-v1", "description": "Registered single-layer model. Defaults to\n`kirk-test1-binary-threshold-v1`.", "type": "string" } }, "required": [ "bid_px", "ask_px" ], "type": "object" }, "name": "kirk_score_book", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Score up to 500 L2 order-book snapshots in one MCP call — returns an entropies list plus engine attestation.\n\nPurpose: Batch-score up to 500 snapshots through the sealed engine in\na single MCP dispatch.\n\nUse when: You are validating batch behaviour, comparing entropy\ndistributions across small book sets, or running interactive\nexperiments up to 500 books at a time.\n\nDo not use when: You have more than 500 books, or you are looping\nthis tool from an LLM. Batches >500 raise a structured\n`batch_too_large` before any ledger debit. For sustained bulk work,\ncall kirk_bulk_howto — the stdlib Python client scores at zero LLM\ntokens per iteration.\n\nCapability class(es):\n- C2 (variable-universe cross-section entropy — heterogeneous batch\n shapes are handled by one model without retraining).\n- C5 (sealed engine sha stamped on every response).\n- C6 (bit-exact reproducibility across substrates and runs).\n\nPath fit: Validation via MCP (this tool). Production bulk workloads\nrun in-process under sealed-engine attestation — same binary sha as\nthis endpoint. Contact Kavara for deployment options. The MCP\nround-trip is inappropriate for high-throughput consumption.\n\nCost: 1 IU per 50 books (minimum 1 IU per call). n≤50 → 1 IU;\nn=51..100 → 2 IU; a full 500-book batch → 10 IU. Validation tier —\nvalidation-scale limits. LLM-agent-scoped cap at 500 books; use\nkirk_bulk_howto for anything larger.", "inputSchema": { "additionalProperties": false, "properties": { "books": { "description": "list of book dicts (bid_px, ask_px, sizes...). Max 500\nper call — larger batches raise a structured `batch_too_large`\nerror pointing at kirk_bulk_howto.", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "model_id": { "default": "kirk-test1-binary-threshold-v1", "description": "registered model_id (see kirk_list_models).", "type": "string" } }, "required": [ "books" ], "type": "object" }, "name": "kirk_score_book_batch", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Score a sequence of full L2 order books as one chain and return per-book entropies plus engine attestation.\n\nPurpose: Score complete books — prices, sizes and order counts — rather than\nprices alone. This is the v2 book contract; it carries information the\nprice-only contract cannot.\n\nSTATE POLICY, and it matters: the books are scored IN ORDER as a single\nfresh chain. The model starts from its locked initial state at the first\nbook and carries state forward across the rest, so a book's value depends\non the books before it. State is never carried between calls. Sending the\nsame books in a different order is a different measurement and will return\ndifferent values; scoring N books one-per-call is NOT equivalent to one\ncall of N books.\n\nUse when: You are validating Kirk on full L2 snapshots. For the price-only\nv1 contract use kirk_score_book — the two are different envelopes and are\nnot interchangeable.\n\nDo not use when: You are looping this tool from an LLM. Call kirk_bulk_howto\nfor bulk work; its v2 mode wraps this same call.\n\nCost: 1 IU per call.", "inputSchema": { "additionalProperties": false, "properties": { "books": { "description": "1..500 books, scored in the order given. Each book is an object\nwith exactly eight fields: bid_px and ask_px (10 values each,\nlevel 1 = best quote, running outward), bid_quantity, ask_quantity,\nbid_num_orders, ask_num_orders (8 values each, same ordering), and\nbid_level_count, ask_level_count (scalars). Every value must be a\nfinite JSON number; this contract does not impute or tolerate gaps.", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "model_id": { "default": "kirk-l2-thermo-v2-e32-v1", "description": "A v2-contract model id. Defaults to kirk-l2-thermo-v2-e32-v1.", "type": "string" } }, "required": [ "books" ], "type": "object" }, "name": "kirk_score_l2_book", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Synthesize N realistic-geometry L2 book snapshots and score them — convenience wrapper on kirk_score_book_batch.\n\nPurpose: Produce a live entropy series with no external data — the\nfastest way to confirm a new integration is wired end-to-end.\n\nUse when: You want a wiring-check, a first-integration walk-through,\nor a quick reference for the response shape without needing to\nsupply your own market data.\n\nDo not use when: You are scoring anything real — feed your own data\nthrough kirk_score_book_batch. Synthetic bids/asks are not benchmark\ninput and should not appear in customer-visible results.\n\nCapability class(es): C2 (uses the same variable-universe cross-\nsection entropy path as kirk_score_book_batch, on synthetic input).\n\nPath fit: Validation via MCP (this tool). Not a production surface.\n\nCost: 1 IU per invocation. Internally routes through\nkirk_score_book_batch — one metered dispatch, no double-metering.", "inputSchema": { "additionalProperties": false, "properties": { "model_id": { "default": "kirk-test1-binary-threshold-v1", "description": "Registered single-layer model.", "type": "string" }, "n_samples": { "default": 5, "description": "How many books to synthesize + score.", "type": "integer" }, "seed": { "default": 42, "description": "RNG seed for reproducibility.", "type": "integer" } }, "type": "object" }, "name": "kirk_score_random", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Verify sealed engine identity — returns the sha256 of the running scoring binary. Also serves as a liveness probe against the sealed backend.\n\nPurpose: Attest which Kirk build is currently serving scoring calls.\nResponse carries the HOST DEFAULT engine sha (kirk_version). That is the\nlegacy default and is NOT necessarily the engine that will stamp a given\nkirk_score_* result: each model row in kirk_list_models identifies its own\nengine, and every scoring response restates it under engine.sha. For a\nmodel bound to a non-default engine (kirk-market-orderbook-v1) these\ndiffer. Record the per-model value for provenance, not this one.\nSecondary role: a cheap liveness probe when wiring up MCP.\n\nUse when: You want to record engine sha in your own provenance log\nbefore capturing scoring output, or you want a cheap liveness check\nahead of a larger validation batch.\n\nDo not use when: You want a scoring result — this returns\nidentity/liveness only, no entropies.\n\nCapability class(es): C5 (cryptographic attestation of engine identity).\n\nPath fit: Validation via MCP (this tool). Production integrations\nrun in-process under sealed-engine attestation — same binary sha as\nthis endpoint. Contact Kavara for deployment options.\n\nCost: 0 IU. Free tool. For agent-driven callers, the _cost envelope\nstill reports iu_this_call=0 and the running session totals.\n\nReturns:\n Dict with `status`, `engine`, `env`, and `kirk_version` (the\n sealed .so sha). A non-2xx response raises; caller sees a\n clean MCP tool error.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "kirk_verify_engine", "outputSchema": { "additionalProperties": true, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:4534bca38a02b0c69761586f23dc26bf8fb4846e60f3ed1e72fa9c38059a61f2 | sha256sum