Skip to main content
Glama
Ownership verified

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 13 of 13 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose, covering different aspects of Senzing entity resolution: data validation, resource downloads, error codes, code examples, scaffolding, capabilities, sample data, SDK reference, guided workflows, reporting, installation, documentation search, and feedback submission. No two tools have overlapping functions that would cause confusion.

Naming Consistency4/5

Tool names predominantly follow a verb_noun pattern (analyze_record, download_resource, explain_error_code, find_examples, generate_scaffold, get_capabilities, etc.). Minor deviations like 'mapping_workflow' (gerund_noun) and 'reporting_guide', 'sdk_guide' (noun_noun) are present but do not significantly harm predictability.

Tool Count5/5

With 13 tools, the server is well-scoped for its purpose as a helper/guide for Senzing entity resolution. Each tool addresses a specific task in the developer workflow, from initial capability checks to sample data, documentation, and mapping assistance. The count feels neither sparse nor bloated.

Completeness5/5

The tool set covers the full spectrum of tasks a developer would need when integrating Senzing: understanding capabilities, validating data, mapping data, finding examples and scaffold code, accessing sample data, SDK references, documentation search, error explanation, reporting guidance, installation guide, and feedback/licensing. There are no obvious gaps for the stated purpose.

Available Tools

13 tools
analyze_recordA
Read-onlyIdempotent
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNoSenzing version (default: "current").current
file_pathsNoFile paths to analyze (Senzing JSON or JSONL files). Commands will be generated for each path.
workspace_dirYesREQUIRED: Workspace directory for the analyzer script and any generated reports. Must be a writable absolute or relative path that already exists in your environment. Do NOT assume `/tmp` exists — some environments (e.g. Kiro) do not provide it. Typical values: Linux: `/tmp` or `~/sz-workspace`; macOS: `~/sz-workspace`; Kiro/sandboxed: an explicit path under `~`, e.g. `~/sz-workspace`. Declared as a non-optional `String` (no `#[serde(default)]`) so it appears in the generated JSON `inputSchema` `required` array. The prose has always said REQUIRED, but as an `Option` it was schema-optional, so schema-respecting clients omitted it and looped on the `needs_param` guidance. An empty string still deserializes; the handler catches that and returns the guidance as an `isError` result.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses key behaviors: the tool returns a Python script with instructions, no source data is sent to the server, and it validates records and examines data quality. This adds significant context beyond the annotations (readOnlyHint, idempotentHint, destructiveHint).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: it starts with the tool's purpose, then details requirements, functionality, and workspace_dir specifics. Every sentence adds value, with no redundancy or wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 3 parameters, no output schema, and no nested objects, the description fully covers what the agent needs: it explains the return type, prerequisites, behavior, and provides examples. The annotations and schema complement this well, making the definition complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds substantial meaning beyond the input schema, especially for 'workspace_dir' by explaining its criticality, typical values, and environment-specific considerations. The schema already covers 100% of parameters, but the description provides practical guidance that enhances agent understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a Senzing JSON analyzer script for client-side validation. It specifies the verb 'Get' and the resource 'analyzer script', making the purpose distinct from sibling tools which cover different functionalities like downloading or searching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear prerequisites, notably the 'workspace_dir' requirement and typical values. However, it does not explicitly compare to alternative tools or state when not to use this tool, which would elevate the score to 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

download_resourceA
Read-onlyIdempotent
Inspect

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
inlineNoReturns resource content inline instead of URLs. ALWAYS try with inline=false (default) first — only set inline=true if the URL fetch fails. Inline responses consume more context tokens.
versionNoSenzing version (default: "current").current
filenameNoResource filename to retrieve (e.g. "sz_json_analyzer.py", "senzing_entity_specification.md"). Ignored when `filenames` is provided.
filenamesNoMultiple resource filenames to retrieve in a single call. Takes precedence over `filename` when provided.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnly, idempotent), description adds details: returns list if no params, asset IDs unstable, mode differences (HTTP vs stdio), inline token consumption warning. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured and front-loaded with purpose. A few extra sentences on available resources could be separate but are helpful. Not overly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description explains return types (URLs, commands, inline) and behavior with no parameters. Also warns about token cost and version instability. Fully complete for a download tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters with descriptions. The description adds crucial usage context (inline=false first, filename/filenames precedence, version defaults), exceeding schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool downloads resources by name, lists available resources, and explains behavior when no filename is provided. It distinguishes itself from siblings which focus on analysis, not downloading.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear guidance on filename vs filenames precedence and inline parameter usage. Lacks explicit when-not-to-use instructions but siblings are distinct, so this is minor.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explain_error_codeA
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNocurrent
error_codeYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly and idempotent. Description adds accepted input formats and output details (error class, causes, resolution), which is valuable beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, efficient and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, input formats, and output content. Missing prerequisites or existence checks, but sufficient for a simple lookup tool with good annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% coverage; description explains error_code format but not version parameter. Adequate compensation for the main parameter but ignores optional one.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool explains Senzing error codes with causes and resolution steps. Distinguishes itself from sibling tools like analyze_record or search_docs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Indicates when to use: to explain an error code. No explicit exclusions or alternatives, but context is straightforward for a lookup tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_examplesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoFilter to a specific indexed repo (e.g. "brianmacy/sz_mem-v4"). When combined with file_path, returns full file content. When combined with list_files, returns file listing.
queryNoSearch query (required for search mode, optional when using repo+file_path or repo+list_files)
languageNoFilter results by programming language (e.g. "python", "java", "csharp", "rust")
file_pathNoReturn full content of a specific file in the repo (requires repo parameter)
max_linesNoMaximum lines to return for file content (default: unlimited). Useful for large files.
list_filesNoReturn the file listing for a repo instead of searching (requires repo parameter)
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive. Description adds indexed file types, excluded files, three modes, max_lines behavior, and output format (GitHub raw URLs), providing full behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is long but well-structured: first paragraph gives critical requirements and modes, second paragraph details content and capabilities. Every sentence adds value, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given complexity (6 params, 3 modes, no output schema), description is thorough: covers modes, parameter combos, indexed content, output format, and limitations (max_lines, excluded files).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds value by linking parameters to modes, clarifying query requirement, and explaining max_lines purpose, going beyond schema details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool finds working source code examples from 37 indexed repos, specifying the resource and action. It distinguishes from siblings like get_sample_data and search_docs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly describes three modes with required parameter combinations and warns of failure without proper setup. Mentions alternative get_sample_data for data files, but lacks when-not-to-use for other siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_scaffoldA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNoSenzing version: "4.0", "current", or "3.x". V3 supports Python and Java onlycurrent
languageYesProgramming language: python, java, csharp (or c#, cs, dotnet), rust (or rs), typescript (or ts, node, nodejs, javascript, js)
workflowYesWorkflow to scaffold: initialize, configure, add_records, delete, query, redo, stewardship, information, error_handling, full_pipeline. Aliases accepted (e.g. init, config, ingest, remove, search, redoer, force_resolve, info, error, retry, e2e)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that the tool returns URLs to fetch, not the code itself, and mentions indexing and provenance. Annotations already cover safety (readOnlyHint, idempotentHint), so description adds useful behavioral context beyond structured data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is about 5 sentences, front-loaded with purpose and usage guidance. It is informative without being verbose, though could be slightly more concise by grouping details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, no output schema), the description fully explains the return format (URLs to fetch), supported values, and aliases. No gaps for agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds significant value: list of languages with aliases, workflows with aliases, and version constraints (V3 supports Python and Java only). This exceeds minimal schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Generate') and resource ('SDK scaffold code'), clearly distinguishing it from sibling tools like analyze_record or search_docs. It explicitly mentions the source (GitHub) and provenance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises using this tool INSTEAD of hand-coding SDK calls, citing common errors. Lists supported languages and workflows with aliases, providing clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_capabilitiesA
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNocurrent
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, idempotentHint, destructiveHint false), the description discloses that it returns server_info with name, version, Senzing version, and a manifest of coverage areas. It also warns about risks of skipping, adding valuable context not present in annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is thorough and front-loaded with purpose, but is slightly verbose. However, every sentence adds value, and the structure is logical, moving from purpose to usage guidance to return content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers return content and usage context, it omits explanation of the 'version' parameter, which is the only input. Given no output schema, the description should fully define the input's role to be complete. This gap reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has an optional 'version' parameter with default 'current', but the description does not explain its purpose or behavior. With 0% schema coverage, the description should compensate but fails to clarify how this parameter affects the output, leaving agents without guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the tool's purpose: retrieving server version, capabilities overview, available tools, suggested workflows, and getting started guidance. It uses specific nouns and distinguishes itself from sibling tools by positioning itself as the first triage tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: 'Call this first when working with Senzing entity resolution... skipping this risks using wrong API method names...' It also advises using it to triage before external sources, effectively telling the agent when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sample_dataA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNoRecord offset. Use a number for explicit pagination, or "random" for a random starting position. Omit for random.
sourceNoFilter by data source/vendor within a dataset (e.g., "equifax", "ppp_loans"). Omit to see all sources. Use "list" to list available sources.
datasetYesDataset name (e.g., "las-vegas", "london", "moscow"). Use "list" to discover available datasets and their sources. (Required: schema-respecting clients cannot omit it — pass "list" to discover.)
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already state readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds important behavioral context: data is real (not synthetic), historical snapshots for evaluation only, not for operational use, and asset IDs are not stable. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is well-structured with clear sections and front-loaded main purpose. Each sentence adds value, though it is slightly lengthy. Could be trimmed but overall effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but description explains the preview nature of returned records and the download_url behavior in different modes (HTTP vs stdio). It also warns about asset ID instability and provides instructions for when extraction fails. This is complete for the tool's purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% (limit lacks description). The description adds meaning by explaining that dataset='list' discovers datasets, source='list' shows vendors, and offset can be 'random'. This goes beyond schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Get real sample data from CORD datasets' which is a specific verb+resource. It distinguishes itself from siblings like analyze_record or download_resource by focusing on retrieving sample data and includes special features like listing datasets/sources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit instructions are given for discovering available datasets (dataset='list') and sources (source='list'). It also provides critical usage guidance (inform user data is real, do not download yourself, present fetch instructions). However, it does not explicitly mention when not to use this tool vs alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sdk_referenceA
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic: "migration", "flags", "response_schemas", or "all"
filterNoOptional filter: method name, module name, or flag name to narrow results
versionNoSenzing version (default: "current")current
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover safety (readOnly/idempotent), so description appropriately focuses on content behavior: explains 'authoritative' data types and details what each topic returns (breaking changes, flag mappings, JSON schemas). No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences with zero waste: purpose statement → sibling differentiation → topic enumeration with parenthetical explanations → filter usage. Front-loaded with clear intent; enumeration is necessary given string-type parameter without strict enum constraints.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but description compensates by detailing return content for each topic. With 100% schema coverage and comprehensive annotations, the description successfully rounds out the specification by explaining topic-specific return structures.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While schema has 100% coverage, description adds critical enumerations and semantics: lists all valid topic values ('functions', 'methods', 'classes', 'api' in addition to schema's basic list) and explains what data each returns. Clarifies filter parameter usage patterns with specific examples (method name, module name).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Excellent specific purpose: 'Get authoritative Senzing SDK reference data for flags, migration, and API details.' Clearly identifies resource (SDK reference) and scope. Explicitly distinguishes from sibling tool search_docs, preventing confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit directive: 'Use this instead of search_docs when you need precise SDK method signatures...' provides clear when-to-use vs alternative. Topic enumeration further guides selection (use 'migration' for V3→V4 changes, 'flags' for engine flags, etc.).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mapping_workflowA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNoStep-specific data (for "advance" action). Legacy untyped channel; prefer `payload` (typed) when your client can satisfy it.
stateNoWorkflow state from previous response (required for all actions except "start"). CRITICAL: Pass the EXACT 'state' JSON object from the previous mapping_workflow response verbatim — do NOT reconstruct, modify, or omit any fields. If you have lost the state, call with action='start' instead.
actionNoAction to perform. ONLY these values are valid: start, advance, back, status, reset.
payloadNoTyped step payload for the "advance" action (H16). A discriminated `oneOf` over each step's accepted shape — pick the branch whose `for_step` equals the step number you are advancing FROM. When present it is merged over `data` (payload wins); when absent, behavior is identical to sending `data`.
versionNoSenzing version (default: "current").current
file_pathsNoSource file paths (required for "start" action).
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description contradicts annotations: annotations state readOnlyHint=true, but description describes file creation (scripts, reference docs, mapper code, outputs saved to workspace_dir), implying mutation. This is a serious inconsistency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is well-structured with sections (actions, required params, state, common errors) and front-loads core purpose. However, it is verbose and could be more concise; every sentence adds value but the length could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the 8-step workflow and detailed schema, the description covers all necessary aspects: actions, state management, required parameters, common errors, and reasons to use this tool. It is complete for an AI agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds practical guidance beyond schema: explains required params for start (file_paths, workspace_dir), imperative that state be passed verbatim, and covers common errors. This enhances usability.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Map source data to Senzing JSON through a guided 8-step workflow' and specifies it should be used instead of hand-coding, providing a specific verb and resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this INSTEAD of hand-coding Senzing JSON' and explains why hand-coding is error-prone. Also provides context for when to use start vs other actions and warns about common errors.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reporting_guideA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNoScale tier. Omit to get the scale decision tree.
topicYesTopic: "export", "reports", "entity_views", "data_mart", "dashboard", "graph", "quality", "evaluation"
versionNoSenzing version (default "current")current
languageNoProgramming language. Omit to get the language decision tree.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations confirm read-only safety (readOnlyHint=true, destructiveHint=false), so the description appropriately focuses on content behavior rather than safety. It adds valuable behavioral detail: the conditional return of 'decision trees' when optional parameters are omitted, and explicitly lists the 8 topic domains covered, preventing surprise about the breadth of guidance provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences with zero waste: sentence 1 establishes scope, sentence 2 lists cross-language capabilities and artifacts, sentence 3 maps the topic parameter to specific content types, and sentence 4 explains conditional behavior. Every clause delivers actionable information about tool capabilities.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (covering 8 distinct technical domains from SQL analytics to network graphs) and lack of output schema, the description adequately previews return content types (patterns, queries, schemas, anti-patterns) and conditional behaviors. A minor gap is the lack of explicit output format indication (text vs structured), though the content descriptions imply text/documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the baseline is 3, but the description elevates this by explaining the semantic consequence of omitting 'language' and 'scale' parameters (triggers decision tree responses). It also implicitly validates the 'topic' enum by listing all 8 valid values with their semantic meanings in parentheses.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with the specific scope ('Guided reporting and visualization for Senzing entity resolution results') and enumerates distinct deliverables (SDK patterns, SQL queries, data mart schemas, visualization concepts). This clearly distinguishes it from siblings like sdk_guide (general SDK usage) or mapping_workflow by focusing specifically on reporting output and analytics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for what the tool delivers (guidance on 8 specific topics from export to evaluation) and hints at the interactive selection pattern ('Returns decision trees when language/scale not specified'). While it doesn't explicitly name sibling tools to avoid, the scope is distinct enough that the agent can infer appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sdk_guideA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic: "install", "configure", "load", "export", "redo", "initialize", "search", "stewardship", "delete", "information", "error_handling", or "full_pipeline"
versionNoSenzing version (default "current")current
languageNoProgramming language. Omit to get the language decision tree.
platformNoTarget platform. Omit to get the platform decision tree.
data_sourcesNoData sources to register (for configure topic)
record_countNoExpected operation volume — number of records (load), queries (search), or pending redos (redo). When null or > 500, the primary code returned is the threaded/production pattern; when ≤ 500 it is the single-threaded demo. Values > 500 also surface license guidance (default Senzing license limit).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable context beyond annotations: 'Returns real, compilable code snippets extracted from official GitHub repositories with source attribution,' and details the package URL behavior in HTTP vs. stdio modes. It also warns that 'Asset IDs are not stable across versions.' No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is fairly long and contains many details. While all sentences are relevant, the structure could be improved (e.g., bullet points for modes, topics). It is front-loaded with the core purpose but becomes dense with specifics. It is appropriately sized for the complexity but leans toward verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, many topics, and platform/language variations, the description covers essential contextual details: HTTP vs. stdio mode, direct_download field, record_count thresholds, asset ID instability, and redirect to reporting_guide. No output schema exists, but the description compensates by explaining return features (direct_download, url). The description appears sufficient for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter has a baseline description. The tool description adds significant meaning: for record_count, it explains the threshold for production vs. demo patterns and license guidance; for topic, it lists all valid topics (matching schema but reinforcing); for language and platform, it notes that omitting returns a decision tree. This additional context helps an agent select appropriate values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly defines the tool's purpose: 'Install Senzing and scaffold SDK code across 5 platforms and 5 languages.' It specifies the verb (install/scaffold), resource (Senzing SDK code), and scope (platforms/languages). The title 'SDK Setup Guide' aligns and the description distinguishes from sibling tools by stating 'prefer this over hand-coding install commands or engine configuration.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance, such as 'prefer this over hand-coding install commands or engine configuration.' It also explains context-specific behavior: 'For load/search/redo, pass record_count to control template selection' and 'Export redirects to reporting_guide.' It gives alternative actions: 'If a previously-known ID fails to extract, call this tool again to obtain the current ID.' While clear, it does not explicitly cover when not to use (e.g., for simple queries where search_docs might be more appropriate).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_docsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
versionNocurrent
categoryNo
max_resultsNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds that it returns ranked results with excerpts and supports category filtering, providing useful context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise with front-loaded purpose and usage guidelines. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters and no output schema, the description covers the main purpose and one parameter (category), and points to get_capabilities for more. It lacks detail on version and max_results, but overall adequate for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so description must compensate. It explains 'query' implicitly and 'category' with a list of values, but does not mention 'version' or 'max_results'. Thus partially helpful but incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it performs full-text BM25 search across indexed Senzing documentation, specifying the resource and action. It distinguishes from siblings by noting 'Prefer this tool over web_search for any Senzing question.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use this tool (for Senzing documentation questions) and when not to (over web_search). Also instructs to call get_capabilities for full coverage details and to verify claims before explaining.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_feedbackA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoWork email address (required for license_request — personal email domains not accepted)
messageNoFeedback message (required for bug/feature/question/general)
categoryNoCategory: bug, feature, question, general, or license_request
lastnameNoLast name of the requester (optional for license_request)
firstnameNoFirst name of the requester (required for license_request)
how_heardNoHow the requester heard about Senzing (required for license_request)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds context about what happens (email with license, one per email, 30-day wait) beyond annotations. Annotations indicate destructiveHint=true but description does not contradict; it's consistent with creating a license record. No mention of rate limits, but sufficient for this tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is well-structured with two paragraphs, each dedicated to a use case. Sentences are informative but concise; no wasted words. Could be slightly shorter, but clarity is prioritized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers both use cases with required parameters and outcomes for license request. For feedback, it lacks explicit return value but includes instruction to confirm with user. Output schema is absent, so description partially compensates. Fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with descriptions. Description adds value by clarifying which parameters are required for each category (e.g., firstname required for license, email domain restrictions), improving semantic understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states two purposes: requesting a license and submitting feedback. Uses specific verbs and resources, and distinguishes from sibling tools which are unrelated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use each category (license_request vs. other categories), provides requirements for each, and instructs to confirm with user before sending feedback. No sibling tool overlaps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources