Skip to main content
Glama

npdes-permits

GET https://ticks.bnm.farm/npdes-permits — $0.05 USDC on Base to 0xf59621FC406D266e18f314Ae18eF0a33b8401004. EPA individual NPDES permit text GET ?id= is one official text ($0.02). Newest chunk on a plain GET ($0.05); older chunk if they ask (?before, $0.05). Unpaid returns HTTP 402. After a valid X-PAYMENT, the same URL returns JSON. Not a new SKU.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoOfficial catalog id. That one official text, $0.02. Same door, not a new SKU.
pageNo1-based page. Page 1 is the newest chunk. Ignored when before is set.
beforeNoOfficial catalog id or YYYY-MM-DD. Next older chunk on the same URL, another $0.05. Omit for the newest chunk.
x_paymentNoOptional x402 X-PAYMENT value forwarded to the paid GET as the X-PAYMENT header.

TDQS

A3.9/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly. It discloses pricing, payment mechanism, HTTP 402 on unpaid requests, JSON response after valid X-PAYMENT, chunk ordering, and the relationship between id and chunk access—all beyond what structured data provides.

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 compact and front-loads the endpoint and pricing, which are essential for this paid tool. Some phrasing is dense and jargon-heavy ('x402 X-PAYMENT', 'SKU'), and the final 'Not a new SKU' adds marginal clarity, but overall it earns its length.

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 paid API with no output schema and no annotations, the description covers the essential operational context: payment requirement, pricing tiers, error behavior, response type, and chunk retrieval semantics. The only notable omission is what the returned JSON contains, but this is partly mitigated by the nature of the 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 the schema already documents all four parameters well. The tool description duplicates pricing and chunk behavior but does not offer meaningfully new parameter-level insight beyond what the schema states.

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 identifies a concrete resource ('EPA individual NPDES permit text') and a clear action (GET), with distinct behaviors for official text and chunked browsing. It does not explicitly differentiate itself from sibling tools, but the resource is specific enough that an agent can infer when this tool is relevant.

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 gives clear conditions for using id vs plain GET vs before to retrieve official text, newest chunks, and older chunks. However, it never explains when to choose this tool over sibling regulatory-document tools, and the 'Not a new SKU' note does not help tool selection.

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

B3.4/5.0
Disambiguation3/5

Most tools map cleanly to distinct regulatory document collections (FDA, EPA, FDIC, etc.), so the majority are unambiguous. However, 'search' and 'firm-check' both offer free search with overlapping scope, and 'get-one' vs 'get-page' are easily confused payment operations. Similar prefixed names like mariners, mariners-d7/d8/d11 and gmp/gmp-md add further boundary fuzziness.

Naming Consistency3/5

The bulk of tools follow a consistent lowercase-hyphenated source-slug convention (aaib-reports, cder-reviews, cfpb-orders), which is predictable. But utility tools break the pattern with imperative/descriptive names (search, firm-check, get-one, get-page), and 'ticks' is a bare noun that doesn't fit either style. The mixed conventions are readable but not uniform.

Tool Count2/5

At 46 tools, this is a heavy surface that will be unwieldy for an agent to navigate and select from. Each tool does represent a distinct data product, but the sheer volume exceeds what earns its place in a coherent MCP tool set. A door-based catalog design might work better with a smaller number of parameterized tools.

Completeness4/5

The core workflow is well covered: per-door search, cross-door search, single-document retrieval via ?id=, paginated page retrieval, and payment handling are all present. Minor gaps exist, such as no tool to enumerate all available doors/catalogs or inspect schemas, and firm-check returns only citations rather than bodies. Overall it's a complete access lifecycle for the data-shop domain.