Skip to main content
Glama

kya_principal_match

Read-only

Signed answer ($0.01) for a person's agent (principal.kind person): does the CPF you already have match the e-CPF holder behind it? On a match, a subject_ref of your own for that person (stable for you, different for every verifier). The CPF is never stored, published or revealed; 3 non-matching answers per credential stop your checks. The person sees every check.

Input Schema

NameRequiredDescriptionDefault
cpfYesThe CPF you already have for this person; used for the comparison only, never stored.
credential_idYescredential_id returned by kya_register.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the readOnlyHint/openWorldHint annotations, it discloses price ($0.01), a hard rate limit (3 non-matching answers per credential stop checks), a privacy guarantee (CPF never stored, published, or revealed), a side effect (the person sees every check), and the match return (a verifier-specific subject_ref). This is rich operational context an agent cannot get from structured fields.

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?

Dense but front-loaded: cost and scope lead, then match output, then privacy/limit/notification constraints. Every clause carries information. Slightly marred by the clipped fragment 'On a match, a subject_ref of your own for that person', which reads as a sentence stub.

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?

With no output schema, the description usefully states the return value (subject_ref on match) and covers cost, rate-limiting, privacy, and notification. For a simple two-parameter paid check, this is close to complete; only the non-match return shape is left implicit.

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 100%, so both cpf and credential_id are already documented in the schema (cpf used for comparison only, credential_id returned by kya_register). The description reinforces the CPF's comparison-only/never-stored role but adds no syntax or format detail beyond the schema. Baseline 3 applies.

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

Purpose4/5

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

The description names a specific operation and resource: a signed yes/no answer on whether a supplied CPF matches the e-CPF holder behind a credential, scoped to a person's agent (principal.kind person). This is clearly distinguishable from prove/verify siblings. It stops short of explicitly naming which sibling to prefer, but the matching semantics are concrete.

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

Usage Guidelines3/5

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

It implies the scenario (you already hold a CPF and want to check it against the e-CPF holder) and names the scope (person-kind principal), but gives no explicit when-to-use/when-not guidance or named alternatives among the many kya_* siblings. Usage is inferable rather than stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources