Skip to main content
Glama

Declared-vs-Enforced Agent Access Verification

Server Details

Compares declared agent access against actual enforcement per identity class, with drift watch.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL

TDQS

B3/5.0

Scored across 4 tools

Disambiguation4/5

The four tools have distinguishable scopes: access_probe is a one-time declared-vs-enforced check on an arbitrary path, while drift_run re-probes already-enrolled targets, and drift_targets/drift_remove manage the enrollment list. The main ambiguity is between access_probe and drift_run (both perform probing), and it is unclear whether access_probe also enrolls a target, since removal/listing imply enrollment exists but no explicit enroll tool is present.

Naming Consistency4/5

All names use snake_case and a predictable <domain>_<action> structure, with three tools sharing the drift_ prefix. The only deviation is access_probe, which is an outlier prefix and reads noun_verb rather than the domain_action pattern of the drift_ family.

Tool Count4/5

Four tools is a tight, well-scoped set for a narrow verification/drift-checking server, and each tool maps to a distinct operation. It is on the thin side — the absence of an enrollment or history-retrieval tool suggests the count reflects a deliberately minimal surface rather than a fully rounded one.

Completeness3/5

The lifecycle is incomplete: targets can be listed and removed, and drift is recorded, but there is no explicit enrollment/create tool and no tool to read back recorded drift events or history, leaving agents unable to retrieve the drift data they generate. Core probe workflows are covered, but these gaps will force workarounds.

Available Tools

4 tools
access_probeCInspect

Pre-flight declared-vs-enforced probe of one target path (one-time grant; the $0.01 x402 rail is the HTTP /probe endpoint).

NameRequiredDescriptionDefault
pathNo
signedNo
fixtureNo
base_urlYes
agent_tokenNo

TDQS

C2.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It does disclose two real traits – a one-time grant and a $0.01 x402 cost tied to the HTTP /probe endpoint – which is genuine behavioral context. But it omits whether the probe mutates anything, what auth it requires (agent_token is unexplained), and what a result or failure looks like.

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

Conciseness3/5

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

A single front-loaded sentence with no padding, which is structurally good. The dense parenthetical, however, crams three loosely related concepts into one clause and reads more as an aside than usable information.

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

Completeness2/5

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

For a 5-parameter tool with no annotations and no output schema, one cryptic sentence is insufficient. Parameter meaning, usage context, and behavioral profile are all absent, leaving the agent without what it needs to invoke this correctly.

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

Parameters1/5

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

Five parameters with 0% schema description coverage, and the description explains none of them. "One target path" loosely gestures at path, but signed, fixture, base_url, and agent_token receive no meaning from either schema or description.

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?

States a specific action ("pre-flight declared-vs-enforced probe") on a specific resource ("one target path"), so the general intent is recoverable. However, the jargon ("declared-vs-enforced", "x402 rail") is opaque and there is no explicit differentiation from siblings drift_run and drift_targets beyond the singular "one target path".

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?

No when-to-use guidance relative to drift_run or drift_targets, and no prerequisites or preconditions stated. The parenthetical mentions a one-time grant and a cost rail but does not translate into a use/don't-use rule.

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

drift_removeCInspect

Remove one enrolled drift-watch target (records no drift event).

NameRequiredDescriptionDefault
target_idYes

TDQS

C2.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does add one useful behavioral detail—removal does not record a drift event—and implies the target must be 'enrolled.' However, it omits critical mutation traits such as reversibility, permissions, error behavior, and return value.

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?

The description is a single front-loaded sentence with no wasted words. The parenthetical side-effect note earns its place, though the overall brevity leaves gaps better filled elsewhere.

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

Completeness2/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 annotations, no output schema, and an undocumented required parameter, the description is too thin. It should clarify how to obtain a valid target_id, whether removal is irreversible, and what happens if the target is not enrolled.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it never mentions 'target_id' or its expected format. The phrase 'one enrolled drift-watch target' vaguely implies the parameter's purpose but gives no concrete identification guidance.

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 states a specific verb ('Remove') and resource ('one enrolled drift-watch target'), making the operation clear. It does not explicitly name sibling tools, but 'remove' distinguishes it from 'drift_targets' and 'drift_run' well enough.

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 explicit guidance on when to use this tool versus alternatives, nor are there prerequisites or exclusions. The parenthetical '(records no drift event)' describes a side effect but does not help the agent choose between drift_remove, drift_targets, or drift_run.

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

drift_runBInspect

Re-probe one enrolled target now and record two-sided drift (manual runs metered: 1/min/target).

NameRequiredDescriptionDefault
target_idYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses the rate limit ('1/min/target') and the side effect of recording drift, but it omits permissions, whether the action is reversible, and what happens on failure or if the target is not enrolled.

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?

The description is a single, front-loaded sentence with no wasted words. The most important action and the rate-limit constraint are both stated efficiently.

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?

For a simple one-parameter action tool with no output schema, the description gives enough to understand the core operation and rate limit. However, it lacks information about return behavior, error conditions, and required permissions, which would matter for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate. It only indirectly references the parameter as 'one enrolled target' and does not describe target_id's format, source, or any constraints, leaving the single parameter under-specified.

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 ('Re-probe') and resource ('one enrolled target') and states the outcome ('record two-sided drift'). It is clear what the tool does, though it does not explicitly contrast itself with siblings like access_probe or drift_targets.

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 'manual runs metered: 1/min/target' implies this tool is for on-demand checks, but there is no explicit when-to-use guidance, no exclusions, and no named alternatives. The agent must infer that this is the right tool for a one-off drift probe.

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

drift_targetsBInspect

List your enrolled drift-watch targets.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates the result is scoped to 'your' targets, but does not mention read-only safety, pagination, return format, or authentication requirements.

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, front-loaded sentence with no wasted words. It is appropriately sized for a simple listing tool.

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?

While the function is simple and no parameters are needed, the absence of an output schema means the description could say more about the returned data (e.g., format or pagination). It is minimally adequate but leaves return behavior unspecified.

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?

The tool takes zero parameters, so there are no parameter semantics to clarify. The schema is empty and full schema description coverage is irrelevant; baseline 4 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 states a specific verb ('List') and resource ('enrolled drift-watch targets'), making the tool's function clear. It does not explicitly differentiate itself from siblings like drift_run, but the resource name is distinct enough for an agent to infer the difference.

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?

No guidance is given about when to use this tool versus the sibling tools drift_run or access_probe. The description only states what the tool does, leaving the agent to infer usage context on its own.

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. 1 tool update
    • Addeddrift_remove
  2. 3 tool updates
    • First observedaccess_probe
    • First observeddrift_run
    • First observeddrift_targets

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only comparison of Stripe active entitlements against an application's effective access snapshots, returning matched, mismatch, or unknown results for agent-driven diagnostics.
    MIT
  • F
    license
    A
    quality
    F
    maintenance
    Provides policy-based access control, incident tracking, and compliance monitoring to govern AI agent behavior. It enables organizations to enforce security rules and maintain audit trails by validating agent actions against trust levels and pattern-based policies.
    6
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to access registered resources based on a fixed subject identity, enforcing default-deny policies and auditing for controlled context sharing.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables ingesting caller-supplied agent execution traces and comparing them against signed, versioned baselines of normal behaviour to surface silent drift. Reports severity with per-dimension attribution, a replayable exemplar episode, and visible suppression of declared maintenance windows or known change markers.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources