Entity resolution toolkit for deduplication, record matching, golden records, and PPRL.
Do not connect
A critical issue was found. Do not connect this server as-is.
Scanned 1 month ago Due for re-check
A server can change after it's graded. Re-run the automated scan to refresh this report.
This grade is deterministic and reproducible: the same server surface always yields the same grade under a given algorithm version. It is a real automated assessment computed by the MCPGrade engine from what the probe actually observed — not a fabricated or opinion score. It is not a manual human pentest, so it can miss context-specific risks.
Every signal below was measured directly by the automated probe. The grade is derived only from evidence like this — nothing is assumed.
The GoldenMatch MCP server exposes 77 tools, focused primarily on developer capabilities. Its published description reads: "Entity resolution toolkit for deduplication, record matching, golden records, and PPRL". It communicates over Streamable HTTP using the 2025-06-18 protocol revision, and does not require authorization to connect. MCPGrade currently rates GoldenMatch F — a critical issue was found and the server should not be connected as-is. Its most notable findings include "Cross-tool shadowing" and "Cross-tool shadowing". This report is a deterministic, reproducible automated assessment: the same observed surface always yields the same grade under a given algorithm version, and it is refreshed as new scans arrive and free to read — but it is not a substitute for a manual human security review. Always re-check GoldenMatch's advertised tools, transport security, and authorization posture before connecting an autonomous agent or sharing sensitive context with it.
Add GoldenMatch to an MCP client using the endpoint below. Review the grade and findings above before granting an autonomous agent access.
MCP endpoint
https://goldenmatch-mcp-production.up.railway.app/mcp/Streamable HTTP transport. This is the MCP endpoint, not a website — paste it into your MCP client server list rather than a browser.
Captured passively during the read-only scan. Click any value to find servers that match it.
The tools this server advertises via tools/list — names, purposes, and the parameters each accepts, exactly as enumerated read-only.
Profile data, detect domain, recommend ER strategy
Run AutoConfigController on a CSV; return the committed GoldenMatchConfig (incl. negative_evidence / Path Y when chosen) plus telemetry — stop_reason, health, decision trace, indicator column priors.
Sorted worst-first. Each finding shows its severity, what it means, its OWASP MCP Top-10 mapping, and a recommended fix — the check id links to the exact methodology row that produced it.
tool: analyze_data
A tool description tries to alter the model’s use of another tool.
Profile data, detect domain, recommend ER strategyRecommendationDescriptions must describe only their own tool.
tool: controller_telemetry
A tool description tries to alter the model’s use of another tool.
he most recent `auto_configure` or `agent_deduplicate` call in this MCP sessioRecommendationDescriptions must describe only their own tool.
tool: agent_match_sources
A tool description tries to alter the model’s use of another tool.
Match two files with intelligent strategy selectionRecommendationDescriptions must describe only their own tool.
tool: incremental
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: certify_recall
A tool description tries to alter the model’s use of another tool.
ee `goldenmatch evaluate --certify --audit-out`). Needs >=3 decorrelatedRecommendationDescriptions must describe only their own tool.
tool: retrieve_similar
A tool description tries to alter the model’s use of another tool.
running a full dedupe.RecommendationDescriptions must describe only their own tool.
tool: upload_dataset
A tool description tries to alter the model’s use of another tool.
ss other tools (analyze_data, auto_configure, agent_deduplicate, ...). No hoRecommendationDescriptions must describe only their own tool.
tool: memory_import
A tool description tries to alter the model’s use of another tool.
the exact shape memory_export returns). Upserts into the store: higher trustRecommendationDescriptions must describe only their own tool.
tool: identity_profile
A tool description tries to alter the model’s use of another tool.
MDM profile of one entity: record count + per-source breakdRecommendationDescriptions must describe only their own tool.
tool: get_stats
A tool description tries to alter the model’s use of another tool.
cluster count, match rate, cluster sizes.RecommendationDescriptions must describe only their own tool.
tool: explain_match
A tool description tries to alter the model’s use of another tool.
why two records match or don't match. Shows per-field score breakdownRecommendationDescriptions must describe only their own tool.
tool: match_record
A tool description tries to alter the model’s use of another tool.
Match a single record against the loaded dataset in rRecommendationDescriptions must describe only their own tool.
tool: review_config
A tool description tries to alter the model’s use of another tool.
et: analyze the dedupe run and return ranked, self-verified suggestionRecommendationDescriptions must describe only their own tool.
tool: profile_data
A tool description tries to alter the model’s use of another tool.
et data quality profile: column types, null rates, unique counts, samplRecommendationDescriptions must describe only their own tool.
tool: lineage
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: list_runs
A tool description tries to alter the model’s use of another tool.
match runs (for rollback) from the run log.RecommendationDescriptions must describe only their own tool.
tool: rollback
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
). Destructive: removes the files that run wrote. Use list_runs first to find theRecommendationAnnotate destructive tools and require human approval.
tool: rollback
A tool description tries to alter the model’s use of another tool.
run wrote. Use list_runs first to find the run_id.RecommendationDescriptions must describe only their own tool.
tool: dedupe
A tool description tries to alter the model’s use of another tool.
Alias for `find_duplicates`. Find duplicate matches for a record. ProvideRecommendationDescriptions must describe only their own tool.
tool: match
A tool description tries to alter the model’s use of another tool.
Alias for `match_record`. Match a single record against the loaded dataRecommendationDescriptions must describe only their own tool.
tool: explain_pair
A tool description tries to alter the model’s use of another tool.
Alias for `explain_match`. Explain why two records match or don't match.RecommendationDescriptions must describe only their own tool.
tool: profile
A tool description tries to alter the model’s use of another tool.
Alias for `profile_data`. Get data quality profile: column types, nullRecommendationDescriptions must describe only their own tool.
tool: explain_cluster
A tool description tries to alter the model’s use of another tool.
Alias for `agent_explain_cluster`. Explain why records are in the same clusterRecommendationDescriptions must describe only their own tool.
The server accepts tool enumeration (and likely invocation) with no authentication.
RecommendationRequire OAuth 2.1 authorization for any server exposing non-public tools.
tool: upload_dataset
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "upload_dataset"RecommendationScope tools to the minimum needed.
tool: lint_routing
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "lint_routing"RecommendationScope tools to the minimum needed.
tool: unmerge_record
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "unmerge_record"RecommendationScope tools to the minimum needed.
tool: review_config
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "review_config"RecommendationScope tools to the minimum needed.
tool: create_domain
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "create_domain"RecommendationScope tools to the minimum needed.
tool: lineage
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "lineage"RecommendationScope tools to the minimum needed.
tool: lineage
A filesystem tool exposes a path parameter that is a free-form string with no pattern/enum/format constraint, so it accepts absolute paths and "../" traversal. A tool that constrains its path (a rooted `pattern` or an `enum`) does not fire.
unconstrained path parameter "output_dir"RecommendationConstrain the path parameter to a rooted allow-list and reject absolute/traversal paths server-side.
tool: rollback
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "rollback"RecommendationScope tools to the minimum needed.
tool: rollback
A filesystem tool exposes a path parameter that is a free-form string with no pattern/enum/format constraint, so it accepts absolute paths and "../" traversal. A tool that constrains its path (a rooted `pattern` or an `enum`) does not fire.
unconstrained path parameter "output_dir"RecommendationConstrain the path parameter to a rooted allow-list and reject absolute/traversal paths server-side.
Vantaj uptime monitoring via MCP — manage monitors, heartbeats, incidents, and status pages.
Unified gateway to Algeria's TKAWEN ecosystem: commerce, certification, and AI tools.
Provides access to the Cohereon Doctrine AI safety framework with governance components, tiered access, and agent onboarding.
Agentic rails for complex workflows with receipts, fees, and MCP tool access.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Return the AutoConfigController telemetry from the most recent `auto_configure` or `agent_deduplicate` call in this MCP session. Same JSON shape as the web /api/v1/controller/telemetry endpoint.
Run full ER pipeline with confidence gating and reasoning
Match two files with intelligent strategy selection
Natural language explanation for a record pair
Explain why records are in the same cluster
Get borderline pairs awaiting approval
Approve or reject a review queue pair
Compare ER strategies on your data
Check if data needs privacy-preserving matching
Run GoldenCheck data quality scan on a CSV file. Returns issues found (encoding errors, Unicode problems, format violations) without applying fixes. Requires goldencheck: pip install goldenmatch[quali
Run GoldenCheck scan and apply fixes to a CSV file. Returns the fixed data summary and a manifest of all fixes applied. Requires goldencheck: pip install goldenmatch[quality]
Run GoldenFlow data transforms on a CSV file. Normalizes phone numbers (E.164), dates (ISO), categorical spelling, and Unicode issues. Returns a manifest of transforms applied. Requires goldenflow: pi
Parameter-sensitivity analysis: sweep one or more config parameters across a range and report how stable the clustering is at each value (CCMS unchanged %). Use it to find robust thresholds. Auto-conf
Match a batch of new records against an existing base dataset (without re-running the whole base). Returns matched (new_row_id, base_row_id, score) pairs plus counts. Auto-configures from the base fil
Estimate match RECALL without ground truth (unsupervised). Treats each auto-configured matchkey/pass as a decorrelated system and uses capture-recapture over their overlaps to estimate how many true m
Semantic retrieval (#1089): return the records in a CSV most similar to a free-text query, ranked by cosine similarity. Embeds the chosen column and the query with the zero-config in-house embedder (n
Upload a local file's bytes to the server and get back a server-side path to reuse across other tools (analyze_data, auto_configure, agent_deduplicate, ...). No hosting needed. Send base64 (default) o
List stored Learning Memory corrections, optionally filtered by dataset. Returns id_a, id_b, decision, source, trust, reason, matchkey_name, dataset, original_score, created_at.
Add a Learning Memory correction. Two shapes: - pair-level: decision='approve' or 'reject', requires id_a + id_b - field-level (v1.18.2+): decision='field_correct', requires cluster_id + field_name +
List all registered goldenmatch plugins by category. Includes the 22 v1.18.2 predefined plugins (numeric/format/business/aggregation) plus any user-registered plugins via entry-points or PluginRegistr
Force a MemoryLearner pass over accumulated corrections. Returns the list of LearnedAdjustments produced (matchkey_name, threshold, sample_size, learned_at). Requires >= 10 corrections per matchkey be
Return Learning Memory status: total correction count, last learn time, and current learned adjustments. Cheap; safe for status checks.
Return all corrections as a list of dicts (CSV-shaped). Caller is responsible for writing the file. Optionally filter by dataset.
Import corrections from a list of dicts (the exact shape memory_export returns). Upserts into the store: higher trust wins, same trust = latest wins. Returns the count imported.
Resolve a record_id to its durable identity. Returns the full identity view (members, evidence edges, recent events) or null when no identity exists for that record.
List identities, optionally filtered by dataset/status.
Return the temporal event log for an identity.
List evidence edges marked `conflicts_with`.
Manually merge two identities. All records from `absorb_entity_id` are reassigned to `keep_entity_id`. The merge events are stamped with `actor`/`trust` provenance so the audit log records who merged
Split a subset of records off an identity into a brand-new identity. The original keeps the remaining records. The split events carry `actor`/`trust` provenance.
Claim a record into an identity, moving it out of any prior entity ('this record belongs to that identity'). Emits a provenance-stamped `claimed` event on both the gaining and losing entities.
Adjudicate a `conflicts_with` pair: 'same' keeps the entity intact, 'distinct' splits the second record out into a new identity, 'defer' only logs. Records a durable mediation verdict + event with act
Export the append-only identity audit log in commit order: every event with actor / trust / timestamp / reason, so a reviewer can reconstruct exactly which actor changed what, when, and why. Optionall
Anchor the append-only audit log with a tamper-evidence seal: a chained sha256 root over every event since the last seal. Cheap and idempotent (a no-op when nothing new has been logged). Run it period
Verify the append-only audit log against its seal chain. Replays the per-event content hashes and the seal roots to detect content edits, deletion, reordering, and insertion of any sealed event. Retur
Fetch the full detail of one identity by entity_id: its member records, evidence edges, and recent event log. Returns {found: false} when no such entity exists.
MDM profile of one entity: record count + per-source breakdown, golden record, confidence, conflict count, canonical version (structural-event count), and first/last activity. Returns {found: false} w
Graph-level summary / health stats: entities by status, total records, records-per-entity distribution, conflict total, source mix, and the largest entities. Optionally scoped to a dataset.
Prioritized steward worklist: active entities needing attention (open conflicts and/or confidence below weak_confidence), highest conflict count first.
Project per-stage distributed routing (scoring/clustering/golden) for a given data shape + cluster. Pure; no controller run.
Human-readable explanation of why each stage is routed the way it is, with the driver-RAM projection that drove it.
Flag config/env overrides that force a slow path (e.g. CLUSTERING_THRESHOLD=0 when the edge set fits driver RAM). ERROR at scale; would_refuse mirrors the runtime guard.
Get dataset statistics: record count, cluster count, match rate, cluster sizes.
Find duplicate matches for a record. Provide field values to search against the loaded dataset.
Explain why two records match or don't match. Shows per-field score breakdown.
List duplicate clusters found in the dataset. Returns cluster IDs, sizes, and member counts.
Get details of a specific cluster: all member records and their field values.
Get the merged golden (canonical) record for a cluster.
Match a single record against the loaded dataset in real-time. Paste a record's fields and instantly see if it matches any existing record. Uses the configured matchkeys, scorers, and thresholds. Exam
Remove a record from its cluster. The record becomes a singleton. Remaining cluster members are re-clustered using stored pair scores. Use this to fix bad merges.
Break an entire cluster into individual records. All members become singletons. Use when a cluster is completely wrong.
Analyze bad merges and suggest config changes. Provide examples of incorrect merges (pairs that should NOT have matched) and GoldenMatch will identify which fields/thresholds to tighten. Example: [{"r
Run the config healer over the loaded dataset: analyze the dedupe run and return ranked, self-verified suggestions for improving the matching config (thresholds, scorers, negative evidence, blocking).
Get data quality profile: column types, null rates, unique counts, sample values.
Export matching results to a file (CSV or JSON).
List available domain extraction rulebooks (built-in + user-defined).
Create a custom domain extraction rulebook. Define patterns for a specific data domain (medical devices, automotive parts, real estate, etc.).
Test a domain extraction rulebook against sample records. Shows what features would be extracted from the loaded data.
Analyze the loaded dataset and recommend optimal PPRL (privacy-preserving record linkage) configuration. Returns recommended fields, bloom filter parameters, threshold, and explanation.
Run privacy-preserving record linkage between two parties' data. Computes bloom filters, matches records without sharing raw data. Specify fields, threshold, and security level.
Score the loaded run against ground-truth pairs. Loads a ground-truth CSV (id_a,id_b columns) and returns precision, recall, and F1 for the current clustering.
Diagnose blocking on the loaded dataset: returns ranked blocking key candidates with block counts, max block size, total candidate comparisons, and estimated recall. Use it to explain why matching is
Compare two ER clustering outcomes on the same dataset without ground truth (CCMS): classifies each cluster as unchanged / merged / partitioned / overlapping and returns the Talburt-Wang Index. Both i
Auto-map columns between two files with different schemas. Returns proposed (col_a, col_b) mappings with a confidence score and method (synonym / name_sim / composite). Useful before matching two sour
Field-level provenance for the loaded run: for each scored pair, the per-field scores that produced the match, plus cluster id. Optionally write a lineage JSON to a directory.
List previous dedupe/match runs (for rollback) from the run log.
Undo a previous run by DELETING its output files (looked up by run_id in the run log). Destructive: removes the files that run wrote. Use list_runs first to find the run_id.
Diagnose weaknesses in the loaded run's auto-config: columns admitted that shouldn't be (source/provenance labels, per-row IDs), oversized or shared-value blocks, null sinks, low-signal matchkeys, and
Alias for `find_duplicates`. Find duplicate matches for a record. Provide field values to search against the loaded dataset.
Alias for `match_record`. Match a single record against the loaded dataset in real-time. Paste a record's fields and instantly see if it matches any existing record. Uses the configured matchkeys, sco
Alias for `explain_match`. Explain why two records match or don't match. Shows per-field score breakdown.
Alias for `profile_data`. Get data quality profile: column types, null rates, unique counts, sample values.
Alias for `agent_explain_cluster`. Explain why records are in the same cluster
Propose a target extraction schema (JSON) from a sample document image/PDF.
Extract records from documents (PDF/image) against a target schema into rows ready for dedupe_df. Returns records + an ingest report.