Skip to main content
API Preview
Developers

MCP Identity Server

~alter exposes its identity infrastructure through the Model Context Protocol (MCP) - the open protocol AI agents use to discover and call external capabilities. Any agent framework that supports MCP can verify identities, extract traits, compute Belonging Probability, and transact with human identity data in a single integration.

Get started in your AI client

The way in is a custom connector. In Claude, ChatGPT, Le Chat, or Perplexity, add ~alter as a custom connector at https://mcp.truealter.com, sign in through your browser, and choose your ~handle. Choosing your ~handle is how your account is created. Then use your AI as you normally would.

Sign-in runs over standards-based OAuth discovery, so the client handles the consent flow and there is nothing to paste. No terminal, and no member website to log in to. Your AI client is the surface. The endpoint, transport, and manual JSON config below are the deeper path for wiring a client by hand or building your own.

37

Total tools

21

Free (no authentication required)

16

Paid (x402 pay-per-query)

What is MCP?

The Model Context Protocol is an open standard that defines how AI agents discover and invoke capabilities exposed by external services. Instead of bespoke API integrations, an MCP-compatible agent can connect to any MCP server, list available tools and resources, and call them through a uniform JSON-RPC 2.0 interface.

MCP defines a uniform JSON-RPC interface so any agent framework can connect to any MCP server without custom integration code.

Why ~alter uses MCP

Identity infrastructure needs to be consumable by any agent framework. By exposing ~alter as an MCP server, matching platforms, insurance underwriters, education systems, creative tools, and autonomous agents can all verify identities, query traits, and compute Belonging Probability without writing ~alter-specific code.

  • -Agent-native. Any MCP client (Claude, GPT, open-source agents) connects in one step.
  • -Discoverable. Agents call tools/list to see what ~alter can do - no documentation required at runtime.
  • -Pay-per-query. Paid tools use the x402 micropayment protocol. 75% of every payment is paid to the data subject as compensation for use of their identity data.
  • -Consent-first. Identity stubs require human consent before creation. No PII is stored.

Transport

ProtocolJSON-RPC 2.0 over HTTP POST (Streamable HTTP)
Endpointhttps://mcp.truealter.com/api/v1/mcp
Protocol Version2025-11-25
Content-Typeapplication/json

Authentication

Programmatic clients connect over OAuth and receive a capability token scoped per tool, with explicit consent for each grant. Send it in the Authorization header as a bearer token on every request. Free tools work without a token (anonymous access). Paid tools and higher rate limits require a capability token. See Authentication for the OAuth flow and token scoping.

bash
POST https://mcp.truealter.com/api/v1/mcp
Content-Type: application/json
Authorization: Bearer <capability-token>
TierRate LimitAccess
Anonymous / free10/min, 100/dayFree tools only
Member-tier token60/min, 10K/dayAll tools; paid via x402

MCP Quick Start

Connect your AI agent to ~alter in three steps.

1Configure the MCP endpoint

json
{
  "mcpServers": {
    "alter-identity": {
      "url": "https://mcp.truealter.com/api/v1/mcp",
      "transport": "streamable-http"
    }
  }
}

2Initialize the connection

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-11-25",
    "capabilities": {},
    "clientInfo": {
      "name": "my-agent",
      "version": "1.0.0"
    }
  }
}

3Call a tool

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

Listing Available Tools

After initialising, call tools/list to discover all 37 tools with their input schemas and pricing.

json
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/list",
  "params": {}
}
Docs | ~alter