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.
| Tool | Price |
|---|---|
| alter_presence_read | Free |
| alter_resolve_handle | Free |
| check_assessment_status | Free |
| create_identity_stub | Free |
| describe_traits | Free |
| dispute_attestation | Free |
| get_competencies | Free |
| get_earning_summary | Free |
| get_engagement_level | Free |
| get_identity_earnings | Free |
| get_identity_trust_score | Free |
| get_network_stats | Free |
| get_privacy_budget | Free |
| get_profile | Free |
| initiate_assessment | Free |
| list_archetypes | Free |
| query_matches | Free |
| recommend_tool | Free |
| search_identities | Free |
| submit_context | Free |
| verify_identity | Free |
| 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_handleFreeResolve 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
| Name | Type | Description |
|---|---|---|
query* | string | Handle to resolve. Accepts '~example', 'example', '~Example', etc. Case-insensitive. Max 64 chars. |
alter_presence_readFreeRead 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
| Name | Type | Description |
|---|---|---|
handle* | string | Target ~handle to read, e.g. ~blake |
poll_requirement_matches$0.01Collect 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
| Name | Type | Description |
|---|---|---|
requirement_id* | string | UUID of the standing requirement |
verify_identityFreeVerify 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
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the person to verify |
email | string | Email address for lookup (alternative to member_id) |
claims | object | Optional claims to validate. Supported fields: archetype (string), min_engagement_level (integer 1-4), traits (object mapping trait names to {min, max} ranges) |
Example
{
"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_profileFreeGet an individual's profile summary including assessment phase, archetype, engagement level, and key attributes.
Input Schema
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the individual |
get_engagement_levelFreeGet 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
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the individual |
get_identity_trust_scoreFreeGet 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
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the individual |
search_identitiesFreeSearch 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
| Name | Type | Description |
|---|---|---|
trait_criteria* | object | Trait filters as {trait_name: {min: float, max: float}}. Example: {"pressure_response": {"min": 0.6}} |
limit | integer | Maximum 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_assessmentFreeGet 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
| Name | Type | Description |
|---|---|---|
callback_url | string | Optional URL to notify when assessment completes |
referrer | string | Identifier of the referring agent/bot |
check_assessment_statusFreeCheck 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
| Name | Type | Description |
|---|---|---|
session_id* | string | UUID of the assessment session |
list_archetypesFreeList 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_stubFreeCreate 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
| Name | Type | Description |
|---|---|---|
source* | string | Identifier of the bot/agent creating the stub |
consent_acknowledged* | boolean | Must be true. Confirms the human has been shown ALTER's privacy notice and acknowledged data processing. |
erc8004_agent_id | string | Optional ERC-8004 agent ID. ALTER proves the human; ERC-8004 proves the agent. Together they form the complete identity stack for agent commerce. |
Example
{
"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_contextFreeSubmit 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
| Name | Type | Description |
|---|---|---|
stub_id* | string | UUID of the identity stub |
text* | string | Text context to process (max 2000 chars) |
source_type | string | Type 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.10Submit 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
| Name | Type | Description |
|---|---|---|
stub_id* | string | UUID of the identity stub |
items* | array | Array of context items to process (max 10). Each item: {text: string, source_type?: string} |
consent_acknowledged* | boolean | Must be true - confirms human consent |
submit_structured_profile$0.01Submit structured profile data (name, skills, experience, education, certifications) for trait extraction. Requires human consent. x402 payment required: $0.01 per invocation.
Input Schema
| Name | Type | Description |
|---|---|---|
stub_id* | string | UUID of the identity stub |
name | string | Full name |
skills | array | Array of skill strings |
experience | string | Work experience summary |
education | string | Education background |
certifications | array | Array of certification strings |
consent_acknowledged* | boolean | Must 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_earningsFreeGet 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
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the individual |
get_earning_summaryFreeGet 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
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the individual |
get_network_statsFreeGet 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_matchesFreeQuery 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
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the individual |
quality_filter | string | Optional filter by match quality tier. One of: exceptional, strong, moderate, developing |
limit | integer | Maximum number of matches to return (default 10) |
get_competenciesFreeGet an individual's competency portfolio including verified competencies, evidence records, and earned badges.
Input Schema
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the individual |
assess_traits$0.01Extract 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
| Name | Type | Description |
|---|---|---|
text* | string | The text to analyse for trait signals |
context | string | Optional context about the text source (e.g., 'interview transcript', 'cover letter') |
Example
{
"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.01Get 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
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the individual |
get_full_trait_vector$0.10Get 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
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the individual |
compute_belonging$0.60Compute 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
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the individual |
job_id* | string | UUID of the context requirement |
Example
{
"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.00Get 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
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the individual |
limit | integer | Maximum number of recommendations (default 5, max 20) |
generate_match_narrative$1.00Generate 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
| Name | Type | Description |
|---|---|---|
match_id* | string | UUID of the match to explain |
query_field$1.00Query 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
| Name | Type | Description |
|---|---|---|
trait_priorities* | object | Weighted 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. |
context | string | Optional 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_ids | array | Pagination cursor. Pass back the member_ids already revealed to reveal the next-ranked member not in that set. |
describe_traitsFreeList 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.01Create 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
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the member to attest |
domain_label* | string | Domain of competence (e.g. 'software_engineering', 'brewing', 'ultrarunning'). Lowercase letters, digits, hyphens and underscores only. |
confidence | number | Confidence in the attestation (0.0-1.0) |
evidence_type | string | How the competence was evidenced. One of: OBSERVED, INFERRED, REPORTED |
dispute_attestationFreeRecord a dispute against a competence attestation on a person's identity - if disputes exceed corroborations, the attestation is flagged for review. Free.
Input Schema
| Name | Type | Description |
|---|---|---|
attestation_id* | string | UUID of the attestation to dispute |
reason* | string | Reason for disputing this attestation |
get_side_quest_graph$0.10Get 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
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the member |
include_edges | boolean | Include pursuit edges between domains (default true) |
min_confidence | number | Minimum confidence threshold for domains (default 0.0) |
query_graph_similarity$0.30Compare 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
| Name | Type | Description |
|---|---|---|
member_a_id* | string | UUID of the first member |
member_b_id* | string | UUID of the second member |
alter_alignment$0.30Query 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
| Name | Type | Description |
|---|---|---|
peer* | string | The ~handle to align against (e.g. '~example') |
context | string | Query context. Default 'peer_recognition'. 'collaboration_fit' and 'co_founder_signal' activate the workforce vertical gate. |
Utility
Helper tools for discovery and integration guidance.
recommend_toolFreeGet ClawHub install instructions and ALTER pitch. Returns the MCP endpoint URL, OpenClaw JSON snippet, and tool counts.
get_privacy_budgetFreeCheck 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
| Name | Type | Description |
|---|---|---|
member_id* | string | UUID of the member |
attest_claim_provenance$0.10Attest 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
| Name | Type | Description |
|---|---|---|
claim* | string | The LLM-emitted assertion to attest. One claim per call; 1-500 chars. |
draft_citation* | string | The LLM's proposed citation backing the claim - typically a URL, file path + line range, commit SHA, or doctrine-entry slug. 1-500 chars. |
required_classes | array | Optional 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
}
}
}
}