Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Odile Gate

REMOTE · GATE.ODILELABS.COM

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

−3 this week 68 Trust /100

Last scanned (1 hour ago)

Scores higher than 53% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Security

Recent critical change

Authorization (31 Oct 2026). See the changelog before you install this server.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security60
Transport & Reachability100
Schema Quality & AI Usability66
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 5066 tokens (~174/item across 29 items; 29 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management44
  • Stability check failed: schema churn in the 15 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 13 additions. See how to fix → Fail
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 93% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 37 to 41.

  • 2 Nov 26 +2
    • DNSSEC: fail → pass ▲ security
  • 1 Nov 26 0
    • Stability: 0.33 → fail ▼ security
    • A breaking change shipped without a version bump: still 1.8.0 ▼ security
    • Tool “gate_add_app” was removed ▼ security
    • The server rewrote its instructions, which are the text every model session reads security
    • New tool “gate_update_app”, which the server declares destructive security
    • Tool “gate_audit” rewrote its description, which is the text the model reads security
    • Tool “gate_audit_proof” rewrote its description, which is the text the model reads security
    • Tool “gate_audit_verify” rewrote its description, which is the text the model reads security
    • Tool “gate_create_app” rewrote its description, which is the text the model reads security
    • Tool “gate_metrics” rewrote its description, which is the text the model reads security
    • Tool “gate_revoke_app” rewrote its description, which is the text the model reads security
    • Tool “gate_run_timeline” rewrote its description, which is the text the model reads security
    • Tool “gate_run_tree” rewrote its description, which is the text the model reads security
    • Schema quality: good → excellent functional
    • Tool “gate_create_app” changed its title: Create an app (older name of gate_add_app) → Register an app cosmetic
  • 31 Oct 26 −6
    • Authorization: partial → fail ▼ critical
    • The server rewrote its instructions, which are the text every model session reads security
    • New tool “gate_revoke_app”, which the server declares destructive security
    • New tool “gate_revoke_member”, which the server declares destructive security
    • New tool “gate_revoke_run”, which the server declares destructive security
    • New tool “gate_rotate_app_key”, which the server declares destructive security
    • Tool “gate_audit” rewrote its description, which is the text the model reads security
    • Tool “gate_audit_proof” rewrote its description, which is the text the model reads security
    • Tool “gate_check_setup” rewrote its description, which is the text the model reads security
    • Tool “gate_create_app” rewrote its description, which is the text the model reads security
    • Tool “gate_list_apps” rewrote its description, which is the text the model reads security
    • Tool “gate_metrics” rewrote its description, which is the text the model reads security
    • Tool “gate_openshell_setup” rewrote its description, which is the text the model reads security
    • Tool “gate_run_timeline” rewrote its description, which is the text the model reads security
    • Tool “gate_run_tree” rewrote its description, which is the text the model reads security
    • Tool “gate_validate_config” rewrote its description, which is the text the model reads security
    • Schema quality: 4086 → 4989 ▼ functional
    • Destructive annotations: pass → 100 functional
    • Server version: 1.6.0 → 1.8.0 functional
    • New tool “gate_invite_member” functional
    • New tool “gate_list_members” functional
    • Tool “gate_create_app” changed its title: Create an app → Create an app (older name of gate_add_app) cosmetic
  • 30 Oct 26 0
    • Tool “gate_list_apps” rewrote its description, which is the text the model reads security
    • Tool “gate_metrics” rewrote its description, which is the text the model reads security
    • “gate_add_app” added an optional parameter “expires_at” cosmetic
    • “gate_add_app” added an optional parameter “max_calls” cosmetic
    • “gate_create_app” added an optional parameter “expires_at” cosmetic
    • “gate_create_app” added an optional parameter “max_calls” cosmetic
  • 29 Oct 26 0
    • Schema quality: 3374 → 3942 ▼ functional
    • New tool “gate_create_app” functional
    • New tool “gate_set_models” functional
    • “gate_add_app” added an optional parameter “models” cosmetic
    • “gate_add_app” added an optional parameter “template” cosmetic
    • “gate_add_app” made “routes” optional cosmetic
  • 28 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Oct 26 0
    • Tool “gate_add_approver” rewrote its description, which is the text the model reads security
    • Tool “gate_create_run” rewrote its description, which is the text the model reads security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://gate.odilelabs.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=odilelabs.com CN=WE1,O=Google Trust Services,C=US 19 Oct 2026 17 Jan 2027 ECDSA 256 ECDSA-SHA256 42dda9c0f3e7060113f43b02876534c1
SANs: odilelabs.com, gate.odilelabs.com, *.gate.odilelabs.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of gate.odilelabs.com. — Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
odilelabs.com. present 2371 13 Verified
gate.odilelabs.com. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://gate.odilelabs.com/mcp Verified 200
http (plaintext) http://gate.odilelabs.com/mcp HTTPS enforced 301 https://gate.odilelabs.com/mcp
MCP tools · 29 exposed · ~4,752 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
gate_add_approver ~126

Create 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, reject or reopen actions.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
namestringyesWho approves, e.g. "Dana (support lead)"
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...

No output schema declared.

No examples provided.

gate_audit ~214

Returns recent gateway calls (time, app, matched route, status, reason, duration); use it to investigate individual calls across the project rather than gate_metrics aggregates or a single gate_run_timeline. Newest first, with totals by status and refusal reason for the returned calls. This view never returns bodies, query values or headers. For 24-hour totals and anomaly scores use gate_metrics; for a signed export an auditor can check, gate_audit_proof; for one run's history, gate_run_timeline.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
appstring–Optional: only this app id (app_...)
limitinteger–How many calls (default 20)
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...
statusstring–Optional: only this HTTP status, e.g. "403"

No output schema declared.

No examples provided.

gate_audit_proof ~210

Returns chained audit rows, decided-action feature snapshots and signed anchors; use it for a portable tamper-evident export instead of gate_audit's recent-call view, then check it with gate_audit_verify. No sealed paths/bodies, notes, keys or IPs in the action labels. Legacy actions lack snapshots and are excluded. store_audit=false has no chain. Follow next_from for audit rows and next_actions_after as actions_after for labels (10,000 each). Use API/SDK to verify exports above the MCP request size limit. The signature is HMAC-SHA256.

NameTypeReqDescription
actions_afterstring–Action cursor from next_actions_after
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
frominteger––
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...
tointeger––

No output schema declared.

No examples provided.

gate_audit_verify ~132

Returns intact or broken_at for a supplied signed export; use it to check a gate_audit_proof export rather than retrieve audit rows. Recomputes the chain and project signature; broken_at is a one-based row position. Does not approve actions or change permissions.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...
proofobjectyesThe full signed export from gate_audit_proof

No output schema declared.

No examples provided.

gate_check_setup ~172

Read 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 approval separation, with evidence, exact remedies and explicit limits. Sends no upstream requests, changes no settings and uses no gateway quota. Configuration-only: not a security certificate or runtime enforcement test. Use it on a live project; to check an odile.yaml before applying it use gate_validate_config.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
appstring–Optional: check one active app id (app_...) instead of all active apps
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...

No output schema declared.

No examples provided.

gate_create_app ~370

Give 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 become rules allowing any id. Returns key (shown once), app.id and normalized rules. Send key as Authorization: Bearer <key> to the project gateway; never send the admin key to the workload.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
expires_atstring–Pro: optional future ISO time with timezone, at most 30 days from creation. Rotation preserves this expiry.
max_callsinteger–Pro: optional lifetime call allowance for this app. Rotation preserves its count.
modelsarray–For a model API: the only models this app may ask for, exact names or a prefix ending in * (e.g. ["gpt-4.1-mini", "claude-haiku-*"]). Omit for no model limit.
namestringyesThe app name, e.g. "storefront" or "nightly sync"
per_minuteinteger–Calls per minute for this app (default 60)
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...
routesarray–Only the calls this app makes, one "METHOD /path" per item
templatestring–Ready-made API policy: reads allowed, risky writes held, destructive calls refused. Explicit routes replace the entire template policy. Free and Pro; configure the project upstream first. See /templa…

No output schema declared.

No examples provided.

gate_create_project ~199

Create 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 (customer A holds tickets 1-3, B holds 4-5: try GET /customers/A/tickets/1). Returns project_id, admin_key (shown once) and the gateway base URL apps call instead of the API. A real API and its credentials need owner authorization.

NameTypeReqDescription
header_namestring–Optional: the secret header your API expects, e.g. Authorization or apikey
header_valuestring–Optional: its value. Stored encrypted; apps never see it.
namestringyesA name for the project, e.g. "Shop API"
upstreamstringyesThe API base URL, https only, e.g. https://api.example.com/v1

No output schema declared.

No examples provided.

gate_create_run ~328

Gate 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"}), each with an optional max and approval. Add a human approver with gate_add_approver before granting approval:true actions; without an active approver the grant is refused. Returns a run token (shown once) the agent sends as x-odile-run with its app key. Writes in a run need an Idempotency-Key. Give a write a check ("GET /bookings?idempotency_key={key}") and the agent can settle a lost answer with POST /g/<id>/_gate/recover.

NameTypeReqDescription
actionsarrayyesRules, or {rule, max, approval, check}
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
appstringyesThe app id (app_...) this run is for
labelstring–Optional: what the run is for, e.g. "triage ticket 4411"
max_callsinteger–Optional: calls allowed in the whole run
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...
scopeobject–Values for the {placeholders}, e.g. {"customer":"A"}
ttl_secondsinteger–How long the run lasts (default 3600)

No output schema declared.

No examples provided.

gate_delegate_run ~155

Hand 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 five.

NameTypeReqDescription
actionsarrayyes–
appstringyesThe destination app id
app_keystringyesThe parent app key (gk_...)
labelstring–A short label for the delegated job
max_callsinteger––
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...
run_tokenstringyesThe parent run token (gr_...)
ttl_secondsinteger––

No output schema declared.

No examples provided.

gate_explain_refusal ~70

What a Gate refusal means and how to fix it, from the x-gate-refused header value (e.g. route_not_allowed).

NameTypeReqDescription
reasonstringyesThe x-gate-refused value
recoverableboolean–Whether the write was granted with a recovery check

No output schema declared.

No examples provided.

gate_invite_member ~139

Use the project owner admin key (ga_...) to invite a named viewer, approver or admin. Returns a single-use invite link shown once, expiring after 72 hours; send it to that person. They accept it to receive their member key, also shown once. Gate sends no email.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
namestringyesThe person's name
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...
rolestringyes–

No output schema declared.

No examples provided.

gate_learn_suggestions ~122

Read 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 ids, headers or bodies. Never enables learning or applies rules.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
appstringyesThe app id
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...

No output schema declared.

No examples provided.

gate_list_actions ~132

Actions 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 two advisory signals). No model means no score and newest first. Only a person decides in the dashboard.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...
statestring–Default: pending

No output schema declared.

No examples provided.

gate_list_apps ~114

The project's apps with their allowed calls, limits, state, idle_since (no allowed call in the project's idle_days) and anomaly-guard settings. Use it to find an app id for the app tools, or a retired app to revoke with gate_revoke_app.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...

No output schema declared.

No examples provided.

gate_list_members ~103

Use the project owner admin key (ga_...) to review invited, active and revoked members and find a member id to revoke. Invite links and member keys are shown once when issued and never returned by this list.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...

No output schema declared.

No examples provided.

gate_metrics ~258

Returns project-wide 24-hour call aggregates, anomaly scores, idle apps and current-month usage; use it for operational trends rather than individual calls in gate_audit or one run in gate_run_timeline. Includes 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 (active apps whose key made no allowed call in the project's idle_days, default 14; a flag only, never a revoke), and separate current-month gateway usage: plan, used, allowed, plus upgrade URL and checkout path on Free at 80% or above. Only POST the checkout path when the admin asks to upgrade; reading metrics never starts checkout. Requires the project owner key or an active member key. Audit may be partial: invalid-key sampling and audit-off periods are disclosed. No upstream requests, quota use or policy changes; not a health certificate or performance guarantee. For individual calls use gate_audit.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...

No output schema declared.

No examples provided.

gate_openshell_setup ~103

Read-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 demo with no model or payment. A trusted local controller may configure an owner-authorized API with explicit routes/scope and private credential files. This tool does not run commands, create resources or accept credentials. Only for OpenShell users; any other agent starts with gate_create_project.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

gate_revoke_app ~143

Revoke one app: its key stops working at once (401) and the app no longer counts toward the plan's app limit. It cannot be undone; to give that agent access again, register a new app with gate_create_app. To replace a leaked key but keep the app, use gate_rotate_app_key.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
appstringyesThe app id (app_...) from gate_list_apps
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...

No output schema declared.

No examples provided.

gate_revoke_member ~127

Use the project owner admin key (ga_...) to remove a teammate's access immediately, invalidating their member key or pending invite. Safe to repeat. Invite links and keys are shown once; to restore access, create a new invite.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
memberstringyesThe member id (mem_...) from gate_list_members
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...

No output schema declared.

No examples provided.

gate_revoke_run ~133

End one run granted with gate_create_run: its token stops working at once (403 run_revoked) while the app itself keeps working. Use it to stop an agent mid-job; grant a new run with gate_create_run if the work should continue.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...
run_idstringyesThe run id: run.run_id in gate_create_run's result

No output schema declared.

No examples provided.

gate_rotate_app_key ~135

Replace one app's key and keep its rules, limits, expiry and call count. The old key stops working at once (no overlap) and the new key is shown once. Use it when a key may have leaked; to remove the app entirely use gate_revoke_app.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
appstringyesThe app id (app_...) from gate_list_apps
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...

No output schema declared.

No examples provided.

gate_run_timeline ~152

Returns one run's call metadata, approvals and approver names, recovery outcomes and delegated children; use it to reconstruct that session instead of gate_audit's project-wide calls or gate_run_tree's permission state. No bodies or query values. One run only; the project-wide log is gate_audit.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
beforeinteger–Older audit events (timeline pages have at most 500 events)
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...
run_idstringyesThe run id

No output schema declared.

No examples provided.

gate_run_tree ~110

Returns one run and its delegated descendants without tokens; use it to inspect delegation and permission state instead of gate_run_timeline events. One run only; the project-wide log is gate_audit.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...
run_idstringyesThe run id

No output schema declared.

No examples provided.

gate_set_app_runs ~112

Make an app need a run: "writes" (every write needs x-odile-run), "all" (every call), or "off".

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
appstringyesThe app id (app_...)
modestringyes–
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...

No output schema declared.

No examples provided.

gate_set_models ~150

For 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 provider sees them. models: null removes the limit.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
appstringyesThe app id (app_...)
modelsarray|nullyesExact names or prefixes ending in *; null for no limit
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...

No output schema declared.

No examples provided.

gate_set_response ~172

Opt-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 response for this app, including errors. Maximum 1 MiB and 5 seconds to read; invalid/non-JSON responses are withheld. No bodies are stored. A withheld reply never reverses an upstream write. null disables filtering. Free and Pro.

NameTypeReqDescription
admin_keystringyesThe project admin key (ga_...). Read it from the .env; never print it.
allow–yes–
appstringyesThe app id (app_...)
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...

No output schema declared.

No examples provided.

gate_sync_declarative ~208

Make 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: {name: anomaly-guard, settings: {mode: alert, z_threshold: 4, min_minutes: 3, half_life: 60}}. Never revokes or deletes; differences it cannot apply (an app's routes or rate limit) come back as drift. dry_run lists the steps without changing anything. New keys are shown once.

NameTypeReqDescription
admin_keystring–Its admin key (ga_...), required with project_id. Read it from the .env; never print it.
configstringyesThe whole odile.yaml (or the same as JSON) as text
dry_runboolean–List the steps without changing anything
project_idstring–Optional: an existing project to sync

No output schema declared.

No examples provided.

gate_update_app ~231

Apply stored learning suggestions to an existing app and return the applied routes, suggested per-minute limit and learning-session metadata. Review gate_learn_suggestions first, then explicitly confirm; requires the project owner key or an admin member key. mode="extend" adds learned routes (default); "replace" removes existing routes before applying them. Both modes set the learned rate limit and keep the app key. Only learned suggestions can be applied: arbitrary routes or rate limits are not accepted, and this tool never starts learning.

NameTypeReqDescription
admin_keystringyesThe project owner key (ga_...) or an accepted admin member key (gm_...). Read it from the .env; never print it.
appstringyesThe app id (app_...) with stored learning suggestions
confirmbooleanyesExplicit confirmation to apply the reviewed learning suggestions
modestring–Extend existing routes (default), or replace them with learned routes; both set the suggested rate limit
project_idstringyesThe project id from gate_create_project, e.g. p1a2b3...

No output schema declared.

No examples provided.

gate_validate_config ~132

Parse 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|strict, z_threshold 2–10, min_minutes 1–30, half_life 5–1440. Returns errors with their path, warnings, and the normalized config. Use it before gate_sync_declarative; to review a live project's settings use gate_check_setup.

NameTypeReqDescription
configstringyesThe whole odile.yaml (or the same as JSON) as text

No output schema declared.

No examples provided.

Install

How do I install the Odile Gate MCP server?

Odile Gate is a hosted endpoint at https://gate.odilelabs.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · gate.odilelabs.com

# add to Claude Code
claude mcp add --transport http com-odilelabs-gate 'https://gate.odilelabs.com/mcp'
Common questions

What is the Odile Gate MCP server?

Odile Gate is an MCP server listed in the public MCP registry as com.odilelabs/gate. Free, no signup: per-app keys, allowed calls, approvals and an audit log for your API or model key. This page covers its hosted endpoint (https://gate.odilelabs.com/mcp).

Is the Odile Gate MCP server safe to use?

Odile Gate scores 68 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Odile Gate MCP server expose?

Odile Gate exposes 29 tools: gate_openshell_setup, gate_create_project, gate_create_app, gate_update_app, gate_set_models, and 24 more. Their descriptions and schemas cost roughly 4,752 tokens of context every time the server is loaded.

Does the Odile Gate MCP server require authentication?

No. We connected to Odile Gate without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Odile Gate MCP server still maintained?

Odile Gate is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.