A local MCP server that enables users to query the CFPB Consumer Complaint Database through natural language, retrieving financial consumer complaint records via the CFPB API.
This repository contains a local-only MCP server for querying the U.S. Consumer Financial Protection Bureau (CFPB) Consumer Complaint Database. The server is designed to be launched via standard input/output, making it ideal for integration with tools such as Claude Desktop.
complaints.py
– Main MCP server that exposes a single tool, search_complaints
, for retrieving complaint records from the CFPB API.pyproject.toml
– Minimal project metadata and dependency declarations.claude_desktop_config.json
– Example configuration for launching the server from Claude Desktop.pip
for installing dependenciesRequired Python packages are listed in pyproject.toml
and include httpx
, mcp[cli]
, and python-dateutil
.
uv run
automatically creates a virtual environment, locks your dependencies,
syncs them, and then executes the script. If you plan to launch the server with
uv run complaints.py
, you can skip installing requirements ahead of time.
For users who prefer to pre-install packages or use plain pip
, install
dependencies with uv
:
uv pip install -r pyproject.toml
Or with plain pip
:
pip install -r pyproject.toml
To launch the server directly from the command line for a smoke test:
uv run complaints.py
The server runs over stdio only and waits for requests from an MCP-aware client (e.g., Claude Desktop).
Execute the unit tests using Python's unittest discovery. From the repository root, run:
python -m unittest discover -s tests -v
This requires the dependencies listed in pyproject.toml
to be installed.
The claude_desktop_config.json
file includes an example entry pointing to the complaints.py
script. Replace INSERTPATH
with the path to this repository on your machine and import the configuration into Claude Desktop.
This project is licensed under the MIT License.
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!