analyze_record
Get the Senzing JSON analyzer script with commands to validate and analyze mapped data files client-side. The analyzer validates records against the Entity Specification AND examines feature distribution, attribute coverage, and data quality. Returns the Python script (no dependencies) with instructions. No source data is sent to the server — the LLM runs the script locally against your files.
download_resource
Download workflow resources. Returns URLs — download and save to disk. Supports batch: pass `filenames` (array) to retrieve multiple resources in one call, or `filename` (string) for a single resource. Available resources: sz_json_analyzer.py, sz_schema_generator.py, senzing_entity_specification.md, senzing_mapping_examples.md, identifier_crosswalk.json
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
find_examples
Find working SOURCE CODE examples from 27 indexed Senzing GitHub repositories. Indexes only source code files (.py, .java, .cs, .rs) and READMEs — NOT build files (Cargo.toml, pom.xml), data files (.jsonl, .csv), or project configuration. For sample data, use get_sample_data instead. Covers Python, Java, C#, and Rust SDK usage patterns including initialization, record ingestion, entity search, redo processing, and configuration. Also includes message queue consumers, REST API examples, and performance testing. Supports three modes: (1) Search: query for examples across all repos, (2) File listing: set repo and list_files=true to see all indexed source files in a repo, (3) File retrieval: set repo and file_path to get full source code. Use max_lines to limit large files. Returns GitHub raw URLs for file retrieval — fetch to read the source code.
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.
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
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 direct JSONL download link. Always present this download_url 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.
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
mapping_workflow
Map source data to Senzing entity resolution format through a guided 8-step workflow. 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. Use this INSTEAD of hand-coding Senzing JSON — hand-coded mappings commonly 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. Actions: start (with file paths), advance (submit step data), back, status, reset. CRITICAL: Every response includes 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. 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.
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.
sdk_guide
Guided Senzing SDK setup across 5 platforms (linux_apt, linux_yum, macos_arm, windows, docker) and 5 languages (Python, Java, C#, Rust, TypeScript). Returns real, compilable code snippets extracted from official GitHub repositories with source attribution. Use this INSTEAD of hand-coding install commands or engine configuration — hand-coded setups commonly get paths wrong (CONFIGPATH, RESOURCEPATH, SUPPORTPATH), miss the SQLite schema creation step, skip EULA acceptance, and produce invalid SENZING_ENGINE_CONFIGURATION_JSON. Two use cases: (1) Quick test load — install Senzing locally, load mapped data into SQLite, and verify entity resolution results. No external database needed. (2) Build your own pipeline — get platform-specific install commands, SDK configuration code, record loading templates, and export patterns for production use. Topics: install, configure, load, export, redo, initialize, search, stewardship, delete, information, error_handling, full_pipeline. Export delegates to generate_scaffold. Returns decision trees when platform/language not specified.
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.
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. Feedback is reviewed by the Senzing team. Feedback is not anonymous — submissions are logged and reviewed