Skip to main content
Glama
lzinga

US Government Open Data MCP

by lzinga

cfpb_search_complaints

Read-onlyIdempotent

Search 13 million CFPB consumer complaints by company, product, state, or keyword to get individual complaint details and company responses.

Instructions

Search the CFPB consumer complaint database (13M+ records). Find complaints by company, product, state, issue, date, or keyword. Returns individual complaints with company responses. Company names auto-retry with fuzzy search if exact match fails (e.g. 'Wells Fargo' will find 'WELLS FARGO & COMPANY'). Products: 'Mortgage', 'Debt collection', 'Credit card or prepaid card', 'Checking or savings account', 'Student loan', 'Vehicle loan or lease', 'Credit reporting, credit repair services, or other personal consumer reports'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sizeNoResults per page (default 10, max 100)
sortNoSort order
tagsNoTag filter
issueNoIssue type: 'Incorrect information on your report', 'Loan modification', etc.
stateNoTwo-letter state code: 'CA', 'TX', 'NY'
timelyNoWhether company responded timely
companyNoCompany name: 'Wells Fargo', 'Bank of America', 'Equifax', etc.
productNoFinancial product: 'Mortgage', 'Debt collection', 'Credit card or prepaid card', etc.
zip_codeNoFilter by ZIP code
search_termNoFree-text search across complaint narratives
has_narrativeNoOnly complaints with consumer narrative text (true/false)
submitted_viaNoSubmission channel
date_received_maxNoEnd date (YYYY-MM-DD): '2024-12-31'
date_received_minNoStart date (YYYY-MM-DD): '2020-01-01'

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2026.4.11
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observedv2026.3.9

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds valuable behavioral details beyond these: the fuzzy-search auto-retry for company names, and the explicit statement that it returns individual complaints with company responses. No contradictions with annotations. The description does not describe every edge case (e.g., pagination or rate limits), but for a read-only search tool this is acceptable.

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 composed of five sentences, with the primary purpose front-loaded. The product list is a long but necessary enumeration, and the fuzzy-search example is a concise, useful addition. There is no filler or repetition. Slightly long due to the product list, but justified.

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 tool with 14 optional parameters and no output schema, the description covers the essential context: what the tool does, what it returns, and how filters work. It does not explain the output structure in detail, but since there is no output schema, the description's statement about 'individual complaints with company responses' is adequate. The description also omits pagination/sort details, but those are well-documented in the schema. Overall, it is sufficiently complete for an agent to invoke it correctly.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema: it enumerates the full product list, explains the fuzzy-search behavior for the company parameter, and gives a concrete example ('Wells Fargo' matching 'WELLS FARGO & COMPANY'). These details help the agent use parameters correctly without needing to infer from the schema alone.

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 states the tool searches the CFPB consumer complaint database and lists the main filter dimensions (company, product, state, issue, date, keyword). It also specifies that it returns individual complaints with company responses, which is a clear and specific purpose. However, it does not explicitly differentiate from sibling tools like cfpb_complaint_trends or cfpb_state_complaints, relying on the name and general context.

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 provides no guidance on when to use this tool versus its siblings. It does not mention alternatives like cfpb_complaint_trends, cfpb_complaint_aggregations, or cfpb_state_complaints, nor does it state what scenarios are better suited for those tools. The only implicit guidance is the mention of 'individual complaints' which hints at its scope, but no explicit 'use this for X, use that for Y' is given.

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

Deploy Server

Other Tools