XO Protocol
The dating trust layer for AI agents. Verify identity, find compatible connections, check reputation, browse profiles and newsfeeds — all through a privacy-first API.
What You Can Do
| Tool | What It Does |
|---|---|
verify_identity | Check if someone is a verified real person (SBT, trust score) |
search_connections | Find compatible people with AI-scored matching |
get_reputation | Get reputation tier (novice → S) and score |
get_social_signals | Get conversation quality score |
get_profile | See a user's shared interests and preferences |
get_newsfeed | Browse a connection's public posts |
Setup
- Get an API key at xoxo.space/protocol
- Install the MCP server:
git clone https://github.com/xo-protocol/xo-protocol.git
cd xo-protocol/examples
npm install @modelcontextprotocol/sdk
- Add to your AI client config:
Claude Desktop (~/.claude/mcp_servers.json):
{
"xo-protocol": {
"command": "node",
"args": ["/path/to/xo-protocol/examples/mcp-server.js"],
"env": {
"XO_API_KEY": "your-api-key",
"XO_ACCESS_TOKEN": "your-jwt-token"
}
}
}
Example Workflows
"Am I verified?"
Call verify_identity → returns trust score, SBT status, and attestations.
"Find me someone compatible"
- Call
search_connectionswith optional limit - Get back compatibility scores + tmp_ids
- Use tmp_id to call
get_profile,get_reputation, orget_newsfeedfor more detail
"What's this person like?"
- Call
get_profilewith a tmp_id → interests, topics, preferences - Call
get_newsfeedwith the same tmp_id → their public posts - Summarize shared interests and conversation starters
"Is this person trustworthy?"
- Call
get_reputation→ tier and score - Call
get_social_signals→ engagement quality and confidence - Flag if low engagement + high confidence (potential red flag)
Privacy Rules
- All data requires the user's explicit OAuth authorization
- No real names, photos, or location in any response
- User IDs are ephemeral (24h expiry) — no long-term tracking
- Each tool only accesses the scopes the user approved