Odile Gate

com.odilelabs由 odilelabs.com 发布官方发布者v1.7.0更新于 Oct 29, 2026

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

发布方自己的服务:Odile Labs

已验证Streamable HTTP可网页运行云端与基础设施开发者工具安全与监控

概览

AI 生成的概览

Odile Gate 是一个托管网关,通过 MCP 工具为 HTTP 或模型 API 加上按应用划分的密钥、允许调用清单、速率限制、审批和审计日志。

可以做什么
  • 创建与配置项目和应用程序:在现有 HTTPS API 前建立项目,为每个应用签发密钥并设定允许的路由规则,限制应用可请求的模型,列出应用及其限制与状态。
  • 管理代理权限:创建范围受限、会过期的运行授权(含作用域与审批),要求写入或全部调用必须携带运行令牌,把更窄的授权委派给同项目其他应用,并管理审批人密钥。
  • 查看流量与拒绝原因:读取最近的调用记录、按状态和原因统计的 24 小时指标、异常评分、运行树与时间线,并解释某次拒绝的含义。
  • 校验审计完整性:读取带 HMAC-SHA256 签名的链式审计记录,并重新计算粘贴的导出链以确认是否完整。
  • 检查与同步配置:在不改动任何内容的情况下校验声明式配置,把项目同步到该配置,并在授予生产访问前查看实际防护设置。
  • 规划本地安装:返回原生 OpenShell 的只读安装方案,含安装包哈希与配方结构。
适用场景
适合希望由助手在 API 或模型服务商前搭建、审查一个按凭据限权的网关,或给代理会话授予范围窄、会过期且需审批的客户数据写入权限,而不是发放宽泛密钥的场景。
运行要求
远程 streamable HTTP 端点;未声明任何软件包、环境变量或请求头。需要自行提供上游 HTTPS API 的基础地址,并妥善保存返回的管理密钥和应用密钥。演示可使用无需凭据的沙箱 API。
安装前请注意
管理密钥和应用密钥只显示一次,且可控制整个网关;说明要求把管理密钥存入被 git 忽略的 .env 而非代码中,审批人密钥只交给具体人员、绝不交给代理。配置类工具会创建项目、应用、审批人和运行授权,同步操作会实际应用设置。设置检查只是只读分析,并非安全认证,上游自身的归属校验仍应保留。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Odile Gate,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.odilelabs%2Fgate/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "odile-gate": {
      "type": "http",
      "url": "https://gate.odilelabs.com/mcp"
    }
  }
}

工具

23

gate_openshell_setup

Discover one-command OpenShell setup

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.

无需输入参数。

gate_create_project

Create a Gate project

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.

输入参数name必填upstream必填header_nameheader_value

gate_add_app

Register an app

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.

输入参数name必填modelsroutestemplateadmin_key必填per_minuteproject_id必填

gate_set_models

Set an app's allowed models

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.

输入参数app必填models必填admin_key必填project_id必填

gate_list_apps

List apps

The project's apps with their allowed calls, limits, state and anomaly-guard settings.

输入参数admin_key必填project_id必填

gate_check_setup

Check an agent integration setup

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.

输入参数appadmin_key必填project_id必填

gate_metrics

Read Gate operational metrics

Read 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, 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. Project admin only. 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.

输入参数admin_key必填project_id必填

gate_audit

Read the audit log

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.

输入参数applimitstatusadmin_key必填project_id必填

gate_create_run

Grant one agent run

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.

输入参数app必填labelscopeactions必填admin_key必填max_callsproject_id必填ttl_seconds

gate_set_app_runs

Require runs for an app

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

输入参数app必填mode必填admin_key必填project_id必填

gate_set_response

Choose response fields for an app

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.

输入参数app必填allow必填admin_key必填project_id必填

gate_add_approver

Add an approver

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.

输入参数name必填admin_key必填project_id必填

gate_list_actions

List held actions

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.

输入参数stateadmin_key必填project_id必填

gate_explain_refusal

Explain a refused call

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

输入参数reason必填recoverable

gate_delegate_run

Delegate a narrower run

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.

输入参数app必填labelactions必填app_key必填max_callsrun_token必填project_id必填ttl_seconds

gate_learn_suggestions

Read learning suggestions

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.

输入参数app必填admin_key必填project_id必填

gate_audit_proof

Export a signed audit proof

Read 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 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 above the MCP response size limit.

输入参数tofromadmin_key必填project_id必填actions_after

gate_audit_verify

Verify a signed audit export

Recompute a pasted export chain and project signature; returns intact or broken_at (one-based row position). Does not approve actions or change permissions.

输入参数proof必填admin_key必填project_id必填

gate_run_tree

Read run tree

Read a run and its delegated descendants without tokens.

输入参数run_id必填admin_key必填project_id必填

gate_run_timeline

Read run timeline

Read call metadata, approvals and approver names, recovery outcomes and delegated children; no bodies or query values.

输入参数beforerun_id必填admin_key必填project_id必填

gate_create_app

Create an app

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.

输入参数name必填modelsroutestemplateadmin_key必填per_minuteproject_id必填

gate_validate_config

Check an odile.yaml

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.

输入参数config必填

gate_sync_declarative

Apply an odile.yaml

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.

输入参数config必填dry_runadmin_keyproject_id

版本历史

5
  1. v1.7.0最新Oct 29, 2026
  2. v1.6.1Oct 26, 2026
  3. v1.6.0Oct 24, 2026
  4. v1.2.0Oct 21, 2026
  5. v1.1.0Oct 20, 2026

评分

已满足适用检查项的 83%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证不适用

    托管服务按其提供方的条款使用,因此这里不要求许可证。此检查项不计入百分比。

其他 Odilelabs 集成