Skip to main content
Glama
cfpb-complaints-mcp

cfpb-complaints-mcp

by bnovarini

company_profile

Generate a CFPB complaint profile for a company: totals, first/last dates, top products, issues, states, response outcomes, and yearly counts; filter by date or product.

Instructions

Profile of one company (or all name variants via company_contains): totals, first/last complaint, top products, issues, states, response outcomes, yearly counts. Counts are not adjusted for company size. Optional date_from/date_to/product.

Input Schema

NameRequiredDescriptionDefault
companyNo
date_toNo
productNo
date_fromNo
company_containsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.3

TDQS

B3.4/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 behavioral burden. It discloses the return content and an important interpretation caveat (counts unadjusted for company size), which is genuinely useful. It says nothing about read-only nature, permissions, or filtering behavior beyond optional params, so it remains incomplete.

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?

Dense and front-loaded: the core purpose and returned fields come first, followed by the size-normalization caveat and optional params. No wasted sentences, though the second and third clauses are compressed into a single run-on.

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 read tool with no annotations and no output schema, the description does cover the shape of the result and a key caveat, so an agent can call it. It is still thin on input semantics and sibling differentiation, leaving the definition only minimally complete.

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 0%, so the description must compensate. It names company_contains (explaining it selects 'all name variants') and lists date_from/date_to/product as optional, covering most parameters by name, but adds no format or semantic detail (e.g. date format, company matching behavior) beyond what the parameter names imply.

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 clear resource ('Profile of one company') and enumerates the specific contents returned (totals, first/last complaint, top products, issues, states, response outcomes, yearly counts), so the agent knows exactly what it gets. It distinguishes the company vs company_contains variant scoping, but doesn't contrast itself against siblings like find_company or compare_companies.

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 implied through the described output and the caveat that counts are not adjusted for company size, which tells the agent how to interpret results. However, there is no explicit when-to-use guidance nor any exclusion telling the agent why to pick this over compare_companies or find_company.

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