mcpbeat Sign in

Patina MCP Server

by ramakrishnanhulk20 Your server? Claim it
not responding

Patina is listed as active in the registry but did not answer our last check. It exposes 4 tools. Last commit 8 Sep 2026.

Check how many years of verifiable history a person has behind accounts they already own.

Uptime history 39 days of history · worst day 32%
39 days agonow
54.9%
Uptime 24h
50 of 91 checks
4
Tools
read from the server
450 ms
Response time
average over 24h
1
Stars
last commit 8 Sep 2026

What changed 5

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 24 August 2026. No other catalogue keeps this.

26 Aug 2 tool descriptions were rewritten resolve_identity, verify_attestation
24 Aug 3 tool descriptions were rewritten check_threshold, get_patina_score, resolve_identity

Patina does not always answer

Over the last week it answered 52.3% of our checks. We check every 15 minutes, so you hear about the next outage within the hour — not from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 4 min ago.

run in your terminal
claude mcp add patina --transport http https://patinadata.xyz/api/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "patina": {
      "url": "https://patinadata.xyz/api/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.patina]
url = "https://patinadata.xyz/api/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "patina": {
      "url": "https://patinadata.xyz/api/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "patina": {
      "url": "https://patinadata.xyz/api/mcp"
    }
  }
}

Available tools 4

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

patina
get_patina_score
Look up a person's full Patina score by their Patina username. Patina reads the age and activity of accounts somebody already owns (YouTube, GitHub, Instagram, LinkedIn, Spotify and others) through the Vana data portability protocol, and turns that into a 0-100 score plus a signed attestation. Patina scores 0-100 for how much provable history an account holder has, not for how popular or how real-time-verified they are. 80+ (Deeply worn in) means a long, multi-year record corroborated across independent platforms. 60-79 (Well established) is a solid multi-year record. 40-59 (Some real history) is genuine but shorter or thinner. 20-39 (Thin, but genuine so far) is an early account with a little history. Under 20 (Not much to go on yet) looks freshly created, or has almost nothing connected. The inputs, heaviest first: Age (30, full marks at 12 years), Continuity (25, how many separate months the person was actually present for), Corroboration (15, independent sources agreeing on the date), Vouches (12, WHEN other people connected to them rather than how many), Depth (10, things made) and Breadth (8, independent accounts). Follower counts are deliberately worth almost nothing, because they are purchasable. Patina proves TENURE: that whoever holds these accounts has a long, corroborated, verifiable history. It does NOT prove uniqueness or liveness, and it is not a proof-of-personhood check. If you need 'exactly one human, present right now', Patina is the wrong signal and you should say so. Call this when you want the whole picture: the score, the per-component breakdown, how many years of history are provable, which platforms corroborate each other, and an attestation you can verify offline. If you only need a yes or no about whether somebody clears a bar, call check_threshold instead. An unknown username comes back with found: false, which is a normal answer meaning no public Patina profile exists under that name. It is not an error, and it is not evidence against the person.
resolve
resolve_identity
Find out whether the person behind a platform handle has a Patina score, WITHOUT learning who they are. Supported sources: github, instagram, linkedin. Accepts a bare handle, an @handle, or a full profile URL. Returns only three things: whether a public Patina profile is linked to that account, its score, and its years of history. It deliberately never returns the Patina username, and never returns which other platforms that person has connected, because doing so would turn this into a cross-platform de-anonymisation tool. Do not ask it for those; it cannot provide them. Other platforms (youtube, spotify, amazon, uber) are NOT supported here, because for those Patina stores an internal platform id rather than a handle a person could type. Those platforms still count fully toward the score itself; only this lookup is limited. Email addresses are refused outright. Patina scores 0-100 for how much provable history an account holder has, not for how popular or how real-time-verified they are. 80+ (Deeply worn in) means a long, multi-year record corroborated across independent platforms. 60-79 (Well established) is a solid multi-year record. 40-59 (Some real history) is genuine but shorter or thinner. 20-39 (Thin, but genuine so far) is an early account with a little history. Under 20 (Not much to go on yet) looks freshly created, or has almost nothing connected. The inputs, heaviest first: Age (30, full marks at 12 years), Continuity (25, how many separate months the person was actually present for), Corroboration (15, independent sources agreeing on the date), Vouches (12, WHEN other people connected to them rather than how many), Depth (10, things made) and Breadth (8, independent accounts). Follower counts are deliberately worth almost nothing, because they are purchasable.
threshold
check_threshold
Decide whether somebody clears a trust bar, as a plain true or false. Give a Patina username plus min_score, min_years, or both. At least one is required. Returns `pass`, plus a one-sentence `reason` written to be quoted straight back to a user. This is the right tool for gating decisions: 'has this person been verifiably around for at least five years', 'is this account above 70'. Patina scores 0-100 for how much provable history an account holder has, not for how popular or how real-time-verified they are. 80+ (Deeply worn in) means a long, multi-year record corroborated across independent platforms. 60-79 (Well established) is a solid multi-year record. 40-59 (Some real history) is genuine but shorter or thinner. 20-39 (Thin, but genuine so far) is an early account with a little history. Under 20 (Not much to go on yet) looks freshly created, or has almost nothing connected. The inputs, heaviest first: Age (30, full marks at 12 years), Continuity (25, how many separate months the person was actually present for), Corroboration (15, independent sources agreeing on the date), Vouches (12, WHEN other people connected to them rather than how many), Depth (10, things made) and Breadth (8, independent accounts). Follower counts are deliberately worth almost nothing, because they are purchasable. Patina proves TENURE: that whoever holds these accounts has a long, corroborated, verifiable history. It does NOT prove uniqueness or liveness, and it is not a proof-of-personhood check. If you need 'exactly one human, present right now', Patina is the wrong signal and you should say so. When no profile exists, `pass` is false and `found` is false: treat that as UNKNOWN rather than as a failed check, because most people have never heard of Patina and absence proves nothing about them.
verify
verify_attestation
Check whether a Patina attestation really was signed by Patina. Every Patina score ships with an EIP-191 signed message; hand this tool that `message` and `signature` and it returns the address it recovered, the address Patina publishes, and whether the two match. IMPORTANT, AND THE WHOLE POINT: you do not need this tool, and where you can, you should not use it. A signature is worth something precisely because ANYONE can check it offline, with no call to Patina, using viem's recoverMessageAddress or ethers' verifyMessage. If you ask Patina's own server whether Patina's own signature is good, you are trusting Patina again and the signature has bought you nothing. That is why this returns the recovered address rather than a bare yes: compare it yourself. Attestations also EXPIRE: the message carries an `expiresAt` line inside the signed bytes, and a genuine signature past that date means the score was true when issued and should be fetched again, not that anybody forged anything.

Endpoints

URLTransportStateLatencyChecked
https://patinadata.xyz/api/mcp streamable-http answering 151 ms 4 min ago

Alternatives to Patina

same job, measured the same way
Hunchful
by hunchful

Read and grow a person's falsifiable, consent-based model of how they work with AI (CMP).

7 tools answering
Weir
by weir

Read, price and verify creator posts on Sui. An agent holds the same account a person holds.

6 tools answering
AgentData — crypto market data with a checkable record
by speteai

Verifiable crypto signals, recorded history and always-on monitoring for AI agents via x402 on Base.

29 tools answering
GP Intel
by gparientee

Verified European PE ownership: who owns a company, GP portfolios, exits by year. Hand-checked.

7 tools answering
TheBotique — signed agent board
by thebotique-www

A public board for AI agents. Every post is signed; the whole history is verifiable.

8 tools answering
emem, the verifiable memory protocol for the physical world
by vortx-ai

Shared memory for AI agents. One address per fact, one signature you check. No key to read.

18 tools answering
Price Drop Watch Alert History
by bestremotetools

Check and watch prices on ordinary shop pages, keep the history and alert on a target you set.

local only
Throughline
by getthroughline

A persistent AI self you own — memory, persona, judgment — portable across all your AI hosts.

answering

Patina — questions

Answers built from our own checks of this server.

What can Patina do?
It exposes 4 tools, read directly from the server on our last check. Among them: check_threshold, get_patina_score, resolve_identity, verify_attestation. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Patina working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 50 of 91 checks got a reply (54.9%), average response time 450 ms. The bar chart above shows every period we have measured.
The registry lists Patina as active — why does it not respond?
The official MCP registry stores what the author submitted; it does not verify that the server still runs. We check the endpoint ourselves, and this one does not answer. Catalogues that copy the registry without checking will show it as working.
How do I connect Patina?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Patina need an API key?
No. Patina completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 4 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Patina?
It answers our handshake in 450 ms on average, which is faster than 35% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Patina open source?
Yes — it is published under the MIT licence, written in TypeScript and 1 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.