Zero-config entity resolution & record linkage. The zero-tuning Fellegi-Sunter path beats hand-tuned Splink head-to-head and scales from a CSV to a verified 100M-row dedupe in 9.2 min. Fuzzy/exact/probabilistic + PPRL + LLM + identity graph. Python + edge-safe TypeScript (WASM), SQL-native in Postgres & DuckDB, MCP/REST + dbt/Airflow.
# Add to your Claude Code skills
git clone https://github.com/benseverndev-oss/goldenmatchGuides for using mcp servers skills like goldenmatch.
Last scanned: 6/11/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-06-11T08:49:58.054Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}goldenmatch is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by benseverndev-oss. Zero-config entity resolution & record linkage. The zero-tuning Fellegi-Sunter path beats hand-tuned Splink head-to-head and scales from a CSV to a verified 100M-row dedupe in 9.2 min. Fuzzy/exact/probabilistic + PPRL + LLM + identity graph. Python + edge-safe TypeScript (WASM), SQL-native in Postgres & DuckDB, MCP/REST + dbt/Airflow. It has 121 GitHub stars.
Yes. goldenmatch passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/benseverndev-oss/goldenmatch" and add it to your Claude Code skills directory (see the Installation section above).
goldenmatch is primarily written in Python. It is open-source under benseverndev-oss on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh goldenmatch against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Based on votes and bookmarks from developers who liked this skill
Zero-config entity resolution that scales — dedupe & match messy records from a laptop CSV to 100M+ rows. No training data, no tuning.
The headline package, GoldenMatch, does the matching — fuzzy + exact + probabilistic (Fellegi-Sunter) + LLM — and beats hand-tuned Splink out of the box (96.4% F1 on DBLP-ACM), identical in Python, edge-safe TypeScript, and SQL. It even runs on unstructured input: extract records from PDFs and images, then dedupe. Around it sits a full data-quality suite — Check, Flow, Analysis, Pipe, InferMap — with a Rust layer for Postgres / DuckDB and optional WebAssembly acceleration behind the TS ports.
Made for GraphRAG, too — entity resolution is the stage knowledge-graph pipelines do worst (the same entity scatters across documents as duplicate surface forms). GoldenMatch drops into neo4j-graphrag / LlamaIndex / Graphiti as the resolution stage (goldenmatch-kg), or builds a KG straight from text with that resolution at its core (goldengraph). → Knowledge graphs
Verified at scale: 100,000,000 records deduped in 9.2 min on a Ray cluster — recall-complete across any partitioning, 0.36 GB driver footprint.
# Dedupe a CSV in 30 seconds — zero config, writes <timestamp>_golden.csv.
# Add --tui to review interactively, --output-all for every artifact.
pip install goldenmatch && goldenmatch dedupe customers.csv
# From Python — zero-config, returns golden records
python -c "import goldenmatch as gm; gm.dedupe('customers.csv').golden.write_csv('deduped.csv')"
npm install goldenmatch # TypeScript / edge runtimes
pip install golden-suite # the WHOLE suite (Check + Flow + Match + Analysis + Pipe + InferMap) + native
v3.0.0 — v3.0.0 — Arrow-native results. Result frames are now
pyarrow.Table(migrate withpl.from_arrow(result.golden)); inputs are unchanged. The Arrow frame backend is the default — measured ~36% faster end-to-end on the 100K zero-config benchmark — withGOLDENMATCH_FRAME=polarsas the opt-out.v2.4.0 — The healing loop, now default-on across every surface — every
dedupe_dfrun surfaces ranked, self-verified config-suggestions onresult.suggestionswhen there's headroom (free on a healthy run, no second pipeline pass).dedupe_df(suggest=True)returns verified suggestions;heal=Trueapplies them and re-runs, returning the healedresult.config+result.heal_trail. Available across Python, CLI (--suggest/--heal), MCP, A2A, REST, web, the TUI, and the edge-safe TypeScript port via WebAssembly. Needsgoldenmatch[native]; degrades gracefully without it. Kill-switchGOLDENMATCH_SUGGEST_ON_DEDUPE=0.v2.3.0 — Auto-enabled semantic blocking, now default-on — text-heavy data automatically routes to SimHash-over-embeddings blocking when an embedder is reachable (a byte-identical no-op otherwise). Plus pluggable pgvector / DuckDB-HNSW vector-index backends and opt-in Fellegi-Sunter routing for no-strong-identifier datasets (
GOLDENMATCH_AUTOCONFIG_ROUTE_PROBABILISTIC=1).
Each tool stands alone, but they compose into a single pipeline:
flowchart LR
raw([raw rows])
golden([golden records])
subgraph orchestration ["GoldenPipe orchestrates"]
direction LR
infermap[InferMap]
goldencheck[GoldenCheck]
goldenflow[GoldenFlow]
goldenmatch[GoldenMatch]
infermap --> goldencheck --> goldenflow --> goldenmatch
end
raw --> infermap
goldenmatch --> golden
| Step | Role |
|---|---|
| InferMap | schema mapping — auto-aligns columns across heterogeneous sources |
| GoldenCheck | profile + validate — encoding, format, anomaly detection |
| GoldenFlow | standardize + transform — phone, date, address, categorical normalization |
| GoldenMatch | dedupe + cluster + survivorship — fuzzy / exact / probabilistic / LLM |
| GoldenAnalysis | analysis + reporting — one exportable report over any stage, plus cross-run regression detection |
| GoldenPipe | orchestrator — declarative YAML pipeline wiring the steps |
What sets it apart:
historical_50k pairwise F1 0.778 vs 0.757, cluster B³ 0.844 vs 0.789; one shared evaluator, reproducible bake-off). Every step self-verifies (preflight + postflight) and returns an inspectable report instead of failing silently.entity_ids that survive re-runs, an append-only event log, and create / absorb / merge / split semantics on CLI, REST, MCP, and SQL.node:*-free (browsers, Cloudflare Workers, Vercel Edge, Deno); an opt-in WebAssembly backend (await enableWasm()) swaps in the same pyo3-free Rust kernels the Python wheels and SQL UDFs use, with pure-TS as the byte-identical default.