Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

GoldenMatch

REMOTE · GOLDENMATCH-MCP-PRODUCTION.UP.RAILWAY.APP · 2 COMPONENTS · SCANNED AUG 3

Find duplicate records in 30 seconds. Zero-config entity resolution, 97.2% F1 out of the box.

+4 this week 66 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability76
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 7291 tokens (~94/item across 77 items; 77 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage86
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 59% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · goldenmatch-mcp-production.up.railway.app

# add to Claude Code
claude mcp add --transport http benseverndev-oss-goldenmatch https://goldenmatch-mcp-production.up.railway.app/mcp/
# ~/.codex/config.toml
[mcp_servers.benseverndev-oss-goldenmatch]
url = "https://goldenmatch-mcp-production.up.railway.app/mcp/"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "benseverndev-oss-goldenmatch": {
      "type": "remote",
      "url": "https://goldenmatch-mcp-production.up.railway.app/mcp/",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add benseverndev-oss-goldenmatch --url https://goldenmatch-mcp-production.up.railway.app/mcp/ --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  benseverndev-oss-goldenmatch:
    url: "https://goldenmatch-mcp-production.up.railway.app/mcp/"
// mcp.json
{
  "mcpServers": {
    "benseverndev-oss-goldenmatch": {
      "type": "http",
      "url": "https://goldenmatch-mcp-production.up.railway.app/mcp/"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 61

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://goldenmatch-mcp-production.up.railway.app/mcp/

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=*.up.railway.app CN=YE1,O=Let's Encrypt,C=US 29 Jul 2026 27 Oct 2026 ECDSA 256 ECDSA-SHA384 6da79bb561da3efeb0e751ca21abd3999fe
SANs: *.up.railway.app, up.railway.app
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd
DNSSEC insecure

Validation of goldenmatch-mcp-production.up.railway.app. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
app. present 23684 8 Verified
railway.app. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://goldenmatch-mcp-production.up.railway.app/mcp/ Verified 200
http (plaintext) http://goldenmatch-mcp-production.up.railway.app/mcp/ HTTPS enforced 301 https://goldenmatch-mcp-production.up.railway.app/mcp/
MCP tools — 77 exposed · ~7,291 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
list_corrections ~85

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.

NameTypeReqDescription
datasetstringOptional dataset filter (e.g. file path).
pathstringSQLite memory DB path. Default: .goldenmatch/memory.db

No output schema declared.

No examples provided.

list_domains ~21

List available domain extraction rulebooks (built-in + user-defined).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_plugins ~83

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 PluginRegistry.register_*(). Each entry includes name, source (builtin or user), category, and the first line of the merge docstring.

NameTypeReqDescription
categorystring

No output schema declared.

No examples provided.

list_runs ~32

List previous dedupe/match runs (for rollback) from the run log.

NameTypeReqDescription
output_dirstring

No output schema declared.

No examples provided.

match ~125

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, scorers, and thresholds. Example: {"name": "John Smith", "email": "[email protected]", "zip": "10001"}

NameTypeReqDescription
recordobjectyesRecord fields to match against the dataset
thresholdnumberMinimum score to consider a match (default: use config threshold)
top_kintegerMax matches to return (default 5)

No output schema declared.

No examples provided.

match_record ~120

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. Example: {"name": "John Smith", "email": "[email protected]", "zip": "10001"}

NameTypeReqDescription
recordobjectyesRecord fields to match against the dataset
thresholdnumberMinimum score to consider a match (default: use config threshold)
top_kintegerMax matches to return (default 5)

No output schema declared.

No examples provided.

memory_export ~63

Return all corrections as a list of dicts (CSV-shaped). Caller is responsible for writing the file. Optionally filter by dataset.

NameTypeReqDescription
datasetstring
pathstringSQLite memory DB path. Default: .goldenmatch/memory.db

No output schema declared.

No examples provided.

memory_import ~82

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.

NameTypeReqDescription
correctionsarrayyesCorrection dicts, as returned by memory_export.
pathstringSQLite memory DB path. Default: .goldenmatch/memory.db

No output schema declared.

No examples provided.

memory_stats ~54

Return Learning Memory status: total correction count, last learn time, and current learned adjustments. Cheap; safe for status checks.

NameTypeReqDescription
pathstringSQLite memory DB path. Default: .goldenmatch/memory.db

No output schema declared.

No examples provided.

plan_routing ~70

Project per-stage distributed routing (scoring/clustering/golden) for a given data shape + cluster. Pure; no controller run.

NameTypeReqDescription
clusterobject
driver_mem_gbnumber
estimated_pair_countintegeryes
n_rowsintegeryes

No output schema declared.

No examples provided.

pprl_auto_config ~76

Analyze the loaded dataset and recommend optimal PPRL (privacy-preserving record linkage) configuration. Returns recommended fields, bloom filter parameters, threshold, and explanation.

NameTypeReqDescription
security_levelstringSecurity level (default: high)
use_llmbooleanUse LLM for enhanced recommendations (requires API key)

No output schema declared.

No examples provided.

pprl_link ~191

Run privacy-preserving record linkage between two parties' data. Computes bloom filters, matches records without sharing raw data. Specify fields, threshold, and security level.

NameTypeReqDescription
encodingstringEncoding of *_content (default base64)
fieldsarrayyesField names to match on (e.g. ['first_name', 'last_name', 'zip_code'])
file_astringPath to party A's CSV file
file_a_contentstringAlternative to file_a: base64/text bytes
file_a_namestring
file_bstringPath to party B's CSV file
file_b_contentstringAlternative to file_b: base64/text bytes
file_b_namestring
security_levelstring
thresholdnumberMatch threshold (default: auto-detected)

No output schema declared.

No examples provided.

profile ~30

Alias for `profile_data`. Get data quality profile: column types, null rates, unique counts, sample values.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

profile_data ~25

Get data quality profile: column types, null rates, unique counts, sample values.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

retrieve_similar ~286

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 (no cloud/torch by default) and runs ANN search. The read side of the RAG entity-canonicalization epic -- fetch candidate records by query without running a full dedupe.

NameTypeReqDescription
columnstringyesColumn of the corpus to embed + search
encodingstringEncoding of *_content (default base64)
file_contentstringAlternative to file_path: file bytes (base64 default, or raw with encoding='text')
file_pathstringCSV/Parquet corpus to search
filenamestringOriginal filename when using file_content
filtersobjectOptional {column: value} equality pre-filter applied before embedding
kintegerMax records to return (default 20)
modelstringEmbedder id (default 'inhouse' -- local, deterministic, no cloud/torch). Also 'all-MiniLM-L6-v2', a Vertex/OpenAI model, etc.
querystringyesFree-text query to search for
thresholdnumberMinimum cosine similarity in [-1, 1] (default 0.0)

No output schema declared.

No examples provided.

review_config ~84

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). Each suggestion carries an id, kind, target, rationale, and a machine-applicable patch. Requires the native kernel (pip install goldenmatch[native]); returns an empty list otherwise.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

rollback ~66

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.

NameTypeReqDescription
output_dirstring
run_idstringyes

No output schema declared.

No examples provided.

run_transforms ~148

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: pip install goldenmatch[transform]

NameTypeReqDescription
encodingstringEncoding of *_content (default base64)
file_contentstringAlternative to file_path: file bytes (base64 default, or raw with encoding='text')
file_pathstringPath to the CSV file to transform
filenamestringOriginal filename when using file_content
output_pathstringOptional path to save the transformed CSV. If omitted, returns summary only.

No output schema declared.

No examples provided.

scan_quality ~133

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[quality]

NameTypeReqDescription
domainstringOptional domain hint (healthcare, finance, ecommerce)
encodingstringEncoding of *_content (default base64)
file_contentstringAlternative to file_path: file bytes (base64 default, or raw with encoding='text')
file_pathstringPath to the CSV file to scan
filenamestringOriginal filename when using file_content

No output schema declared.

No examples provided.

schema_match ~142

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 sources.

NameTypeReqDescription
encodingstringEncoding of *_content (default base64)
file_astring
file_a_contentstringAlternative to file_a: base64/text bytes
file_a_namestring
file_bstring
file_b_contentstringAlternative to file_b: base64/text bytes
file_b_namestring
min_scorenumber

No output schema declared.

No examples provided.

sensitivity ~189

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-configures the file if no config is given.

NameTypeReqDescription
configstringOptional config YAML path
encodingstringEncoding of *_content (default base64)
file_contentstringAlternative to file_path: file bytes (base64 default, or raw with encoding='text')
file_pathstringCSV/Parquet to analyze
filenamestringOriginal filename when using file_content
sample_sizeintegerOptional: randomly sample N records before sweeping
sweeparrayyesSweep specs as 'field:start:stop:step', e.g. 'threshold:0.70:0.95:0.05'. One or more.

No output schema declared.

No examples provided.

shatter_cluster ~44

Break an entire cluster into individual records. All members become singletons. Use when a cluster is completely wrong.

NameTypeReqDescription
cluster_idintegeryesCluster ID to shatter

No output schema declared.

No examples provided.

suggest_config ~88

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: [{"record_a": {...}, "record_b": {...}, "reason": "different people"}]

NameTypeReqDescription
bad_mergesarrayyesList of bad merge examples with record_a, record_b, and optional reason

No output schema declared.

No examples provided.

suggest_pprl ~81

Check if data needs privacy-preserving matching

NameTypeReqDescription
encodingstringEncoding of *_content (default base64)
file_contentstringAlternative to file_path: file bytes (base64 default, or raw with encoding='text')
file_pathstring
filenamestringOriginal filename when using file_content

No output schema declared.

No examples provided.

test_domain ~62

Test a domain extraction rulebook against sample records. Shows what features would be extracted from the loaded data.

NameTypeReqDescription
domain_namestringyesName of the domain rulebook to test
sample_sizeintegerNumber of records to test (default 10)

No output schema declared.

No examples provided.

unmerge_record ~58

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.

NameTypeReqDescription
record_idintegeryesRow ID of the record to unmerge

No output schema declared.

No examples provided.

upload_dataset ~182

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) or raw text via `encoding`. Uploaded files are ephemeral scratch, reaped after GOLDENMATCH_MCP_UPLOAD_TTL (default 24h); re-upload if you need a path older than that. Max size GOLDENMATCH_MCP_MAX_UPLOAD_BYTES (default 64MB) -- above it, pass a public http(s) URL as file_path instead.

NameTypeReqDescription
encodingstringEncoding of file_content (default base64)
file_contentstringyesFile bytes, base64-encoded (or raw text with encoding='text')
filenamestringyesOriginal filename (extension preserved for format sniffing)

No output schema declared.

No examples provided.