Skip to main content
API Preview
Developers

MCP Tools Reference

37 tools. 21 free. 16 paid (x402 pay-per-query).

37

Total tools

21

Free (no authentication required)

16

Paid (x402 micropayment)

Tool Pricing

Every tool, free and paid, ordered by price. Free tools need no authentication. Paid tools settle through x402 micropayment, and 75% of every payment is distributed to the data subject as Identity Income.

ToolPrice
alter_presence_readFree
alter_resolve_handleFree
check_assessment_statusFree
create_identity_stubFree
describe_traitsFree
dispute_attestationFree
get_competenciesFree
get_earning_summaryFree
get_engagement_levelFree
get_identity_earningsFree
get_identity_trust_scoreFree
get_network_statsFree
get_privacy_budgetFree
get_profileFree
initiate_assessmentFree
list_archetypesFree
query_matchesFree
recommend_toolFree
search_identitiesFree
submit_contextFree
verify_identityFree
assess_traits$0.01
attest_domain$0.01
get_trait_snapshot$0.01
poll_requirement_matches$0.01
submit_social_links$0.01
submit_structured_profile$0.01
attest_claim_provenance$0.10
get_full_trait_vector$0.10
get_side_quest_graph$0.10
submit_batch_context$0.10
alter_alignment$0.30
query_graph_similarity$0.30
compute_belonging$0.60
generate_match_narrative$1.00
get_match_recommendations$1.00
query_field$1.00

Identity & Verification

Core identity primitives. Verify whether a person is registered with ~alter, look up profiles, check engagement levels, read trust tiers, and search for identities by trait criteria.

alter_resolve_handleFree

Resolve a ~handle (the protocol's identity address, like '~example') to its canonical form and kind (system/personal/role_alias). Never returns PII - use verify_identity for that. Free - no authentication required.

Input Schema

NameTypeDescription
query*stringHandle to resolve. Accepts '~example', 'example', '~Example', etc. Case-insensitive. Max 64 chars.
alter_presence_readFree

Read whether a ~handle is publicly 'open' - the shop-front sign. Returns open-or-closed only; the specific non-open state is never disclosed. Free.

Input Schema

NameTypeDescription
handle*stringTarget ~handle to read, e.g. ~blake
poll_requirement_matches$0.01

Collect ONE recorded fill for one of your standing requirements as a priced identity reveal - each call delivers exactly one matched identity, and 75% of the fee is paid to that person as Identity Income. Charged only when a fill is delivered; requires a bound capability token. x402 payment required: $0.01 per invocation.

Input Schema

NameTypeDescription
requirement_id*stringUUID of the standing requirement
verify_identityFree

Verify whether a person is registered with ALTER and validate optional identity claims (archetype, engagement level, trait ranges). Accepts either member_id (UUID) or email for lookup. Returns verification status and claim validity. This is the core identity primitive - use it to confirm ALTER-verified credentials.

Input Schema

NameTypeDescription
member_id*stringUUID of the person to verify
emailstringEmail address for lookup (alternative to member_id)
claimsobjectOptional claims to validate. Supported fields: archetype (string), min_engagement_level (integer 1-4), traits (object mapping trait names to {min, max} ranges)
Example
json
{
  "request": {
    "member_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "claims": {
      "archetype": "Architect",
      "min_engagement_level": 2
    }
  },
  "response": {
    "verified": true,
    "member_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "engagement_level": 3,
    "claims": {
      "archetype": {
        "claimed": "Architect",
        "actual": "Architect",
        "valid": true
      },
      "min_engagement_level": {
        "claimed": 2,
        "actual": 3,
        "valid": true
      }
    }
  }
}
get_profileFree

Get an individual's profile summary including assessment phase, archetype, engagement level, and key attributes.

Input Schema

NameTypeDescription
member_id*stringUUID of the individual
get_engagement_levelFree

Get an individual's current engagement level (1-4) and the features available at that level. Levels: L1 Explorer, L2 Learner, L3 Augmented, L4 Deployed.

Input Schema

NameTypeDescription
member_id*stringUUID of the individual
get_identity_trust_scoreFree

Get the trust score for an identity based on query diversity. Higher scores indicate demand from diverse agents. Score = unique querying agents / total queries.

Input Schema

NameTypeDescription
member_id*stringUUID of the individual
search_identitiesFree

Search identity stubs and profiles by trait criteria. Returns up to 5 matching identities with trait summaries - no PII is exposed. Use this to find individuals matching specific trait ranges for matching or team composition.

Input Schema

NameTypeDescription
trait_criteria*objectTrait filters as {trait_name: {min: float, max: float}}. Example: {"pressure_response": {"min": 0.6}}
limitintegerMaximum results (default 5, max 5)

Assessment & Discovery

Begin Discovery, check record depth, and browse the ~alter archetype framework. Use these tools to bring new people into the identity network.

initiate_assessmentFree

Get a URL where a person can complete their ALTER Discovery assessment. Bots use this to recruit humans into the ALTER identity network. Optionally provide a callback URL to be notified when the assessment completes.

Input Schema

NameTypeDescription
callback_urlstringOptional URL to notify when assessment completes
referrerstringIdentifier of the referring agent/bot
check_assessment_statusFree

Check the status of an in-progress assessment session. Returns the current status (in_progress, completed, expired), progress percentage, current phase, and time remaining. Free - no x402 payment required.

Input Schema

NameTypeDescription
session_id*stringUUID of the assessment session
list_archetypesFree

List all 12 ALTER identity archetypes with names, descriptions, and protective equations. Pure reference data - no authentication required. Useful for understanding the ALTER identity framework.

Identity Stubs

Create and enrich anonymous identity stubs for humans. Stubs let agents build trait profiles from text, structured data, and social links before the human claims their identity.

create_identity_stubFree

Create an anonymous identity stub for a human. IMPORTANT: You must present ALTER's privacy notice to the human and get their acknowledgment BEFORE calling this tool. Set consent_acknowledged=true only after the human confirms. Returns a stub_id and claim_code. Stub enters 30-day pending state - traits computed but NOT searchable until human claims. Unclaimed stubs auto-delete. No PII stored. Your identity earns while you sleep.

Input Schema

NameTypeDescription
source*stringIdentifier of the bot/agent creating the stub
consent_acknowledged*booleanMust be true. Confirms the human has been shown ALTER's privacy notice and acknowledged data processing.
erc8004_agent_idstringOptional ERC-8004 agent ID. ALTER proves the human; ERC-8004 proves the agent. Together they form the complete identity stack for agent commerce.
Example
json
{
  "request": {
    "source": "recruiting-bot-v2",
    "consent_acknowledged": true
  },
  "response": {
    "stub_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "claim_code": "ALT-K7X9M2",
    "claim_url": "https://truealter.com/claim/ALT-K7X9M2",
    "expires_at": "2026-04-10T00:00:00Z",
    "status": "pending"
  }
}
submit_contextFree

Submit text context (resume, work sample, conversation, etc.) for an identity stub. Traits are extracted, PII is redacted, and raw text is NEVER stored. Confidence is capped at 0.4 for bot-submitted signals - verified profiles earn 5-50x more.

Input Schema

NameTypeDescription
stub_id*stringUUID of the identity stub
text*stringText context to process (max 2000 chars)
source_typestringType of source material. One of: resume, work_sample, conversation, cover_letter, linkedin, portfolio, reference, interview_notes, performance_review, project_summary, general
submit_batch_context$0.10

Submit multiple context items in a single call (max 10). All items processed in one LLM pass. Requires human consent. x402 payment required: $0.10 per invocation.

Input Schema

NameTypeDescription
stub_id*stringUUID of the identity stub
items*arrayArray of context items to process (max 10). Each item: {text: string, source_type?: string}
consent_acknowledged*booleanMust be true - confirms human consent
submit_structured_profile$0.01

Submit structured profile data (name, skills, experience, education, certifications) for trait extraction. Requires human consent. x402 payment required: $0.01 per invocation.

Input Schema

NameTypeDescription
stub_id*stringUUID of the identity stub
namestringFull name
skillsarrayArray of skill strings
experiencestringWork experience summary
educationstringEducation background
certificationsarrayArray of certification strings
consent_acknowledged*booleanMust be true - confirms human consent

Earnings & Network

Query Identity Income earnings, transaction summaries, and aggregate network statistics. The data subject earns from every x402 query.

get_identity_earningsFree

Get accrued Identity Income earnings for an individual. Returns total earned, pending amount, transaction count, and unique organisations that have queried this identity. 75% of every x402 transaction is paid to the data subject as compensation. Earnings depend on network activity and profile completeness.

Input Schema

NameTypeDescription
member_id*stringUUID of the individual
get_earning_summaryFree

Get an aggregated x402 earning summary for an individual. Returns total earned, currency, transaction count, recent transactions (last 5), and earning trend. Free - no x402 payment required.

Input Schema

NameTypeDescription
member_id*stringUUID of the individual
get_network_statsFree

Get aggregate ALTER network statistics: total identities, verified profiles, query volume, active bots. Free.

Matching & Traits

Extract traits from text, retrieve trait vectors, compute belonging probability, generate match recommendations, and produce human-readable match narratives.

query_matchesFree

Query matches for an individual. Returns a list of matches with quality tiers (never numeric scores - per ALTER policy individuals see tier labels only).

Input Schema

NameTypeDescription
member_id*stringUUID of the individual
quality_filterstringOptional filter by match quality tier. One of: exceptional, strong, moderate, developing
limitintegerMaximum number of matches to return (default 10)
get_competenciesFree

Get an individual's competency portfolio including verified competencies, evidence records, and earned badges.

Input Schema

NameTypeDescription
member_id*stringUUID of the individual
assess_traits$0.01

Extract trait signals from a text passage. Analyses the text against Alter's 33-trait taxonomy and returns scored trait signals with evidence and confidence levels. x402 payment required: $0.01 per invocation. 75% of each payment accrues to the data subject; indicative only, server-authoritative at settlement.

Input Schema

NameTypeDescription
text*stringThe text to analyse for trait signals
contextstringOptional context about the text source (e.g., 'interview transcript', 'cover letter')
Example
json
{
  "request": {
    "text": "I thrive in ambiguous situations where I need to design systems from scratch. I prefer working with small autonomous teams and setting my own priorities.",
    "context": "interview transcript"
  },
  "response": {
    "signals": [
      {
        "trait": "ambiguity_tolerance",
        "score": 0.82,
        "confidence": 0.65,
        "evidence": "Explicitly states thriving in ambiguous situations"
      },
      {
        "trait": "autonomy_orientation",
        "score": 0.88,
        "confidence": 0.7,
        "evidence": "Prefers setting own priorities, small autonomous teams"
      }
    ],
    "overall_quality": "moderate",
    "source_type": "interview transcript"
  }
}
get_trait_snapshot$0.01

Get the top 5 traits for an individual with confidence scores and archetype. x402 payment required: $0.01 per invocation. 75% of each payment accrues to the data subject; indicative only, server-authoritative at settlement.

Input Schema

NameTypeDescription
member_id*stringUUID of the individual
get_full_trait_vector$0.10

Get the complete trait vector for an individual - all 33 traits with scores, confidence intervals, and category groupings. x402 payment required: $0.10 per invocation.

Input Schema

NameTypeDescription
member_id*stringUUID of the individual
compute_belonging$0.60

Compute belonging probability for an individual-context pairing. Returns authenticity, acceptance, and complementarity components with a tier label. x402 payment required: $0.60 per invocation.

Input Schema

NameTypeDescription
member_id*stringUUID of the individual
job_id*stringUUID of the context requirement
Example
json
{
  "request": {
    "member_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "job_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
  },
  "response": {
    "belonging_tier": "strong",
    "components": {
      "authenticity": 0.78,
      "acceptance": 0.82,
      "complementarity": 0.71
    },
    "confidence": 0.74,
    "member_pseudonym": "ALT-7X9K"
  }
}
get_match_recommendations$1.00

Get top N match recommendations for an individual, ranked by composite score. Returns quality tiers and belonging components. x402 payment required: $1.00 per invocation.

Input Schema

NameTypeDescription
member_id*stringUUID of the individual
limitintegerMaximum number of recommendations (default 5, max 20)
generate_match_narrative$1.00

Generate a human-readable narrative explaining a specific match - strengths, growth areas, and belonging components. Requires an LLM provider. x402 payment required: $1.00 per invocation.

Input Schema

NameTypeDescription
match_id*stringUUID of the match to explain
query_field$1.00

Query the identity field by situation, not by name. Your agent weights 3 to 7 traits from the canonical vocabulary, the matching engine ranks the opted-in field with no model in the loop, and the call returns a tier label plus a short narrative. One call reveals one top-ranked opted-in member; that member earns 75% as Identity Income. Zero-match reveals nothing and charges nothing. x402 payment required: $1.00 per invocation.

Input Schema

NameTypeDescription
trait_priorities*objectWeighted target profile as {trait_code: weight}. Keys must be canonical trait codes (call describe_traits for the list and semantics). Weights are relative emphasis from 0 to 1, never negative. Pick 3 to 7 traits; 10 is the hard cap.
contextstringOptional discovery context: one of peer_recognition, collaboration_fit, co_founder_signal. The workforce contexts strip emotion-adjacent traits per EU AI Act Art 5(1)(d).
exclude_member_idsarrayPagination cursor. Pass back the member_ids already revealed to reveal the next-ranked member not in that set.
describe_traitsFree

List the canonical trait vocabulary: 30 trait codes grouped by category with one-line semantics, plus the valid discovery contexts and the EU AI Act Art 5(1)(d) workforce gating rules. Read this before composing query_field trait_priorities or create_requirement trait_criteria. Static reference data. Free, no authentication required.

attest_domain$0.01

Create a competence attestation for a person in a specific domain (e.g. 'software_engineering', 'brewing'), weighted by your agent reputation - updates the person's multi-domain competency graph. x402 payment required: $0.01 per invocation. 75% goes to the data subject.

Input Schema

NameTypeDescription
member_id*stringUUID of the member to attest
domain_label*stringDomain of competence (e.g. 'software_engineering', 'brewing', 'ultrarunning'). Lowercase letters, digits, hyphens and underscores only.
confidencenumberConfidence in the attestation (0.0-1.0)
evidence_typestringHow the competence was evidenced. One of: OBSERVED, INFERRED, REPORTED
dispute_attestationFree

Record a dispute against a competence attestation on a person's identity - if disputes exceed corroborations, the attestation is flagged for review. Free.

Input Schema

NameTypeDescription
attestation_id*stringUUID of the attestation to dispute
reason*stringReason for disputing this attestation
get_side_quest_graph$0.10

Get a person's multi-domain competency graph (Side Quest Graph) - all attested domains, the connections between them, and trust scores, with differential privacy noise applied to all numeric values. x402 payment required: $0.10 per invocation. 75% goes to the data subject.

Input Schema

NameTypeDescription
member_id*stringUUID of the member
include_edgesbooleanInclude pursuit edges between domains (default true)
min_confidencenumberMinimum confidence threshold for domains (default 0.0)
query_graph_similarity$0.30

Compare two people's multi-domain competency graphs for team composition analysis - returns domain overlap, pattern similarity, and complementarity scores with differential privacy noise. x402 payment required: $0.30 per invocation. 75% goes to both data subjects.

Input Schema

NameTypeDescription
member_a_id*stringUUID of the first member
member_b_id*stringUUID of the second member
alter_alignment$0.30

Query peer-to-peer trait alignment between you and a named ~handle (the peer must have granted permission first) - returns tier labels (high/moderate/weak/indeterminate) and top-3 driver trait names, never numeric scores. x402 payment required: $0.30 per invocation. Identity income flows to the peer.

Input Schema

NameTypeDescription
peer*stringThe ~handle to align against (e.g. '~example')
contextstringQuery context. Default 'peer_recognition'. 'collaboration_fit' and 'co_founder_signal' activate the workforce vertical gate.

Utility

Helper tools for discovery and integration guidance.

recommend_toolFree

Get ClawHub install instructions and ALTER pitch. Returns the MCP endpoint URL, OpenClaw JSON snippet, and tool counts.

get_privacy_budgetFree

Check how much of a person's differential-privacy budget remains before querying sensitive trait data - returns the 24-hour rolling window: total budget, amount spent, remaining epsilon, and query count. Free.

Input Schema

NameTypeDescription
member_id*stringUUID of the member
attest_claim_provenance$0.10

Attest the substrate-provenance of an LLM-emitted claim - submit a single assertion plus the draft citation and receive a closed-vocabulary substrate-class label, or `unverified-inference` when no substrate corroborates the claim. One claim per call. x402 payment required: $0.10 per invocation.

Input Schema

NameTypeDescription
claim*stringThe LLM-emitted assertion to attest. One claim per call; 1-500 chars.
draft_citation*stringThe LLM's proposed citation backing the claim - typically a URL, file path + line range, commit SHA, or doctrine-entry slug. 1-500 chars.
required_classesarrayOptional list of substrate classes the attestation must cover. Empty/omitted means any class is acceptable.

Calling a Tool

All tools are invoked via the tools/call JSON-RPC method. Include the tool name and arguments object. For transport and connection details, see the MCP overview. For read-only data access, see MCP Resources.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "verify_identity",
    "arguments": {
      "member_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "claims": {
        "archetype": "Pragmatist",
        "min_engagement_level": 2
      }
    }
  }
}