MCP.Market

CFPB consumer complaints MCP server

not responding
by bnovarini·io.github.bnovarini/cfpb-complaints-analysis·v0.1.3

CFPB consumer complaints: 18M records, 3.85M archived narratives. Search, counts, trends.

D47/100grade D
What users say
No reviews yet
Be the first
Safety scan
D47/100

full report

Adoption
New

0 stars

Reviews

Write one

Nobody has reviewed CFPB consumer complaints yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

CFPB consumer complaints tools (10)

write = sends, deletes, buys or posts
  • company_profileFree

    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.

  • compare_companiesFree

    Side-by-side comparison of up to 6 companies on the same filters: complaints, timely_rate, relief rates, top product and top issue each. Each entry in companies is matched as a substring on the company name (all variants combined). Counts are not adjusted for company size.

  • complaint_countsFree

    Count complaints, optionally grouped. group_by is one or two of: year, quarter, month, product, sub_product, issue, sub_issue, company, state, company_response, company_public_response, submitted_via, timely_response. Returns complaints, timely_rate, monetary_relief_rate, nonmonetary_relief_rate, in_progress_rate per group (rates are fractions of that group's complaints). Counts are raw complaint counts, not adjusted for company size. In progress and Untimely response are CFPB response categories, not outcomes. Filters: company (exact name as in find_company), company_contains (substring), product, sub_product, issue, product: CFPB renamed credit reporting twice, so it appears under three product names (use list_values field=product), company_response (exact CFPB value, case-insensitive), submitted_via, state (2 letters), tag (e.g. 'Servicemember', 'Older American'), timely (true/false), date_from/date_to (YYYY-MM-DD or YYYY-MM, on date received).

  • count_narrativesFree

    Count how many archived narratives match a keyword search, optionally grouped by year, month, product, company, issue or state. Same search and filter arguments as search_narratives (without the slower issue/response filters). Use this for 'how many complaints mention X'. Counts only complaints that have a narrative (through 2026-08-14), not all complaints. Narrow with date, company or product when you can.

  • dataset_infoFree

    What this dataset is: row counts, date ranges, narrative coverage, and the narrative freeze. Call first when unsure about coverage.

  • find_companyFree

    Find companies by name. CFPB lists the same firm under variants and subsidiaries (e.g. 'EQUIFAX, INC.', 'Equifax Information Services LLC'), so this returns every matching name with complaint counts and first/last dates; pass the exact names you want to other tools via company, or use company_contains for all variants at once.

  • get_complaintFree

    One complaint by its CFPB Complaint ID: all structured fields and, when archived, the full narrative.

  • list_valuesFree

    List the values of a field with complaint counts, to find exact product/issue/response names. field is one of: product, sub_product, issue, sub_issue, company_response, company_public_response, submitted_via, state, timely_response. Optional search narrows by substring; product narrows issues to that product. Filters: company (exact name as in find_company), company_contains (substring), product, sub_product, issue, product: CFPB renamed credit reporting twice, so it appears under three product names (use list_values field=product), company_response (exact CFPB value, case-insensitive), submitted_via, state (2 letters), tag (e.g. 'Servicemember', 'Older American'), timely (true/false), date_from/date_to (YYYY-MM-DD or YYYY-MM, on date received).

  • search_narrativesFree

    Keyword search over archived complaint narratives (frozen at 2026-08-14; CFPB stopped publishing them in September 2026). query: words that must all appear (case-insensitive), or use phrase for an exact phrase, or any_of for alternatives. Returns a snippet per complaint plus its structured fields, newest first (date order, not relevance-ranked: every result contains all your words); use get_complaint for the full text. Searches scan text, so narrow with date_from/date_to, company/company_contains, product or state when you can: an unfiltered search over all years can time out. Filters: company, company_contains, product, state (2 letters), date_from/date_to (YYYY-MM-DD or YYYY-MM), plus issue, sub_product, company_response, timely, tag (these are slower).

  • trendFree

    Complaints over time (month, quarter or year), for one filter set. Set period to month, quarter or year. The latest period is partial. In progress and Untimely response are CFPB response categories, not outcomes. Filters: company (exact name as in find_company), company_contains (substring), product, sub_product, issue, product: CFPB renamed credit reporting twice, so it appears under three product names (use list_values field=product), company_response (exact CFPB value, case-insensitive), submitted_via, state (2 letters), tag (e.g. 'Servicemember', 'Older American'), timely (true/false), date_from/date_to (YYYY-MM-DD or YYYY-MM, on date received).

Public scan report

scanner v0.1.10 · 2026-10-24 · same rubric, same numbers if you re-run it

1 high
  • –Code scanremote-only server, no package to scann/a
  • Live reliabilityremote unreachable: TypeError: fetch failed0/20
  • –Tool poisoningtools not inspected (endpoint requires auth); not countedn/a
  • Auth qualityno auth information5/15
  • Maintenancelast push 16 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10

Findings (1)

  • highRemote endpoint did not respondreliability.unreachable

    TypeError: fetch failed

Overall 47/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How CFPB consumer complaints compares

Against every graded Web search MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
47/100
higher than 8% of 3,470 Web search servers
Tools
10
the typical Web search server has 5
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
Uptime
0%
of our recent checks; the typical remote Web search server answers 100%
Response time
295 ms
faster than 52% of 2,238 Web search servers

What its tools let an agent do: 10 read

Install CFPB consumer complaints in Claude Code, Cursor or VS Code

claude mcp add --transport http cfpb-complaints-analysis https://cfpb-complaints-analysis.fly.dev/mcp
Add to Cursor

What the publisher says

From the CFPB consumer complaints repository's README, as published. We do not edit it. Read it on GitHub

cfpb-complaints-analysis

The CFPB Consumer Complaint Database as clean Parquet, plus an MCP server so an AI assistant can query it: 18.2 million complaints (2011 to today) and 3.85 million consumer narratives.

What is in it

Both are CFPB's own files. Nothing comes from a third party. CFPB describes the narratives as public domain for FOIA purposes, and says on its data page that complaint data is "freely available for anyone to use, analyze, and build on."

The narrative freeze

CFPB stopped publishing complaint narratives in September 2026 (database release 24, and the Aug 14, 2026 announcement that it would cease discretionary publication of narratives and visualizations). It moved the previously published narratives to its FOIA Reading Room. The live complaint file has no narrative column any more.

This project joins the archived narratives back to the live complaints by Complaint ID. So:

  • Narratives exist only for complaints CFPB had published with one through 2026-08-14. Complaints from after that have none, and it will stay that way.
  • Fewer than half of complaints ever had a narrative: the consumer had to consent, and none were published before 2015.
  • The archive thins out near the end: about 17,000 narratives each for May and June 2026, about 10,000 for July, and 1 for August. This is in CFPB's source files, so 2026 narrative counts are not comparable to earlier months.
  • Narratives are scrubbed by CFPB (personal data shows as XXXX).
  • Structured fields keep updating when you rebuild from CFPB's live file.

Use it

pip install cfpb-complaints-analysis
cfpb-complaints-mcp

The first run downloads the Parquet files (about 700 MB) from the hosted service to ~/.cache/cfpb-complaints-analysis. Set CFPBDATAURL to fetch them from somewhere else, or CFPBDATADIR to use a folder you built yourself. Add the server to your MCP client as a stdio command, or use the hosted endpoint listed in the MCP registry as io.github.bnovarini/cfpb-complaints-analysis.

Tools: datasetinfo, listvalues, findcompany, complaintcounts, trend, companyprofile, comparecompanies, searchnarratives, countnarratives, get_complaint.

Example questions: What do people complain about at Navy Federal versus PenFed? How did mortgage complaints about Rocket change by year? Find 2024 narratives that mention "overdraft fee" at a credit union.

Build it yourself from CFPB's sources: cfpb-complaints --data data build.

Read this before quoting numbers

  • Complaints are unverified consumer allegations. CFPB says so itself.
  • Counts are raw. A large company will have more complaints than a small one; nothing is scaled by customers or accounts.
  • CFPB lists some firms under several names. Use findcompany and companycontains to include all variants.
  • The newest months are partial: complaints are still being sent to companies, and "In progress" is a status, not an outcome.
  • Keyword narrative search scans text. Unfiltered searches take about ten seconds, and counts across all years can take 30 to 45 seconds. A date, company or product filter makes them much faster.

Checks

Every count is reconciled to CFPB's own published numbers. See docs/AUDIT.md, including the figures that do not match and why.

License

MIT for the code. The data is CFPB's.

Nothing above is checked by us. What we check is on the safety report.

Grade history

  • 2026-10-24downgradeA → Dscore 47: Remote endpoint did not respond

CFPB consumer complaints: common questions

Is CFPB consumer complaints MCP server safe?
Not recommended: it is graded D (47/100). Read the CFPB consumer complaints safety report
How do I install CFPB consumer complaints?
It runs remotely at cfpb-complaints-analysis.fly.dev. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does CFPB consumer complaints need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is CFPB consumer complaints maintained?
The last commit was 27 days ago (2026-10-08). The latest release is v0.1.3.
Is CFPB consumer complaints up?
0% of our last 28 checks got an answer. We check remote servers about four times a day.
What can I use instead of CFPB consumer complaints?
Servers from other publishers that do the same job: Reddit Buddy MCP server, Minutes MCP server and MCP FreeScout MCP server.
How does CFPB consumer complaints compare with other Web search MCP servers?
safety score 47/100 (higher than 8% of 3,470 Web search servers); tools 10 (the typical Web search server has 5); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to CFPB consumer complaints

Same job from other publishers: the closest match first, then the best rated.

  • Reddit Buddy
    Browse Reddit RSS; approved API access for search, analysis, and optional posting.
    A
  • Minutes
    The private, owned conversation-memory layer for AI. Record, transcribe, and search every meeting.
    A
  • MCP FreeScout
    FreeScout ticket management with AI-powered analysis, search filters, and structured outputs.
    A
  • HasData Google Scholar
    Google Scholar search results, citation counts and citation export formats, as structured JSON.
    A
  • Odoo MCP Pro
    Connect AI to Odoo ERP 14-20: search, create, update and manage records in natural language.
    A

More from bnovarini →