Skip to main content
Glama

Odile Gate

Server Details

Give AI agents scoped, expiring API access: exact approvals, retry-safe writes, an audit log.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation4/5

Each tool targets a distinct entity (project, app, approver, run, audit, refusal, actions, app list, run setting), so an agent can generally tell them apart. The main overlap is the trio of credential-minting tools (gate_add_app, gate_add_approver, gate_create_run) plus gate_create_project, which a careless agent could confuse, though the descriptions differentiate them well.

Naming Consistency5/5

All nine tools share the gate_ prefix and follow a consistent snake_case verb_noun pattern (gate_add_app, gate_list_apps, gate_create_run, gate_set_app_runs). No camelCase mixing or stylistic deviation.

Tool Count5/5

Nine tools is well-scoped for a gateway authorization server, and each tool maps to a distinct capability (bootstrap, app/run/approver creation, listing, auditing, refusal diagnosis). No redundant or filler tools.

Completeness3/5

The surface covers setup, scoping, listing and auditing, but provides no revoke/delete/update operations for projects, apps, approver keys or run tokens — a real gap for a security tool where leaked credentials must be withdrawn. Approval being dashboard-only is explicitly justified, but revocation is not addressed anywhere.

Available Tools

9 tools
gate_add_appRegister an appAInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe app name, e.g. "storefront" or "nightly sync"
routesYesOnly the calls this app makes, one "METHOD /path" per item
admin_keyYesThe project admin key (ga_...). Read it from the .env; never print it.
per_minuteNoCalls per minute for this app (default 60)
project_idYesThe project id from gate_create_project, e.g. p1a2b3...

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds genuinely useful context beyond the annotations: the app key is returned only once, and routes are stored as enforceable rules. Annotations already imply mutation (readOnlyHint false, non-idempotent), so the remaining gaps (rate-limit interplay, failure modes) are minor.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and the return-value caveat, and every sentence carries content. The route examples are dense but place the semantics up front without wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly tells the agent what comes back (the app key, shown once). Prerequisites are partly covered in the schema, so only routing specifics or rate-limit behavior are left thin.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description meaningfully elaborates 'routes' beyond the schema: pattern rules like 'GET /orders/:id', per-user paths, and concrete example calls that become rules. That adds interpretation the schema does not provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action: registering one app with its own key and the exact calls it may make. Identifies the return value (the app key) and makes clear this is app-level scoping, which separates it from gate_create_project and gate_add_approver.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Conveys the general intent (give an app its key and rules) but never says when to use this versus gate_set_app_runs or other siblings, nor that project_id/admin_key must already exist from gate_create_project. No when-to-use or exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gate_add_approverAdd an approverAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesWho approves, e.g. "Dana (support lead)"
admin_keyYesThe project admin key (ga_...). Read it from the .env; never print it.
project_idYesThe project id from gate_create_project, e.g. p1a2b3...

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only carry the generic safety profile (readOnly=false, idempotent=false), so the description does real work here: it warns the key is shown once, that it must go to a human not an agent, and that adding an approver permanently disables admin-key approval. That is meaningful behavioral context beyond structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with no filler. The core action is front-loaded and the cautionary constraint follows immediately, so every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, but the description covers the key return behavior (shown once). Combined with annotations covering the safety profile, an agent has enough to call this correctly; only the exact return shape is unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already documents name, admin_key, and project_id well. The description adds no syntax or format detail beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb+resource ("Create an approver key") that is clearly distinct from sibling tools like gate_add_app or gate_create_project. It does not, however, explicitly name or contrast against any sibling, so it stops short of the top tier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an important when-not rule ("never to an agent") and a consequence for use (admin key can no longer approve), which implies context. But there is no explicit statement of when to reach for this tool versus gate_add_app or other authorization tools, leaving routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gate_auditRead the audit logA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
appNoOptional: only this app id (app_...)
limitNoHow many calls (default 20)
statusNoOptional: only this HTTP status, e.g. "403"
admin_keyYesThe project admin key (ga_...). Read it from the .env; never print it.
project_idYesThe project id from gate_create_project, e.g. p1a2b3...

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful context beyond them: newest-first ordering, aggregate totals by status and refusal reason, and the privacy guarantee that bodies, query values, and headers are never stored.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences with no filler: the first front-loads what is returned and in what order, the second adds the privacy constraint that an agent or user would care about.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of describing what comes back and does so well: fields, ordering, and rollup totals. Pagination and what happens when limit exceeds available calls are not covered, a minor gap for a capped list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already documented, including the limit default and the app/status filter syntax. The description adds only the implicit notion of 'most recent calls' and does not clarify filter interaction beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (recent calls through the gateway) and enumerates the fields returned (time, app, matched route, status, reason, duration). It does not contrast itself with the closest sibling, gate_explain_refusal, so the agent must infer which one answers 'why was this refused'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: it is for reviewing recent traffic and refusal totals. No when-to-use, when-not-to-use, or explicit alternative (e.g., gate_explain_refusal for a single refusal) is named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gate_create_projectCreate a Gate projectAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesA name for the project, e.g. "Shop API"
upstreamYesThe API base URL, https only, e.g. https://api.example.com/v1
header_nameNoOptional: the secret header your API expects, e.g. Authorization or apikey
header_valueNoOptional: its value. Stored encrypted; apps never see it.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare non-read-only, non-idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely useful behavior the annotations do not: the admin_key is shown only once (an irrecoverable secret), and the returned gateway base URL is what apps must call instead. Auth requirements and rate limits remain undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler, and the core action is front-loaded ahead of the return-value detail. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so well (project_id, one-time admin_key, gateway base URL). What remains thin is setup context — no mention of auth requirements or follow-up steps such as registering apps against the new project.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters including the https-only upstream constraint and the encrypted header_value. The description adds no parameter syntax or format detail beyond reinforcing the HTTPS upstream requirement, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete action (put Odile Gate in front of an existing HTTPS API) and names the three artifacts produced. An agent can tell this is the project-creation entry point rather than an app/approver mutation, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'in front of an existing HTTPS API' implies the prerequisite context (an HTTPS upstream must already exist), but there is no explicit when-to-use statement, no ordering guidance relative to gate_add_app, and no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gate_create_runGrant one agent runAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
appYesThe app id (app_...) this run is for
labelNoOptional: what the run is for, e.g. "triage ticket 4411"
scopeNoValues for the {placeholders}, e.g. {"customer":"A"}
actionsYesRules, or {rule, max, approval}
admin_keyYesThe project admin key (ga_...). Read it from the .env; never print it.
max_callsNoOptional: calls allowed in the whole run
project_idYesThe project id from gate_create_project, e.g. p1a2b3...
ttl_secondsNoHow long the run lasts (default 3600)

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover read-only/open-world/idempotency; the description adds genuinely non-obvious behavior: the token is shown exactly once, permissions expire, and write calls inside a run require an Idempotency-Key. That is real operational context beyond the structured fields, though it does not say what happens on expiry or whether runs can be revoked.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the purpose, then the actions/scope model, then the return value and required header. Every sentence conveys information an agent needs to act on the result.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter nested-object creation tool with no output schema, the description covers the essentials: what is created, how actions/scope interact, that a token is returned once, and how to use it. Missing only edge behavior (expiry, revocation, failure modes), which is minor relative to what is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description goes further by explaining the concept behind 'actions' (rules with {placeholders} bound by scope, each with optional max and approval) and gives a concrete example rule+scope pair. This adds meaning the schema's terse field descriptions do not carry.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Gate Actions: give one agent session narrow, expiring permission') and what it produces (a run token). It is clearly a creation tool, but it never names a sibling such as gate_set_app_runs or gate_add_app to sharpen the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied: narrow, expiring permission for one agent session, and the optional ttl_seconds/max_calls language supports that. It also explains the follow-up obligations (send x-odile-run with app key, Idempotency-Key on writes), but there is no explicit when-not guidance or named alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gate_explain_refusalExplain a refused callA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYesThe x-gate-refused value

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnlyHint=true, openWorldHint=false), and the description adds the key behavioral context that this is diagnostic lookup driven by a header value rather than a general audit endpoint. It doesn't state the form of the returned explanation, but as a read-only explainer with no side effects that gap is minor.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, zero filler, and the purpose is front-loaded before the input source. Nothing should be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only tool with no output schema, the definition covers purpose, input provenance, and the nature of the response ('what it means and how to fix it'). Only a hint about the explanation's structure is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single param is well documented, but the description still adds value by naming the concrete source (the x-gate-refused header) and giving a real example value, disambiguating the free-form string the schema leaves open.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (explain) and resource (a Gate refusal), plus what the answer contains: meaning and remediation. The example value 'route_not_allowed' makes the scope concrete and distinguishes it from the sibling gate_* tools that manage apps, runs, and audits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It tells the agent exactly when this tool applies: when an x-gate-refused header value is present, that value is the input. There is clear context but no explicit statement of alternatives or exclusions (e.g. what to do if no refusal occurred).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gate_list_actionsList held actionsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoDefault: pending
admin_keyYesThe project admin key (ga_...). Read it from the .env; never print it.
project_idYesThe project id from gate_create_project, e.g. p1a2b3...

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds meaningful context beyond that: approval is a human dashboard action, which stops an agent from hunting for an approve tool. It says nothing about pagination or result volume, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with what the tool returns followed by the approval constraint. 'With the exact call' is slightly cryptic but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates modestly by indicating the listing includes the exact call being held. Combined with annotations covering read-only behavior and the note about human approval, an agent has enough to invoke it correctly, though the result shape and pagination remain unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the enum states, admin_key, and project_id are already documented in the schema. The description only alludes to alternate states ('or in another state') without adding syntax or default behavior beyond what the schema states. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('list' held actions waiting for approval) and clarifies contents ('with the exact call'). It is distinguishable in spirit from gate_list_apps or gate_audit, though it never names or contrasts with those siblings directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (fetch held actions and their states) and usefully notes that approving happens in the dashboard, not via a tool. It does not state when to prefer this over gate_audit or gate_explain_refusal, so the routing guidance is only partial.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gate_list_appsList appsC
Read-only
Inspect

The project's apps with their allowed calls, limits and state.

ParametersJSON Schema
NameRequiredDescriptionDefault
admin_keyYesThe project admin key (ga_...). Read it from the .env; never print it.
project_idYesThe project id from gate_create_project, e.g. p1a2b3...

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description's only added behavior is naming what comes back (allowed calls, limits, state), which is mildly useful given there is no output schema; it says nothing about ordering, size, or failure on an unknown project_id.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short fragment with zero filler; nothing in it is wasteful. It is arguably under-specified rather than over-long, but on pure economy and front-loading it scores well.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description bears the burden of describing the result, and it does so only minimally (apps plus their allowed calls, limits and state). Parameters are fully covered by the schema, so the remaining gap is thin return-value and error detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and both parameters (admin_key, project_id) are documented in the schema with format and provenance. The description adds no additional parameter meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is a noun phrase ('The project's apps with their allowed calls, limits and state') rather than a verb+resource statement; the verb 'List' only appears in the title. The resource is unambiguous and it is distinguishable from gate_add_app by the field list, but the actual operation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as gate_add_app for adding an app or gate_set_app_runs for changing run state. The agent must infer that this is the read path for an existing project.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gate_set_app_runsRequire runs for an appA
Idempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
appYesThe app id (app_...)
modeYes
admin_keyYesThe project admin key (ga_...). Read it from the .env; never print it.
project_idYesThe project id from gate_create_project, e.g. p1a2b3...

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose the safety profile (not read-only, idempotent, not destructive, open world). The description adds valuable semantics for each mode, but does not cover side effects, permission requirements, or interaction with existing runs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with zero waste, front-loading the core action and then defining each mode. No unnecessary preamble or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema and annotations covering safety, the description provides the critical mode semantics. It could mention permission needs or effects on existing runs, but the essentials are present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, and the description meaningfully explains the mode parameter ("writes", "all", "off") beyond the raw enum values. The other three parameters are already documented in the schema, so the description compensates well for the one gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("make an app need a run") and resource ("an app") with the available modes enumerated. It does not explicitly distinguish this tool from siblings like gate_add_app or gate_create_run, but the purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage via "Make an app need a run" but gives no explicit when-to-use guidance, prerequisites, or alternatives to consider. The implied context is clear enough for an agent to infer it configures run requirements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updates
    • First observedgate_add_app
    • First observedgate_add_approver
    • First observedgate_audit
    • First observedgate_create_project
    • First observedgate_create_run
    • First observedgate_explain_refusal
    • First observedgate_list_actions
    • First observedgate_list_apps
    • First observedgate_set_app_runs

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables controlled AI-agent access to enterprise-shaped tools with a deny-by-default gated write path, human approval, dry-run execution, and append-only audit logging.
    1
    -
  • A
    license
    A
    quality
    B
    maintenance
    Local zero-trust permission gateway for AI agents. Enforces policy-based tool authorization, human approvals, scoped permissions, and cryptographically verifiable audit logs.
    4
    66 PyPI
    5
    Apache 2.0
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI agents to safely invoke enterprise tools such as Supabase PostgreSQL and the Notion API through a zero-trust gateway that performs server-side policy and risk evaluation, cryptographically binds approval tickets to exact parameters, and requires out-of-band human approval for destructive operations. It also scrubs credentials from logs and responses while providing audit trails, rate limiting, and a web console for reviewing pending authorizations.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Provides a trust and governance layer for AI agents, enabling secure API access, credential vaulting, paid execution with human approval, and automatic call resume.
    3 npm
    2
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources