senzing-entity-resolution — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited senzing-entity-resolution (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill whenever a task involves entity resolution, record linkage, deduplication, or any interaction with the Senzing platform.
Senzing provides real-time AI-powered entity resolution as an embeddable SDK. It determines when two records refer to the same real-world entity (person, organization, etc.) by analyzing names, addresses, identifiers, and other attributes across data sources — without training data or manual rules.
The Senzing MCP server is a remote server. Connect it to your client:
Claude Code:
claude mcp add --transport http senzing https://mcp.senzing.com/mcpClaude Desktop / Other MCP Clients — add to your MCP config:
{
"mcpServers": {
"senzing": {
"type": "url",
"url": "https://mcp.senzing.com/mcp"
}
}
}The server works from pre-fetched documentation — it never connects to live Senzing instances and never handles PII. It also hosts official Senzing SDK .deb packages at /downloads/ for direct download in firewalled environments — sdk_guide returns download URLs and install commands automatically.
Start any Senzing session by calling get_capabilities for an up-to-date tool listing and suggested workflows.
| Tool | Purpose |
|---|---|
mapping_workflow | Interactive 7-step workflow: profile source data → plan entities → map fields → generate code → QA. State is client-side — always pass state back. |
lint_record | Returns a Python linter script to validate mapped Senzing JSON/JSONL files locally. No data leaves the client. |
analyze_record | Returns a Python analyzer script to examine feature distribution, attribute coverage, and data quality locally. |
download_resource | Fallback for fetching workflow resources (linter, analyzer, entity spec, mapping examples) when network restrictions block direct download. |
| Tool | Purpose |
|---|---|
search_docs | Full-text search across entity specification, SDK guides, quickstarts, database tuning, pricing, architecture, globalization, EDA/data analysis, engine configuration, error codes, release notes, and PoC methodology. Prefer this over web search for any Senzing question. Use category='anti_patterns' to check for known pitfalls before recommending installation, architecture, or deployment approaches. |
get_sdk_reference | Authoritative SDK reference: method signatures, flags, response schemas, V3→V4 migration mappings. Topics: migration, flags, response_schemas, functions/methods/classes/api (search SDK docs by method or class name), all. Use filter to narrow by method, module, or flag name. |
find_examples | Search 27+ indexed GitHub repos for working code (Python, Java, C#, Rust, TypeScript/Node.js). Three modes: search by query, list files in a repo, or retrieve a specific file. Results include truncation metadata — drill into truncated files with file_path. |
| Tool | Purpose |
|---|---|
sdk_guide | Guided SDK setup across 5 platforms (Linux apt/yum, macOS, Windows, Docker) and 4 languages. Covers install, configure, load, export, full_pipeline with decision trees, anti-patterns, and direct package download links for firewalled environments. |
generate_scaffold | Generates SDK scaffold code from real indexed GitHub snippets with source URLs for provenance. 10 workflows (initialize, configure, add_records, delete, query, redo, stewardship, information, error_handling, full_pipeline) in Python, Java, C#, Rust, or TypeScript/Node.js (V4); Python (V3). Returns multiple snippet variants per workflow. |
| Tool | Purpose |
|---|---|
get_sample_data | Real data from CORD (Collections Of Relatable Data): las-vegas (US, 11 sources), london (international, 5 sources), moscow (Cyrillic, 6 sources). Use dataset='list' to discover available sets. Always present the download_url to the user. |
| Tool | Purpose |
|---|---|
reporting_guide | Guided reporting and visualization for entity resolution results. Provides SDK patterns for data extraction (Python, Java, C#, Rust, TypeScript/Node.js), SQL analytics queries for aggregate reports, data mart schema (SQLite/PostgreSQL), visualization concepts, and anti-patterns. Topics: export, reports, entity_views, data_mart, dashboard, graph. |
| Tool | Purpose |
|---|---|
explain_error_code | Explains any of 456 Senzing error codes with causes and resolution steps. Accepts SENZ0005, SENZ-0005, 0005, or just 5. |
| Tool | Purpose |
|---|---|
get_capabilities | Server version, capabilities overview, available tools, suggested workflows, and getting started guidance. Call this first in any Senzing session. |
submit_feedback | Send feedback to the MCP server maintainer. Always preview the message with the user and get explicit confirmation before sending. Never include PII unless the user approves. |
This is the most common workflow. Follow these steps:
mapping_workflow with action='start' and the source file paths.state object from the previous response.lint_record to validate the output JSON.analyze_record to check feature distribution and coverage.download_resource.Tips:
sdk_guide with topic='install' — it returns a platform decision tree.topic='install', platform='linux_apt').direct_download with.deb package URLs from mcp.senzing.com/downloads/ — no apt repo needed.
sdk_guide with topic='configure' for engine configuration code.sdk_guide with topic='load' for record loading code.topic='full_pipeline' for install + configure + load + export in one call.generate_scaffold with the target language and workflow.workflow='initialize' for engine setup.workflow='add_records' for record loading.workflow='full_pipeline' for an end-to-end example.find_examples to find real-world usage patterns.search_docs for API details and deployment guidance.explain_error_code with the code from the user's logs.search_docs for additional context on the error class.search_docs — learn about architecture (embedded SDK, air-gapped deployment).search_docs with query "pricing" — DSR pricing model.get_sample_data — get real test data from CORD datasets.generate_scaffold with workflow='full_pipeline' — end-to-end example.get_sdk_reference with topic='migration' — all breaking changes.topic='migration', filter='SzEngine'.get_sdk_reference with topic='flags' — new flag system (SZ_WITH_INFO replaces WithInfo functions).reporting_guide with topic='export' and your language to get data extraction code.reporting_guide with topic='reports' to get SQL for the 4 core aggregate reports.reporting_guide with topic='data_mart' to get the analytical schema and incremental update patterns.reporting_guide with topic='dashboard' for visualization concepts and chart data sources.reporting_guide with topic='graph' for network graph export patterns.Before recommending installation, architecture, or deployment approaches:
search_docs with category='anti_patterns' and a query describing what you plan to recommend.sdk_guide also returns topic-specific anti-patterns inline.search_docs with your platform (e.g., "docker quickstart", "AWS deployment").search_docs for database setup (PostgreSQL, MySQL, MSSQL).search_docs for engine configuration and tuning guidance.generate_scaffold with workflow='initialize' for your language.These rules are non-negotiable. Violating them produces incorrect output.
mapping_workflow. Training data produceswrong attribute names (e.g., BUSINESS_NAME vs correct NAME_ORG).
generate_scaffold or get_sdk_reference.Methods changed between V3 and V4.
search_docs(query="topic", category="anti_patterns").
search_docs covers pricing,architecture, deployment, SDK, database tuning, globalization, and more. It reflects current releases — prefer it over training knowledge.
get_capabilities rather than assumingtool names from this file or training data.
The MCP server indexes authoritative content that may not rank well on the web.
mapping_workflow — the server is stateless,all workflow state lives in the client.
lint_record and analyze_recordtools return scripts that run locally. The mapping workflow sends field names and schema — not row-level data.
get_sample_data results directly to the user.Do not dump raw CORD records into the conversation — they are a preview only.
version. Use "current" for thelatest Senzing version unless the user specifies V3 (use "3.x").
When discussing Senzing with users, these terms are important:
or more records across data sources.
SSN, PASSPORT, etc. Senzing supports 100+ features across 30+ feature types.
Every record must have a DATA_SOURCE and RECORD_ID.
one record loaded into the engine.
User: "I have a customer CSV at /data/customers.csv I need to load into Senzing"
→ Call mapping_workflow(action='start', file_paths=['/data/customers.csv'])
→ Walk through all 5 steps, passing state each time
→ Run lint_record on the output JSONL
→ Run analyze_record to check qualityUser: "Help me install and set up the Senzing SDK on Ubuntu"
→ Call sdk_guide(topic='install', platform='linux_apt', version='current')
→ Present install commands and engine config
→ If user has firewall issues, use the direct_download URLs from the response
→ Call sdk_guide(topic='configure', platform='linux_apt', language='python', version='current')
→ Present configuration codeUser: "Write me Python code to initialize Senzing and load records"
→ Call generate_scaffold(language='python', version='current', workflow='initialize')
→ Call generate_scaffold(language='python', version='current', workflow='add_records')
→ Combine and present the codeUser: "I'm getting SENZ7234 when loading records"
→ Call explain_error_code(error_code='7234', version='current')
→ Present causes and resolution steps
→ Use search_docs if additional context is needed~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.