accueil / serveurs / Données & BDD / com.odilelabs/gate
com.odilelabs/gate
serveur MCP (Model Context Protocol) · odile-gate 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.odilelabs/gate est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.odilelabs/gate » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 9 outils
- gate_add_app≈ 300 tokens
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. Returns the app key (shown once).
Paramètres, retour & exemple (5)
Paramètresname· string · requis
The app name, e.g. "storefront" or "nightly sync"routes· array · requis
Only the calls this app makes, one "METHOD /path" per itemadmin_key· string · requis
The project admin key (ga_...). Read it from the .env; never print it.per_minute· integer · optionnel
Calls per minute for this app (default 60)project_id· string · requis
The project id from gate_create_project, e.g. p1a2b3...
Exemple d'appel{"name": "gate_add_app", "arguments": {"name": "texte", "routes": [], "admin_key": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_add_approver≈ 207 tokens
Create an approver key for the person who approves held actions (shown once). Give it to that person, never to an agent: once a project has an approver, the admin key can no longer approve.
Paramètres, retour & exemple (3)
Paramètresname· string · requis
Who approves, e.g. "Dana (support lead)"admin_key· string · requis
The project admin key (ga_...). Read it from the .env; never print it.project_id· string · requis
The project id from gate_create_project, e.g. p1a2b3...
Exemple d'appel{"name": "gate_add_approver", "arguments": {"name": "texte", "admin_key": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_audit≈ 243 tokens
The 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 headers.
Paramètres, retour & exemple (5)
Paramètresapp· string · optionnel
Optional: only this app id (app_...)limit· integer · optionnel
How many calls (default 20)status· string · optionnel
Optional: only this HTTP status, e.g. "403"admin_key· string · requis
The project admin key (ga_...). Read it from the .env; never print it.project_id· string · requis
The project id from gate_create_project, e.g. p1a2b3...
Exemple d'appel{"name": "gate_audit", "arguments": {"admin_key": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_audit_proof≈ 200 tokens
Read chained audit rows and their anchors with an HMAC-SHA256 signature. Old rows before genesis are excluded; store_audit=false projects have no chain. Row-id range, up to 10,000 rows per page; follow next_from.
Paramètres, retour & exemple (4)
Paramètresto· integer · optionnelfrom· integer · optionneladmin_key· string · requis
The project admin key (ga_...). Read it from the .env; never print it.project_id· string · requis
The project id from gate_create_project, e.g. p1a2b3...
Exemple d'appel{"name": "gate_audit_proof", "arguments": {"admin_key": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_audit_verify≈ 190 tokens
Recompute a pasted export chain and project signature; returns intact or broken_at (one-based row position). Does not approve actions or change permissions.
Paramètres, retour & exemple (3)
Paramètresproof· object · requis
The full signed export from gate_audit_proofadmin_key· string · requis
The project admin key (ga_...). Read it from the .env; never print it.project_id· string · requis
The project id from gate_create_project, e.g. p1a2b3...
Exemple d'appel{"name": "gate_audit_verify", "arguments": {"proof": {}, "admin_key": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_create_project≈ 225 tokens
Put Odile Gate in front of an existing HTTPS API. Returns project_id, admin_key (shown once) and the gateway base URL apps call instead of the API.
Paramètres, retour & exemple (4)
Paramètresname· string · requis
A name for the project, e.g. "Shop API"upstream· string · requis
The API base URL, https only, e.g. https://api.example.com/v1header_name· string · optionnel
Optional: the secret header your API expects, e.g. Authorization or apikeyheader_value· string · optionnel
Optional: its value. Stored encrypted; apps never see it.
Exemple d'appel{"name": "gate_create_project", "arguments": {"name": "texte", "upstream": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_create_run≈ 572 tokens
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. 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.
Paramètres, retour & exemple (8)
Paramètresapp· string · requis
The app id (app_...) this run is forlabel· string · optionnel
Optional: what the run is for, e.g. "triage ticket 4411"scope· object · optionnel
Values for the {placeholders}, e.g. {"customer":"A"}actions· array · requis
Rules, or {rule, max, approval, check}admin_key· string · requis
The project admin key (ga_...). Read it from the .env; never print it.max_calls· integer · optionnel
Optional: calls allowed in the whole runproject_id· string · requis
The project id from gate_create_project, e.g. p1a2b3...ttl_seconds· integer · optionnel
How long the run lasts (default 3600)
Exemple d'appel{"name": "gate_create_run", "arguments": {"app": "texte", "actions": [], "admin_key": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_delegate_run≈ 342 tokens
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.
Paramètres, retour & exemple (8)
Paramètresapp· string · requis
The destination app idlabel· string · optionnel
A short label for the delegated jobactions· array · requisapp_key· string · requis
The parent app key (gk_...)max_calls· integer · optionnelrun_token· string · requis
The parent run token (gr_...)project_id· string · requis
The project id from gate_create_project, e.g. p1a2b3...ttl_seconds· integer · optionnel
Exemple d'appel{"name": "gate_delegate_run", "arguments": {"app": "texte", "actions": [], "app_key": "texte", "run_token": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_explain_refusal≈ 135 tokens
What a Gate refusal means and how to fix it, from the x-gate-refused header value (e.g. route_not_allowed).
Paramètres, retour & exemple (2)
Paramètresreason· string · requis
The x-gate-refused valuerecoverable· boolean · optionnel
Whether the write was granted with a recovery check
Exemple d'appel{"name": "gate_explain_refusal", "arguments": {"reason": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_learn_suggestions≈ 208 tokens
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.
Paramètres, retour & exemple (3)
Paramètresapp· string · requis
The app idadmin_key· string · requis
The project admin key (ga_...). Read it from the .env; never print it.project_id· string · requis
The project id from gate_create_project, e.g. p1a2b3...
Exemple d'appel{"name": "gate_learn_suggestions", "arguments": {"app": "texte", "admin_key": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_list_actions≈ 193 tokens
Actions waiting for approval (or in another state), with the exact call. Approving is done by a person in the dashboard, not by a tool.
Paramètres, retour & exemple (3)
Paramètresstate· string · optionnel · pending | approved | rejected | executed | unknown | expired
Default: pendingadmin_key· string · requis
The project admin key (ga_...). Read it from the .env; never print it.project_id· string · requis
The project id from gate_create_project, e.g. p1a2b3...
Exemple d'appel{"name": "gate_list_actions", "arguments": {"admin_key": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_list_apps≈ 136 tokens
The project's apps with their allowed calls, limits and state.
Paramètres, retour & exemple (2)
Paramètresadmin_key· string · requis
The project admin key (ga_...). Read it from the .env; never print it.project_id· string · requis
The project id from gate_create_project, e.g. p1a2b3...
Exemple d'appel{"name": "gate_list_apps", "arguments": {"admin_key": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_run_timeline≈ 201 tokens
Read call metadata, approvals and approver names, recovery outcomes and delegated children; no bodies or query values.
Paramètres, retour & exemple (4)
Paramètresbefore· integer · optionnel
Older audit events (timeline pages have at most 500 events)run_id· string · requis
The run idadmin_key· string · requis
The project admin key (ga_...). Read it from the .env; never print it.project_id· string · requis
The project id from gate_create_project, e.g. p1a2b3...
Exemple d'appel{"name": "gate_run_timeline", "arguments": {"run_id": "texte", "admin_key": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_run_tree≈ 152 tokens
Read a run and its delegated descendants without tokens.
Paramètres, retour & exemple (3)
Paramètresrun_id· string · requis
The run idadmin_key· string · requis
The project admin key (ga_...). Read it from the .env; never print it.project_id· string · requis
The project id from gate_create_project, e.g. p1a2b3...
Exemple d'appel{"name": "gate_run_tree", "arguments": {"run_id": "texte", "admin_key": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_set_app_runs≈ 198 tokens
Make an app need a run: "writes" (every write needs x-odile-run), "all" (every call), or "off".
Paramètres, retour & exemple (4)
Paramètresapp· string · requis
The app id (app_...)mode· string · requis · off | writes | alladmin_key· string · requis
The project admin key (ga_...). Read it from the .env; never print it.project_id· string · requis
The project id from gate_create_project, e.g. p1a2b3...
Exemple d'appel{"name": "gate_set_app_runs", "arguments": {"app": "texte", "mode": "off", "admin_key": "texte", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_sync_declarative≈ 268 tokens
Make a Gate project match an odile.yaml: creates the project (if no project_id) and missing apps and approvers, applies run mode, loop and learning settings and alerts. 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.
Paramètres, retour & exemple (4)
Paramètresconfig· string · requis
The whole odile.yaml (or the same as JSON) as textdry_run· boolean · optionnel
List the steps without changing anythingadmin_key· string · optionnel
Its admin key (ga_...), required with project_id. Read it from the .env; never print it.project_id· string · optionnel
Optional: an existing project to sync
Exemple d'appel{"name": "gate_sync_declarative", "arguments": {"config": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_validate_config≈ 138 tokens
Parse and check a declarative Gate config (apps, routes, rate limits, run mode, plugins, alerts, approvers) without changing anything. Returns errors with their path, warnings, and the normalized config.
Paramètres, retour & exemple (1)
Paramètresconfig· string · requis
The whole odile.yaml (or the same as JSON) as text
Exemple d'appel{"name": "gate_validate_config", "arguments": {"config": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».