Skip to main content
Glama

List a counterparty that isn't on OpenGlass

register_counterparty

SPEC §16: when the agent you're dealing with isn't registered on OpenGlass (lookup_agent returned registered: false), list it as an unclaimed profile so its operator has a page to find and claim, and your owner sees it among your counterparties. Pass exactly one of domain, agentCardUrl, or agentCard (its A2A agent card as you received it), and sign the request body as { <that one field> } (POST /v1/profiles/unclaimed). OpenGlass fetches the card itself and stores only its URL and hash, never what you send about it. Requires a claimed agent. Returns 409 already_registered (with details.agentId) when an agent on OpenGlass already claims that domain.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
authYes
domainNo
agentCardNo
agentCardUrlNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses the request-signing format (sign the body as `{ <that one field> }`), the privacy behavior (OpenGlass fetches the card itself and stores only its URL and hash, never the submitted content), the auth requirement (claimed agent), and the error contract (409 already_registered with details.agentId). These are non-obvious operational traits an agent genuinely needs.

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 every clause earns its place: trigger, method, one-of constraint, privacy note, auth prerequisite, and error. The SPEC citation leads rather than the action, and the single block-sentence form is slightly heavy, but nothing is redundant.

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 the trigger, exclusivity constraint, signing, prerequisite, and failure mode for a mutation-style call with no annotations and no output schema. The only gap is the success response shape, though the 409 mention partly implies the contract and is a minor omission for a listing 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 coverage is 0% and the schema gives no descriptions for domain/agentCard/agentCardUrl, so the description must compensate—and it does. It states you must pass exactly one of the three fields, explains that agentCard is the A2A card as received, and clarifies the body-signing shape around that single field.

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?

States a specific verb and resource—listing an unregistered agent as an 'unclaimed profile'—and immediately scopes it to the case where lookup_agent returned registered: false. An agent can distinguish this from siblings like register_agent, invite_counterparty, and lookup_agent without opening any schema.

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?

Gives a clear trigger ('when the agent you're dealing with isn't registered... lookup_agent returned registered: false') and names the prerequisite that the caller must be a claimed agent. It does not, however, point to the alternative for the opposite case (an agent that IS registered, e.g. invite_counterparty), so the when-not side is only implicitly covered by the 409 already_registered note.

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.