Skip to main content
Glama

Permits Engine — Agent Market

enclosure_evidence_pack

Per-incident enclosure evidence pack — one domain's observed policy-surface change (robots.txt / ai.txt / llms.txt / TDM-Rep) as a self-contained bundle: before/after observations, the stored response bodies re-hashed at read time, and the per-day custody record (rows in store vs rows batch-committed, gaps disclosed). Sealed-run attestation. Returns an Ed25519-signed receipt.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainYesDomain whose policy-surface change to document (lowercased, e.g. 'flickr.com').
resourceNoPolicy surface (default 'robots').robots
event_dateNoOptional change-event date (YYYY-MM-DD) to select a specific incident; default = the most recent change. A date with no change event returns incident_found=false.
include_bodiesNoInclude the stored before/after response bodies, re-hashed at read time (default true).

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

B3.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It reveals meaningful traits: response bodies are re-hashed at read time, the custody record exposes gaps between rows stored and rows batch-committed, and the result is a signed Ed25519 receipt. This goes beyond a simple 'returns an evidence pack' statement.

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 dense but well-organized: main purpose first, then contents, then attestation and receipt. Each clause adds relevant information. The second sentence is a fragment, but it still conveys a distinct behavioral guarantee.

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?

There is no output schema, so the description should explain the return value more fully. It mentions a signed receipt and bundle contents, but does not describe the receipt structure, the incident_found=false behavior, or how the custody record is presented. For a complex 4-parameter tool, this leaves gaps.

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 baseline is 3. The description relates to domain and resource by naming policy-surface types, but it adds no parameter-specific detail beyond what the schema already documents for event_date or include_bodies.

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 clearly identifies the tool's output—a per-incident evidence pack about a single domain's policy-surface change—and enumerates the included resources (robots.txt, ai.txt, llms.txt, TDM-Rep). It distinguishes this from likely siblings like web_policy_history by emphasizing 'per-incident' and 'self-contained bundle', though it lacks a direct action verb like 'retrieve' or 'generate'.

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?

The description conveys what the tool returns but does not state when to use it versus alternatives such as web_policy_history. There is no explicit when-to-use or when-not-to-use guidance, and sibling tools are not mentioned.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.5/5.0
Disambiguation2/5

Several tool pairs overlap heavily: permit_lookup, search_permits, and jurisdiction_index all address permit discovery, while web_policy_history and enclosure_evidence_pack both track the same robots.txt/ai.txt/llms.txt/TDM-Rep policy surface. Agents would need to read very long descriptions carefully to avoid selecting the wrong tool.

Naming Consistency3/5

All names are snake_case but the pattern is mixed: most are noun phrases like agent_census_stats and web_policy_history, while request_quote, search_permits, and verify_contractor_license use verb-first naming. The names are readable but do not follow one consistent convention.

Tool Count3/5

Fifteen tools is at the high end of a reasonable scope, and the set spans permits, datacenter indices, agent attestations, web policy history, and quote requests. The count is not absurd, but it feels like several different products bundled into one server.

Completeness3/5

The permit lookup/search/rebate/contractor side is reasonably covered for read-only queries, and there is useful verification and attestation tooling. However, the 'Agent Market' side has no way to browse or complete a purchase beyond one request_quote action, and some data products like datacenter and agentic commerce feel disconnected from the core permits domain.

Resources