counterparty.profile

Live

Identity-resolved counterparty record with trust posture and recent activity.

CategoryCounterparty
JSON-RPCtools/call
EndpointPOST /mcp
Sourcepackages/mcp-tools/src/tools/counterparty-profile.ts

Description

Returns the counterparty record + trust_pairs across action classes + prior_interaction_count + plain-language recent_summary. Entity-type parameterized per ADR-0018. Per ADR-0021 §read-API Family B.

Input schema

FieldTypeRequiredDescription
counterparty_idstringyesCanonical counterparty id.
entity_typestringnoDefault 'person'. Any registered entity type per ADR-0018.

Output shape

typescript
{
  counterparty_id: string;
  entity_type: string;
  display_name: string;
  relationship?: string;
  trust_pairs: Array<{ action_class: string; autonomy_level: 1 | 2 | 3; trust_survival_rate?: number; last_action_at?: string }>;
  prior_interaction_count: number;
  recent_summary: string;
  world_version: string;
}

Example call

JSON-RPC tools/call request body (omit the JSON-RPC envelope when using an SDK; the SDK adds it for you):

jsontools/call params
{ "name": "counterparty.profile", "arguments": { "counterparty_id": "entity_01HXSARAH" } }

Example response

Tool results are always wrapped as content[0].text with a stringified JSON body. The shape below is what you get back from JSON.parse(result.content[0].text):

jsonparsed result body
{
  "counterparty_id": "entity_01HXSARAH",
  "entity_type": "person",
  "display_name": "Sarah Chen",
  "relationship": "API lead at Acme",
  "trust_pairs": [
    { "action_class": "communicate", "autonomy_level": 2, "trust_survival_rate": 0.93, "last_action_at": "2026-06-12T15:40:00Z" }
  ],
  "prior_interaction_count": 47,
  "recent_summary": "Active thread about Q3 API rollout; expecting follow-up Thursday.",
  "world_version": "wv_01HXR4WORLD"
}

Errors this tool can return

CodeMeaning
invalid_argumentsTool input failed Zod validation.
unauthorizedMissing or invalid bearer token.
quota_exceededPer-minute, daily call, or daily inference budget exceeded.
not_foundThe requested resource (action_id, decision_id, counterparty_id, etc.) was not found.

See the full error catalog for resolution steps on each code, plus the standard transport-layer responses (401, 429).