Skip to main content
Glama
crisjonblvx

enrichrapi-mcp

by crisjonblvx

enrich_address

Normalize a postal address by title-casing components and validating US ZIP codes. Provides a clean, standardized address format without USPS validation or geocoding.

Instructions

Normalize a postal address.

Title-cases components and regex-checks US ZIP codes. This is not USPS validation or geocoding.

Args: street: Street line (e.g. "123 Main St") city: City name state: State / province abbreviation (e.g. "CA") postal_code: ZIP or postal code country: ISO 3166-1 alpha-2 country code (default "US")

Returns: dict with keys: normalized, us_zip_valid, one_line, method (normalization), geocoded (false), usps_validated (false), cost_usd

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityYes
stateNo
streetYes
countryNoUS
postal_codeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.3/5.0
Behavior3/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 does reveal the normalization behavior (title-case, regex check) and a key limitation ('not USPS validation or geocoding'), plus the presence of cost_usd in the return. However, it does not explicitly state whether the operation is read-only, requires authentication, or has side effects, which an agent might need to know for a cost-incurring external API.

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 compact and well-organized: a two-sentence purpose statement, followed by a clearly labeled Args list and Returns list. Every sentence earns its place – the exclusions, parameter formats, and return keys are all high-value. There is no filler or redundant repetition of schema information.

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?

Given no output schema and no annotations, the description does well by listing the return keys (normalized, us_zip_valid, one_line, method, geocoded, usps_validated, cost_usd) and stating the main limitations. It leaves minor gaps such as behavior for non-US countries (does the ZIP regex only apply when country is US?) and error handling, but for a 5-parameter enrichment tool the essentials are covered.

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

Parameters5/5

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

The schema has 0% description coverage – only types and defaults. The description compensates fully by providing an Args section that explains each parameter's meaning and format: street with an example, state as abbreviation, country as ISO code, and postal_code as ZIP or postal code. This gives an agent everything needed to populate arguments correctly beyond the raw schema.

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?

The description opens with a specific verb and resource: 'Normalize a postal address.' It also states the two key operations (title-casing and ZIP code regex check) and explicitly excludes USPS validation and geocoding, which differentiates it from sibling tools like lookup_postal_code and any geocoding-related utility. This makes the purpose unmistakable.

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?

The description provides clear context for when to use the tool (to normalize and format address components) and an explicit when-not: 'This is not USPS validation or geocoding.' It stops short of naming alternative sibling tools (e.g., lookup_postal_code) that would handle those excluded cases, but the exclusion itself is actionable and prevents misuse.

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