# 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. REQUIRED: pass `filename` (string) or `filenames` (array) — the call WILL FAIL without one.

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

HTTP mode returns URLs; stdio mode returns `sz-mcp-coworker extract` commands. Supports batch via `filenames` array.

Asset IDs are not stable across versions. If a previously-known ID fails to extract, call this tool again to obtain the current ID. 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 from CORD (Collections Of Relatable Data) datasets. Use dataset='list' to discover available datasets, source='list' to see vendors within a dataset.

IMPORTANT: CORD data is REAL (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. In HTTP mode this is a URL the user (or an automation) can curl; in stdio mode it is a `sz-mcp-coworker extract` command the user runs locally to pull bytes from the embedded bundle. Always present the fetch instruction to the user. Do NOT download it yourself or dump raw records into the conversation — the inline records are a small preview of the data shape.

Asset IDs are not stable across versions. If a previously-known ID fails to extract, call this tool again to obtain the current ID. Endpoint: https://mcp.senzing.com/mcp
- get_sdk_reference - Get authoritative Senzing SDK reference data for flags, migration, and API details. Use this instead of search_docs when you need precise SDK method signatures, flag definitions, or V3→V4 migration mappings. Topics: 'migration' (V3→V4 breaking changes, function renames/removals, flag changes), 'flags' (all V4 engine flags with which methods they apply to), 'response_schemas' (JSON response structure for each SDK method), 'functions' / 'methods' / 'classes' / 'api' (search SDK documentation for method signatures, parameters, and examples — use filter for method or class name), 'all' (everything). Use 'filter' to narrow by method name, module name, or flag name 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 (NAME_ORG vs BUSINESS_NAME_ORG, 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. In HTTP mode the package `url` is hosted on this MCP server (mcp.senzing.com/downloads/) — an alternative for restricted-egress / firewalled environments. In stdio mode the package `url` is a local `sz-mcp-coworker extract` command that pulls the .deb from the binary's embedded bundle. 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.

Asset IDs are not stable across versions. If a previously-known ID fails to extract, call this tool again to obtain the current ID. 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 - Submit feedback about the Senzing MCP server. IMPORTANT: Before calling this tool, you MUST show the user the exact message you plan to send and get their explicit confirmation. Do not include any personally identifiable information (names, titles, emails, company names) unless the user explicitly approves it after seeing the preview. Submissions are logged and reviewed by the Senzing team, but are effectively anonymous — the server does not capture sender identity, so we cannot follow up with the submitter. For direct help or follow-up, users should email support@senzing.com (free support) 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
- build-reporting-dashboard - Guide through building ER reporting and visualization: export data, generate aggregate reports, build dashboards and network graphs Arguments: language, scale
- 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
- 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
- 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
- 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
- platform-integration - Explain how to integrate Senzing with a specific platform or technology stack Arguments: platform
- show-me-er-in-action - Walk through a CORD sample dataset showing raw records, field mapping, and Senzing JSON transformation Arguments: dataset
- 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.8.2
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: May 20, 2026
- Source: https://registry.modelcontextprotocol.io
