# Senzing MCP server

Entity resolution — data mapping, SDK code generation, docs search, and error troubleshooting

## Links
- Registry page: https://www.getdrio.com/mcp/com-senzing-mcp
- Website: https://senzing.com

## Install
- Endpoint: https://mcp.senzing.com/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://mcp.senzing.com/mcp

## Tools
- analyze_record - Get the Senzing JSON analyzer script to validate mapped data files client-side. REQUIRED: `workspace_dir` (writable directory, e.g. ~/sz-workspace) — the call WILL FAIL without it.

The analyzer validates records against the Entity Specification, examines feature distribution, attribute coverage, and data quality. Returns a Python script (no dependencies) with instructions. No source data is sent to the server.

Typical workspace_dir values: Linux `/tmp` or `~/sz-workspace`; macOS `~/sz-workspace`; sandboxed envs: explicit path under home (do NOT assume /tmp exists). Endpoint: https://mcp.senzing.com/mcp
- download_resource - Download workflow resources by name. Pass `filename` (string) or `filenames` (array); calling with neither returns the list of available resources (it does not fail).

Available: sz_json_analyzer.py, sz_schema_generator.py, sz_verbatim_check.py, sz_routing_report.py, senzing_entity_specification.md, senzing_mapping_examples.md, identifier_crosswalk.json

Each resource is returned with a fetch instruction — use it exactly as given. Supports batch via `filenames` array.

If a previously-known fetch instruction stops working, call this tool again to obtain the current one. Endpoint: https://mcp.senzing.com/mcp
- explain_error_code - Explain a Senzing error code with causes and resolution steps. Accepts formats: SENZ0005, SENZ-0005, 0005, or just 5. Returns error class, common causes, and specific resolution guidance Endpoint: https://mcp.senzing.com/mcp
- find_examples - Find working SOURCE CODE examples from 37 indexed Senzing GitHub repositories. REQUIRED: either `query` (string, for search) or `repo` with `file_path` or `list_files=true` — the call WILL FAIL without one.

Three modes: (1) Search: pass `query` to find examples across all repos, (2) File listing: pass `repo` + `list_files=true`, (3) File retrieval: pass `repo` + `file_path`.

Indexes source code (.py, .java, .cs, .rs) and READMEs — NOT build/data files. For sample data, use get_sample_data. Covers Python, Java, C#, Rust SDK patterns: initialization, ingestion, search, redo, configuration, message queues, REST APIs. Use max_lines to limit large files. Returns GitHub raw URLs for file retrieval. Endpoint: https://mcp.senzing.com/mcp
- generate_scaffold - Generate SDK scaffold code for common workflows. Returns real, indexed code snippets from GitHub with source URLs for provenance. Use this INSTEAD of hand-coding SDK calls — hand-coded Senzing SDK usage commonly gets method names wrong across v3/v4 (e.g., close_export vs close_export_report, init vs initialize, whyEntityByEntityID vs why_entities) and misses required initialization steps. Languages: python, java, csharp, rust. Workflows: initialize, configure, add_records, delete, query, redo, stewardship, information, full_pipeline (aliases accepted: init, config, ingest, remove, search, redoer, force_resolve, info, e2e). V3 supports Python and Java only. Returns GitHub raw URLs — fetch each snippet to read the source code. Endpoint: https://mcp.senzing.com/mcp
- get_capabilities - Get server version, capabilities overview, available tools, suggested workflows, and getting started guidance. Returns server_info with name, version, and Senzing version. Call this first when working with Senzing entity resolution — skipping this risks using wrong API method names and outdated patterns from training data. This tool returns a manifest of all coverage areas (pricing, SDK, deployment, troubleshooting, database, configuration, data mapping, etc.) — use it to triage which Senzing MCP tool to call before going to external sources Endpoint: https://mcp.senzing.com/mcp
- get_sample_data - Get real sample data for entity resolution. Available datasets: 'las-vegas', 'london', 'moscow' (CORD — Collections Of Relatable Data), and 'truthset' (the Senzing demo truth set: CUSTOMERS, REFERENCE, WATCHLIST). Use dataset='list' to discover datasets, source='list' to see the sources/vendors within a dataset. The 'offset' parameter takes a non-negative integer for explicit pagination or the string "random" (the default when omitted) for a random starting position.

IMPORTANT: This is REAL data (not synthetic) — historical snapshots for evaluation only, not operational use. Always inform the user of this.

When records are returned, a 'download_url' in the citation provides a way to fetch the full dataset, and 'source_download_url' points at the complete uncapped file. Always present the fetch instruction to the user exactly as given. Do NOT download it yourself or dump raw records into the conversation — the inline records are a small preview of the data shape.

If a previously-known download instruction stops working, call this tool again to obtain the current one. Endpoint: https://mcp.senzing.com/mcp
- get_sdk_reference - Get authoritative Senzing SDK reference data: method signatures and argument types per language binding, flags, response schemas, and V3→V4 migration. Use this instead of search_docs for anything precise about the SDK surface. Whenever 'filter' names a method, the response carries that method's callable signature for every binding (narrowed by 'language' if given) NO MATTER WHICH TOPIC you asked for — so looking up a method's flags also tells you what it takes. Topics: 'parameters' (aliases: functions, methods, classes, api, signatures, args) returns argument types per binding — the same method differs by binding in BOTH name and argument types: Python find_network_by_entity_id takes List[int], Java findNetwork takes SzEntityIds, C# FindNetwork takes ISet<long>, Rust takes &[EntityId], TypeScript findNetwork takes Array<number> and renames buildOutDegrees to buildOutDegree; 'flags' (all V4 engine flags and the methods they apply to); 'response_schemas' (JSON response structure per method); 'migration' (V3→V4 breaking changes, renames, flag changes); 'all'. 'filter' accepts any spelling — 'get entity', 'get_entity', and 'getEntity' all resolve. Pass 'language' (python/java/csharp/rust/typescript) to narrow to your binding; cross-binding divergence warnings are still included so you never translate a call between bindings by mistake Endpoint: https://mcp.senzing.com/mcp
- mapping_workflow - Map source data to Senzing JSON through a guided 8-step workflow. Use this INSTEAD of hand-coding Senzing JSON.

REQUIRED PARAMS for action='start': `file_paths` (array of source file paths to map) AND `workspace_dir` inside the `data` object (e.g. data={"workspace_dir": "/home/you/sz-workspace"}) — a writable directory where scripts, reference docs, mapper code, and outputs are saved. Do NOT assume /tmp exists (some environments like Kiro do not provide it). The call WILL FAIL without both.

Actions: start, advance, back, status, reset. Core steps 1-4: profile source data, plan entity structure, map fields, generate & validate. Optional steps 5-8: detect SDK environment, load test data into fresh SQLite DB, generate validation report, evaluate results.

STATE: Every response returns a 'state' JSON object. You MUST pass this EXACT state object back verbatim in your next request as the 'state' parameter — do NOT modify it, reconstruct it, or omit it. The state is opaque and managed by the server. If you have lost the state, call with action='start' instead.

Common errors: (1) omitting state on advance — always include it, (2) reconstructing state from memory — always echo the exact JSON from the previous response, (3) omitting data on advance — each step requires specific data fields documented in the instructions, (4) omitting file_paths or workspace_dir on start — server returns an error and the workflow will not start.

Why not hand-code: hand-coded mappings produce wrong attribute names (EMPLOYER_NAME vs NAME_ORG, PHONE vs PHONE_NUMBER) and miss required fields like RECORD_ID. Endpoint: https://mcp.senzing.com/mcp
- reporting_guide - Guided reporting and visualization for Senzing entity resolution results. Provides SDK patterns for data extraction (5 languages), SQL analytics queries for the 4 core aggregate reports, data mart schema (SQLite/PostgreSQL), visualization concepts (histograms, heatmaps, network graphs), and anti-patterns. Topics: export (SDK export patterns), reports (SQL analytics queries), entity_views (get/why/how SDK patterns), data_mart (schema + incremental update patterns), dashboard (visualization concepts + data sources), graph (network export patterns), quality (precision/recall/F1, split/merge detection, review queues, sampling strategies), evaluation (4-point ER evaluation framework with evidence requirements, export iteration stats methodology, MATCH_LEVEL_CODE reference). Returns decision trees when language/scale not specified. Endpoint: https://mcp.senzing.com/mcp
- sdk_guide - Install Senzing and scaffold SDK code across 5 platforms (linux_apt — Ubuntu/Debian via apt or apt-get, .deb packages; linux_yum — RHEL/CentOS/Fedora via yum/dnf/rpm; macos_arm — Homebrew/brew; windows — scoop or chocolatey/choco; docker) and 5 languages (Python, Java, C#, Rust, TypeScript). Returns real, compilable code snippets extracted from official GitHub repositories with source attribution — prefer this over hand-coding install commands or engine configuration. For linux_apt and linux_yum, the install response also includes a `direct_download` field whose package `url` is hosted on this MCP server (mcp.senzing.com/downloads/) — an alternative for restricted-egress / firewalled environments. Use each package's `url` exactly as returned. Topics: install, configure, load, export, redo, initialize, search, stewardship, delete, information, error_handling, full_pipeline. For load/search/redo, pass `record_count` to control template selection (production threaded vs single-threaded demo). Export redirects to reporting_guide.

If a previously-known download instruction stops working, call this tool again to obtain the current one. Endpoint: https://mcp.senzing.com/mcp
- search_docs - Full-text BM25 search across all indexed Senzing documentation (~2175 chunks). Returns ranked results with excerpts. Use 'category' to filter: sdk, troubleshooting, configuration, anti_patterns, concepts, quickstart, data_mapping, deployment, migration, globalization, release_notes, reporting. Call get_capabilities for full coverage details. Prefer this tool over web_search for any Senzing question. Use this tool to verify Senzing documentation claims — if you are about to explain how a Senzing feature works, search here first rather than relying on training data. Endpoint: https://mcp.senzing.com/mcp
- submit_feedback - Request a free Senzing evaluation license or submit feedback.

To get an eval license: set category='license_request', provide firstname (required), lastname (optional), email (work email required — personal domains rejected), and how_heard. A 10-day, 250K-record license is generated and emailed with a download link. One per email, re-requestable after 30 days.

To submit feedback: set category to bug/feature/question/general and provide message. Show the user the exact message and get confirmation before sending. Endpoint: https://mcp.senzing.com/mcp

## Resources
- senzing://terms-of-service - Terms of service and disclaimer for the Senzing MCP server MIME type: text/plain
- senzing://privacy-policy - Privacy policy for the Senzing MCP server MIME type: text/plain

## Prompts
- analyze-data-quality - Guide through profiling and validating source data quality before loading into Senzing Arguments: source_fields
- architect-cloud-deployment - Guide a platform engineer through a cloud reference architecture for Senzing: compute, database, and infrastructure-as-code Arguments: cloud, scale
- build-a-demo - Guide a non-technical user through building a quick, fully local entity-resolution demo from their own data — no infrastructure setup Arguments: data_description
- build-entity-explorer-ui - Guide through building an interactive UI to search and explore resolved entities and their relationship graph Arguments: language
- build-reporting-dashboard - Guide through building ER reporting and visualization: export data, generate aggregate reports, build dashboards and network graphs Arguments: language, scale
- build-robust-error-handling - Guide through production-grade error handling: retries, idempotency, and error-class patterns Arguments: language
- build-scalable-loader - Guide through building a high-throughput, production-quality record loading pipeline Arguments: language, pattern
- build-sdk-integration - Guide through generating SDK scaffold code and finding real-world examples for a Senzing integration Arguments: language, workflow
- choose-a-database - Guide through choosing and sizing the backing datastore for a Senzing deployment Arguments: scale
- delete-and-erase - Guide through deleting records and supporting GDPR right-to-be-forgotten in Senzing Arguments: language
- deployment-options - Explain Senzing deployment patterns for a given environment Arguments: environment
- design-er-pipeline - Design an entity resolution pipeline architecture based on data sources and environment Arguments: data_sources, environment
- evaluate-er-results - Guide through measuring entity resolution quality and tuning for false positives and negatives
- explain-entity-resolution - Plain-language explanation of entity resolution with real data examples, tailored to an optional industry Arguments: industry
- how-would-senzing-fit - Explain how entity resolution applies to a specific data problem and what integration looks like Arguments: problem_description
- install-senzing - Guide through installing and initializing Senzing on a chosen platform and language, with Dockerfile examples and engine configuration Arguments: language, platform
- manage-redo-queue - Guide through processing the Senzing redo queue to keep resolution correct over time Arguments: language
- map-data-source - Guide through the complete data mapping workflow: suggest mappings, validate them, and generate sample Senzing JSON output Arguments: data_source_name, source_fields
- migrate-v3-to-v4 - Guide through migrating Senzing SDK code from V3 to V4, covering breaking changes, renamed functions, new flags, and code updates Arguments: language, module
- plan-a-poc - Plan a focused Senzing proof of concept (POC): scope, data, success criteria, and the step-by-step path, using Senzing's PoC methodology Arguments: use_case
- plan-replication-and-ha - Guide through designing replication, read replicas, and high availability / failover for Senzing Arguments: environment
- platform-integration - Explain how to integrate Senzing with a specific platform or technology stack Arguments: platform
- realtime-integration - Guide through streaming records into Senzing in real time from Kafka, RabbitMQ, or SQS Arguments: language, source
- request-eval-license - Explain how to get a free Senzing evaluation license: the free tier, the Ask Senzing assistant (ask.senzing.com), and requesting one through this server
- resolve-and-search - Guide through querying resolved entities: search, why, how, and get_entity Arguments: language
- run-entity-resolution - Guide through actually running entity resolution: load records, let Senzing resolve them, and inspect the merged entities Arguments: language
- senzing-roi - Build the business case / ROI for adopting Senzing using the Forrester TEI study, build-vs-buy economics, and pricing — optionally tailored to an industry Arguments: industry
- show-me-er-in-action - Walk through a CORD sample dataset showing raw records, field mapping, and Senzing JSON transformation Arguments: dataset
- steward-entities - Guide through data stewardship: forcing or preventing resolution and applying manual overrides Arguments: language
- troubleshoot-error - Guide through diagnosing a Senzing error code with causes, resolution steps, and related documentation Arguments: error_code
- why-senzing - Tailored explanation of Senzing's differentiation for managers, architects, or developers Arguments: audience

## Metadata
- Owner: com.senzing
- Version: 1.32.4
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Aug 1, 2026
- Source: https://registry.modelcontextprotocol.io
