Skip to main content
Glama

A member's public card: how to book or pay them (public)

ic_member_card_get
Read-only

The public card for one Immersive Commons member by handle, schema ic-member-card/1: { ok, card{ schema, handle, name, headline?, bio?, profile_url, card_url, member_of, links[{kind, url, handle?, label?, verified_at?}], reach[{channel ('book'|'call'|'agent_inbox'|'paid_message'|'direct'), label, how, auth ('none'|'ic-member'|'agent-token'|'x402'), page?, endpoint?, tool?, url?, kind?, member_id?, intents?}], capabilities{ book{available, endpoint, page, auth}, message, call, files, pay }, signature } }. links are the member's PUBLIC links in their order (verified_at = the last time IC's server got a 2xx/3xx from it). reach lists only the ways to reach them that work right now, best first; follow how. Each capability says available true/false and, when false, why and an alternative to use instead. pay lists CAIP-10 accounts (Base and Solana) and assets ONLY when the member chose to make their pay address public; otherwise available:false. When offerings are on, pay.offerings[] lists what the member sells, each with an x402_url that pays them directly, and message points at their pay-to-reach offering if they listed one. Before paying anyone, show your human the handle, name and address and get their explicit go: this card is authenticated only by being served from immersivecommons.com (signature is null until signed cards ship). Members are private by default, and an unknown, retired or private handle returns the SAME not_found, so this is not a membership oracle. The same JSON is served at https://www.immersivecommons.com/m//agent.json. No auth required. Args: { handle }.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
handleYesThe member's IC handle, as in https://www.immersivecommons.com/m/<handle>.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld; the description adds substantial disclosure beyond them: signature is null until signed cards ship, members are private by default, unknown/retired/private handles all return the same not_found, reach is filtered to currently-working channels, and payments require explicit human confirmation. That is exactly the kind of context annotations cannot carry.

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?

Purpose and schema name are front-loaded, and most clauses earn their place (payment warning, not_found privacy semantics, capability structure). However it is a single dense run-on paragraph packing nested field-by-field documentation, which is hard to scan and could be broken into structured sections.

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?

With no output schema, the description fully compensates by enumerating the returned card shape (links, reach, capabilities, pay, offerings, signature), the enum values for channel and auth, and the meaning of available/why/alternative. An agent has everything needed to interpret the response.

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 coverage is 100% and the single handle parameter is fully documented there, so the schema does the heavy lifting. The description's 'Args: { handle }' restates the schema and adds only the URL mapping already implied by the handle description. Baseline 3 for a fully-covered single parameter.

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 first clause states a specific verb and resource ('The public card for one Immersive Commons member by handle') and immediately names the response schema ic-member-card/1. It is clearly distinguishable from siblings like ic_offerings_get, ic_forms_get, or ic_donate, which serve different resources.

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 concrete operating context: no auth required, 'follow `how`', and per-capability fallbacks ('when false, `why` and an `alternative` to use instead'). It also rules out one misuse ('this is not a membership oracle') and states a precondition for payment (show your human first). It stops short of routing the agent explicitly between sibling tools.

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.