MCP server
Ethos serves its most useful reputation lookups as an MCP server, so an agent that installs tools gets them without reading the API reference or paying over x402:
https://developers.ethos.network/mcpStreamable HTTP, no authentication, read-only. Five tools, one per lookup, each answering with the same JSON the free API returns.
| Tool | Takes | Returns | Same as |
|---|---|---|---|
ethos_score |
userkey |
Credibility score (0 to 2800) and level | GET /api/v2/score/userkey |
ethos_user_by_x |
handle (X handle or account id) |
The Ethos profile behind an X account, every linked account | GET /api/v2/user/by/x/{accountIdOrUsername} |
ethos_user_by_address |
address (EVM, 0x…) |
The Ethos profile holding a wallet | GET /api/v2/user/by/address/{address} |
ethos_search_users |
query, optional limit, offset |
Profiles matching a name, handle or address fragment | GET /api/v2/users/search |
ethos_xp |
userkey |
Total XP across all seasons | GET /api/v2/xp/user/{userkey} |
A userkey names a person any way Ethos knows them: address:0x…, profileId:1, service:x.com:username:ethos_network, service:x.com:<account id>, service:discord:<id> or service:telegram:<id>.
The server’s initialize answer carries instructions on which tool to reach for and how to read a score (below 800 untrusted, 800 to 1199 questionable, 1200 to 1399 neutral, 1400 and up increasingly reputable). Scores reflect peer judgement and can be gamed at the margins: a strong signal, not a verdict.
Connect a client
Section titled “Connect a client”claude mcp add --transport http ethos https://developers.ethos.network/mcpIn .cursor/mcp.json (per project) or ~/.cursor/mcp.json (everywhere):
{ "mcpServers": { "ethos": { "url": "https://developers.ethos.network/mcp" } }}Settings → Connectors → Add custom connector: name Ethos, URL https://developers.ethos.network/mcp, no OAuth. For a Claude Desktop that only takes local servers, claude_desktop_config.json can bridge to it:
{ "mcpServers": { "ethos": { "command": "npx", "args": ["-y", "mcp-remote", "https://developers.ethos.network/mcp"] } }}The endpoint is plain JSON-RPC over POST, so a shell can list and call the tools:
curl -s https://developers.ethos.network/mcp \ -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -s https://developers.ethos.network/mcp \ -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"ethos_score","arguments":{"userkey":"service:x.com:username:ethos_network"}}}'# {"result":{"content":[{"type":"text","text":"{\"score\":2441,\"level\":\"revered\"}"}]},"jsonrpc":"2.0","id":2}Any client that speaks MCP’s streamable HTTP transport works the same way; a GET on the URL from a browser describes the endpoint.
Details
Section titled “Details”- Stateless. The server issues no session id and keeps nothing between requests, so a client can send
tools/listortools/callwithout aninitializefirst. Responses are JSON, not server-sent events. - Errors. A lookup the API refuses (an unknown user, a malformed address) comes back as a tool error carrying the API’s status and message, not as a protocol failure.
- Rate limits are the free API’s. Each call reaches
api.ethos.networkwith the client headerdevelopers.ethos.network-mcp. - Only reads. Nothing here writes. For reviews, vouches or XP tips an agent uses the full API with an API key.
- Listed in the MCP registry as
network.ethos/api, where MCP clients and directories that read it find it.
Need more than these five? The whole API is free with an X-Ethos-Client header; the Vibe Coding Quickstart is written for an agent to read, and Agents and x402 covers the paid-per-request copies of the same lookups.