AgentXM

Odile Gate

mcp remote · streamable-http · v1.7.0 · source: crawl

https://gate.odilelabs.com/mcp

Free, no signup: per-app keys, allowed calls, approvals and an audit log for your API or model key.

AgentXM badge

Works

100

Verified Oct 31, 2026 · p50 422 ms · p95 477 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'com.odilelabs/gate'
tools_listed15pass23 tools
schema_complete15pass22 of 23 tools have a description and a typed schema
latency_p5010passp50 422 ms
latency_p955passp95 477 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10passno patterns found
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (23)

NameDescriptionSchema
gate_openshell_setupRead-only local setup plan for native OpenShell + Gate: one command, exact installer hash, recipe schema, prerequisites, authority boundaries and cleanup. Default creates an isolated Free read-only detyped
gate_create_projectCreate a Free project in front of an existing HTTPS API. No signup or payment required. For a credential-free demo use https://sandbox.gate.odilelabs.com with GET /customers/:cid/tickets/:id (customertyped
gate_add_appGive one app its own key and the calls it may make. Routes are rules like "GET /orders/:id", "POST /orders", "GET /users/{user}/orders" (per-user), or example calls like "GET /orders/42", which becometyped
gate_set_modelsFor a project in front of a model API: limit which models one app may ask for (the request body's "model", or a /models/<name> path). Other models are refused with 403 model_not_allowed before the protyped
gate_list_appsThe project's apps with their allowed calls, limits, state, idle_since (no allowed call in the project's idle_days) and anomaly-guard settings.typed
gate_check_setupRead actual Gate protection settings before giving an integration production access. Reports observe-only mode, writes without mandatory runs, missing user-token configuration, wildcard grants and apptyped
gate_metricsRead last-24-hour stored call counts by HTTP status and reason, measured duration through response headers (including upstream wait), per-app anomaly scores and 24-hour anomaly counts, idle apps (actityped
gate_auditThe most recent calls through the gateway (time, app, matched route, status, reason, duration), newest first, with totals by status and refusal reason. Gate never stores bodies, query values or headertyped
gate_audit_proofRead chained audit rows, decided-action feature snapshots and anchors with an HMAC-SHA256 signature. No sealed paths/bodies, notes, keys or IPs in the action labels. Legacy actions lack snapshots and typed
gate_create_runGate Actions: give one agent session narrow, expiring permission. Actions are rules with {placeholders} bound by scope (e.g. "PATCH /customers/{customer}/tickets/:id" with scope {"customer":"A"}), eactyped
gate_set_app_runsMake an app need a run: "writes" (every write needs x-odile-run), "all" (every call), or "off".typed
gate_set_responseOpt-in JSON response redaction: return only explicit JSON Pointer paths, e.g. /id and /items/*/name. * matches one segment; selecting a container allows its whole subtree. Applies to every upstream reincomplete
gate_add_approverCreate an approver key for the person who approves held actions (shown once), before granting approval actions. Give it to that person, never to an agent. Only an active approver key can approve, rejetyped
gate_list_actionsActions waiting for approval (or in another state), with the exact call. With an installed approval-risk model, pending actions sort by risk descending and include risk (0–1) and risk_features (top twtyped
gate_explain_refusalWhat a Gate refusal means and how to fix it, from the x-gate-refused header value (e.g. route_not_allowed).typed
gate_delegate_runHand a narrower run to another active app in the same project. Uses the parent app key and run token, never the admin key. Scope, expiry, approvals and ancestor budgets stay enforced; maximum depth fityped
gate_learn_suggestionsRead normalized routes and a suggested per-minute limit from an admin-enabled, time-boxed learning session. Records only method, normalized path templates and counts per minute; no query values, raw ityped
gate_audit_verifyRecompute a pasted export chain and project signature; returns intact or broken_at (one-based row position). Does not approve actions or change permissions.typed
gate_run_treeRead a run and its delegated descendants without tokens.typed
gate_run_timelineRead call metadata, approvals and approver names, recovery outcomes and delegated children; no bodies or query values.typed
gate_create_appGive one app its own key and the calls it may make. Routes are rules like "GET /orders/:id", "POST /orders", "GET /users/{user}/orders" (per-user), or example calls like "GET /orders/42", which becometyped
gate_validate_configParse and check a declarative Gate config (apps, routes, rate limits, run mode, plugins including anomaly-guard, alerts, approvers) without changing anything. anomaly-guard settings: mode off|alert|sttyped
gate_sync_declarativeMake a Gate project match an odile.yaml: creates the project (if no project_id) and missing apps and approvers, applies run mode, loop, learning and anomaly-guard settings and alerts. Example plugin: typed

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/com-odilelabs-gate.svg)](https://app.agent-xm.com/a/com-odilelabs-gate)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.