Truthound — Claude Code MCP server: data checks and PII scan
Checks local data files, profiles columns and flags possible personal data without handing raw values back to the agent. Useful before a dataset reaches your pipeline.
claude mcp add truthound -- uvx truthoundWhat Truthound does
Truthound is an MCP server wrapping a data validation framework built on Polars. From inside an agent it validates local files, summarizes table and column profiles, and marks likely PII. Its th.scan() call inspects the first 1,000 non-null values in string columns, working from a limited sample instead of loading the whole frame, and reports what it finds as an estimate.
The default check suite is picked by heuristics on schema: null tolerance, types, ranges, keys. Not every check runs. Everything lands in a single ValidationRunResult, which feeds reports and checkpoints. When a Parquet file carries full footer statistics, the scan stops once each column sample is complete; without them the batches are counted in full.
Startup goes through uvx truthound, so uv has to be installed. For Codex and the ChatGPT desktop app the README describes a plugin marketplace route, followed by choosing an allowed folder. Access to a data directory is granted explicitly, and the server only touches what you allow.
What it helps with
- validate a local CSV or Parquet file before loading it into a pipeline
- find personal data in string columns without reading all of them
- get a table and column profile for a report
- generate validation rules from a data profile
- spot drift and anomalies between two dataset versions
Example prompts for the agent
- Validate
orders.parquetand list which checks failed - Scan the string columns in
users.csvfor personal data - Profile the
eventstable and suggest validation rules from it
How to install Truthound
Platform CLI
claude mcp add truthound -- uvx truthounduvx runs the command named after the package; if the README names another one, use uvx --from truthound <command>
Platform CLI
codex mcp add truthound -- uvx truthounduvx runs the command named after the package; if the README names another one, use uvx --from truthound <command>
Config file
{
"mcpServers": {
"truthound": {
"command": "uvx",
"args": [
"truthound"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from truthound <command>
Config file
{
"servers": {
"truthound": {
"type": "stdio",
"command": "uvx",
"args": [
"truthound"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from truthound <command>
Platform CLI
gemini mcp add truthound uvx truthounduvx runs the command named after the package; if the README names another one, use uvx --from truthound <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Truthound
How do I install Truthound in Claude Code?
Run claude mcp add truthound -- uvx truthound. The server then runs over stdio, and uv must be available on your machine.
What does Truthound do?
It validates local data files, profiles tables and columns, and flags possible PII, all without returning raw values to the agent.
How accurate is the PII scan?
th.scan() looks at the first 1,000 non-null values in each string column and gives an estimate rather than an exact count. Full Parquet statistics can cut the read short.