Senzing is Needs Work to agents.
Discry independently scored how well an AI agent can discover and understand the Senzing API from what’s public — not whether it’s usable. Below: every signal we checked, what’s costing the score, and what to change.
SCORED UNDER RUBRIC 1.2 · A full re-launch under Discry Score 2.5 — a new behavioral instrument, not comparable to these scores — is in progress.
Discovery
45% of score · 43/100Comprehension
55% of score · 96/100What we found
- Comprehension is exceptional (96/A): an agent that reaches the docs gets task-oriented SDK module descriptions, realistic mapped-JSON examples (real names, addresses, phone/email formats), a canonical entity specification for field naming, and full end-to-end quickstarts — everything needed to go from install to entity resolution without guessing.
- Senzing is one of the most deliberately agent-native APIs scanned: it ships an official hosted MCP server (mcp.senzing.com/mcp, 13 tools, no auth) covering data mapping, SDK scaffolding, error explanation and sample data, plus a dedicated /docs/agentic page and agent-skill repos (senzing-mcp-skill, mapper-ai for Claude Code/Cursor/Windsurf).
- Discovery scores poorly (43/D) despite that agent-readiness — the classic static signals are missing: no llms.txt, no llms-full.txt, and no /.well-known/mcp.json at the root domain. Senzing built a full MCP server but never dropped the lightweight files an agent checks first.
- An agent looking for a machine-readable contract finds only a partial answer: a public OpenAPI spec exists (github.com/senzing-garage/senzing-rest-api-specification) but it describes the legacy REST API server, not the primary v4 SDK the docs center on.
- The API is highly findable through the agent ecosystem rather than the file system: it's listed as an official server on all three major MCP registries (PulseMCP, Smithery, Glama), and robots.txt places no blocks on AI crawlers.
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Add an llms.txt at senzing.com/llms.txt (and a fuller llms-full.txt) that names the product, links the quickstarts, entity specification, per-language SDK references, error-code guidance, and the MCP server URL — the single highest-impact discovery fix given how strong the underlying docs already are.
- 02Publish /.well-known/mcp.json on the root domain pointing to the existing hosted MCP server (mcp.senzing.com/mcp). The server already exists with no auth; exposing it via the standard discovery path lets agents auto-detect it instead of relying on a docs page.
- 03Add an AGENTS.md to the primary SDK repos (sz-sdk-python-core and siblings) consolidating the coding-agent context that currently lives only in the separate senzing-mcp-skill / mapper-ai repos.
- 04Surface a machine-readable contract for the v4 SDK surface (e.g. a published typed spec or JSON schema for the entity specification and SzEngine methods) so the OpenAPI signal reflects the current product rather than only the legacy REST server.
- 05Include the Hugo docs subsite (senzing.com/docs/*) in a sitemap referenced by robots.txt so quickstarts and SDK reference pages are crawlable — today robots.txt only references the WordPress marketing sitemaps.
Execution coverage · INFORMATIONAL, UNSCORED
Whether an agent can actually complete a call and recover from errors is the deeper Audit layer — documented here, but not part of the Discry Score.
Senzing v4 is a locally-embedded SDK (C#/Java/Python/Rust) rather than a hosted REST API, so traditional REST execution concerns partly don't apply. Error handling is well documented via numbered SENZ codes with causes and resolution steps; access is gated by a EULA-based license (500 free records; 10-day/250K eval), the hosted MCP server needs no auth. Records are keyed by DATA_SOURCE + RECORD_ID giving idempotent upsert semantics, and export uses documented cursor/iteration patterns. There are no HTTP rate limits — throughput is hardware- and license-record-bound.