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 25 Sep 2026.

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

Uptime history 86 days of history · worst day 0%
86 days agonow
0.0%
Uptime 24h
0 of 91 checks
4
Tools
read from the server
112 ms
Response time
average over 24h
1
Stars
last commit 25 Sep 2026

What changed 8

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

25 Sep 2 tool descriptions were rewritten get_patina_score, resolve_identity
25 Sep a tool changed the parameters it asks for resolve_identity
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 0.0% 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 14 min ago.

run in your terminal
claude mcp add patina --transport http https://patinadata.xyz/api/mcp
Settings → Connectors → Add custom connector, then paste this address
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
{
  "servers": {
    "patina": {
      "type": "http",
      "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, 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, 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. Instagram lookups are paused, because Patina cannot yet prove an Instagram account belongs to the person who connected it. 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 112 ms 14 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).

20 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
Poplin account
by poplinmoney

Read your own account: balance, payments in and out with their references, and verification

answering
Persona MCP by usefulapi
by usefulapi

Read Persona inquiries, accounts, verifications and reports.

14 tools answering
Harny Context
by harny

The backbone of your agent harness: memory, connected accounts and actions, behind one API key.

1 tools answering
BillionVerify
by billionverify

Email verification for AI agents: verify single or bulk emails, check credits and history.

36 installs/wk 11 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.

35 tools answering
Verified Handles
by verifiedhandles

Look up people, organisations and things, and their official social media accounts and identifiers.

5 tools 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 0 of 91 checks got a reply (0.0%), average response time 112 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 in the form 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.
Is Patina open source?
The code is open source: it is published under the MIT licence, written in TypeScript and 1 stars on GitHub. The licence covers the code in the repository, not the hosted service at patinadata.xyz, which runs on its operator's own terms.