Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Verified Handles

by jameshaworthcsversion 1.59.1i★ –iRuns in the cloud
Registry nameorg.verifiedhandles/verified-handles

Install

Overview

Description from the maker (original English)

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

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs in the cloud
  • Transport: Streamable HTTP
  • Category: Marketing & social media
  • You need to fill in: Authorization

Install

Pick the AI app you use, then copy the settings.

Before you install

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Run this in your terminal

claude mcp add --transport http verified-handles https://verifiedhandles.org/mcp --header 'Authorization: your-value'

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "verified-handles": {
      "url": "https://verifiedhandles.org/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "verified-handles": {
      "type": "http",
      "url": "https://verifiedhandles.org/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • Authorization secret HTTP header
    Optional: Bearer and your Verified Handles API key, to act as your account. Leave it out to read with no key. How to make a key: https://verifiedhandles.org/developers/mcp#keys

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 8, 2026. The maker wrote them, not us; we show them as plain text.

  • get_entry

    One entry, by VHID, short name or Wikidata QID: its public record (title, description, handles, image, URL) and, as `editing`, what the editor would load for this key — the current revision, the editable fields, every handle with who manages it (the Wikidata sync or the site), wh

  • search_entries

    Search the entries as the site search does: words match titles, subtitles and descriptions; a Wikidata QID finds the entries linked to it; a VHID finds that entry and the entries that link to it.

  • find_by_handle

    Which public entries list a handle: “is x.com/someone an official account, and whose?”. Give a profile’s address as url (https://x.com/someone), or platform (its catalog id: twitter, instagram, youtube, …) and value (someone or @someone). Answers each entry’s VHID, title and URL,

  • get_entry_history

    An entry’s public edit history, newest first (`next_offset` pages on). A merged entry’s key gives its own history.

  • get_entries

    Up to 50 entries’ public records in one call, by VHID or short name (not a Wikidata QID: get_entry or search_entries finds an entry by its item), each answered as get_entry answers it signed out — the entry, or not_found — in the order given. A name given twice is answered once.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain verifiedhandles.org (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 482 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 5 tool descriptions and found no hidden instructions to the AI

Compared with others in Marketing & social mediai

  • More stars than 0% of the other 3579 servers in this category
  • Published to the registry more recently than 58% of the other 3579 servers in this category
  • Basic checks equal to or better than 100% of the other 3579 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Verified Handles safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: Authorization

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.59.1) reached the registry 22 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

An MCP server retrieving transcripts of YouTube videos

Runs on your computer★ 495MITUpdated 11 days ago
Install

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

Runs on your computer★ 244MITUpdated 10 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Verified Handles MCP server

Verified Handles lists people, organisations and things with their official social media accounts and other identifiers. Its MCP server lets an AI agent look entries up, search them and read their history with no key, and, with your key or your account, do what you can do on the site.

This repository holds what you need to connect to it: the server itself runs at https://verifiedhandles.org/mcp, and its code is not here. The full guide, with every tool, is at https://verifiedhandles.org/developers/mcp.

  • Version 1.59.1: what changed is in CHANGELOG.md.
  • The tools, as the server lists them: with no key and with a registered account’s key, each with its input and output schemas.
  • A Claude Desktop extension to install in one click: mcpb/.
  • The MCP Registry listing: server.json.
  • A problem or a question? Open an issue.

The guides below are the ones at https://verifiedhandles.org/developers/mcp, word for word, so “this site” and “here” in them mean verifiedhandles.org.

What MCP is here

MCP, the Model Context Protocol, is how an AI agent (Claude, Cursor, Copilot and others) uses a service through tools it can call. The Verified Handles server is at https://verifiedhandles.org/mcp, over MCP’s Streamable HTTP transport. It is stateless: each message is one POST, answered in JSON, with no session to keep.

Every tool goes through the same routes and checks as the site and the rest of the API: an agent can do nothing you could not do yourself, and with a key it acts as you. Nothing is changed by accident: every tool that changes something only shows what it would do until it is told otherwise (see dry runs).

The server is listed in the MCP Registry as org.verifiedhandles/verified-handles, and its setup guides, changelog and a Claude Desktop extension are on GitHub.

Before connecting, a client can read the server’s card, with its name, version and addresses, at https://verifiedhandles.org/mcp/server-card. Agent finders find the server, and the read API, in https://verifiedhandles.org/.well-known/ard.json.

No key, a read-only key, or a full key

Connected withTools listedActs as
No keyThe public reads that need nothing else: get_entry, search_entries, find_by_handle, get_entry_history and get_entries. Just leave out the Authorization header.A signed-out visitor: the public record only.
A read-only keyEvery read tool your role is listed, and no tool that changes anything.You, reading.
A keyEvery tool your role is listed (see which tools each role is listed).You, at the lower of the key’s role ceiling and your role today.

A key that is sent but wrong, revoked or expired is refused with 401; it is never treated as no key. Answers are never cached, by anyone.

Getting a key

Any account can make a key: registered accounts and trusted editors may by default, and administrators hold every permission. (An administrator can take the permission away from an account.) Sign in, choose Console in the menu, then Account, then Manage API keys.

  • The key is shown once, when it is made, as vhk_ _ . Keep it somewhere safe; if it leaks, revoke it on the same page and it stops working at once.
  • A role ceiling at or below your own role: the key never acts as more, and a role taken from you is taken from your keys too.
  • Read-only, if you only read: the agent is then listed no tool that changes anything.
  • An expiry of 1 to 90 days. You can keep up to 5 keys at once.

Connect with your account (OAuth)

Clients that sign in with OAuth (Claude, Claude Code, ChatGPT, VS Code, Cursor) can act as you without an API key. Connect them to https://verifiedhandles.org/mcp/account: they open a Verified Handles page where you sign in and choose what they may do: a role ceiling, read only, and for how long (7, 30 or 90 days).

https://verifiedhandles.org/mcp stays as it is: with no key, the public reads; with an API key, your account. Your connected apps are on Console → Account → API keys, where you can disconnect one; you can have up to 10 at once. For clients that can’t sign in this way, such as scripts, use an API key as before.

Claude Code

*In a terminal*

claude mcp add --transport http verified-handles https://verifiedhandles.org/mcp/account

Then run /mcp in Claude Code, choose verified-handles and Authenticate: your browser opens the Verified Handles page.

claude.ai and Claude’s apps

Add a custom connector (Settings, Connectors, Add custom connector) with the address https://verifiedhandles.org/mcp/account, leaving the advanced settings empty, then choose Connect.

VS Code

*.vscode/mcp.json*

{

"servers": { "verified-handles": { "type": "http", "url": "https://verifiedhandles.org/mcp/account" } } }

VS Code asks you to sign in the first time it connects.

ChatGPT

In developer mode, create a connector with the address https://verifiedhandles.org/mcp/account and OAuth as its authentication. Or start with https://verifiedhandles.org/mcp and no key: it reads, and ChatGPT can link your Verified Handles account later, when it asks you to.

Cursor, and other apps that register themselves

Some clients, Cursor among them, publish no details of their own: they register themselves with Verified Handles the first time they connect. That works, but nobody can check who made an app like that, so the page marks it Unverified app, and your API keys page marks it Unverified too. Instead of where its details are published, it shows where the app sends you back to: a web address, your own computer, or for an app on your device, the kind of address it opens (such as com.example.app:). Any app can call itself anything, so allow one only if you started connecting it yourself, just now.

*Cursor: mcp.json*

{

"mcpServers": { "verified-handles": { "url": "https://verifiedhandles.org/mcp/account" } } }

With no headers, Cursor asks you to sign in when it connects. To use an API key instead, see Setting up your client.

What the page asks

The page names the app as it describes itself, the web address its details are published at, and where it sends you back to. Only allow an app you started connecting yourself, just now. It can do what your account can do, never more than the role you pick, and never more than your own role if that changes. When its days are up it asks again; you can disconnect it sooner.

For client authors
  • A request to https://verifiedhandles.org/mcp/account with no token answers 401 with WWW-Authenticate: Bearer resource_metadata="https://verifiedhandles.org/.well-known/oauth-protected-resource/mcp/account", scope="mcp". The metadata is at https://verifiedhandles.org/.well-known/oauth-protected-resource/mcp/account (RFC 9728) and https://verifiedhandles.org/.well-known/oauth-authorization-server (RFC 8414).
  • A client registers with a Client ID Metadata Document: its client_id is the https address of that document. Without one, it can register at https://verifiedhandles.org/oauth/register (Dynamic Client Registration, RFC 7591), and the person sees it marked unverified. Either way there is no client secret. A registered client’s redirect URIs are https:, loopback http: (any port then matches) or a private-use scheme with a dot (RFC 8252 §7.1, such as com.example.app:/callback); others are dropped. At most 10 registrations an hour from one address; one never used is deleted after 24 hours.
  • The authorization code flow with PKCE, S256 only. Send resource: the address you connect to (https://verifiedhandles.org/mcp/account, or https://verifiedhandles.org/mcp); a token works there and nowhere else. The one scope is mcp, and iss comes back with the code.
  • A code works once, for 60 seconds; an access token for 1 hour. A refresh token is replaced each time it is used, and using an old one again ends the connection. Send the token as Authorization: Bearer, never in a query string; revoke it at https://verifiedhandles.org/oauth/revoke.

Setting up your client

Each recipe below connects with a key; for no key, leave the Authorization header (or the setting that sends it) out. Put your own key where it says vhk_ _ , and keep it out of anything you share or commit: where a client can read it from an environment variable, the recipe does.

Claude Code

*In a terminal*

# No key: the public reads

claude mcp add --transport http verified-handles https://verifiedhandles.org/mcp

With a key (add --scope user to have it in every project)

claude mcp add --transport http verified-handles https://verifiedhandles.org/mcp \ --header "Authorization: Bearer vhk_ _ "

Or in a project’s .mcp.json, with the key read from your environment when Claude Code starts:

*.mcp.json*

{

"mcpServers": { "verified-handles": { "type": "http", "url": "https://verifiedhandles.org/mcp", "headers": { "Authorization": "Bearer ${VH_API_KEY}" } } } }

Cursor

In ~/.cursor/mcp.json (every project) or a project’s .cursor/mcp.json:

*mcp.json*

{

"mcpServers": { "verified-handles": { "url": "https://verifiedhandles.org/mcp", "headers": { "Authorization": "Bearer ${env:VH_API_KEY}" } } } }

VS Code

In a workspace’s .vscode/mcp.json. VS Code asks for the key the first time and keeps it, so it never sits in the file:

*.vscode/mcp.json*

{

"inputs": [ { "type": "promptString", "id": "vh-api-key", "description": "Verified Handles API key", "password": true } ], "servers": { "verified-handles": { "type": "http", "url": "https://verifiedhandles.org/mcp", "headers": { "Authorization": "Bearer ${input:vh-api-key}" } } } }

Claude Desktop

Add it as a custom connector (Settings, Connectors, Add custom connector), as for claude.ai below. Or, through the mcp-remote bridge (it needs Node.js 18 or later), in claude_desktop_config.json. The key goes in env, because some clients do not pass a space inside an argument safely:

*claude\_desktop\_config.json*

{

"mcpServers": { "verified-handles": { "command": "npx", "args": [ "-y", "mcp-remote", "https://verifiedhandles.org/mcp", "--header", "Authorization:${AUTH_HEADER}" ], "env": { "AUTH_HEADER": "Bearer vhk_ _ " } } } }

claude.ai and other custom connectors

On claude.ai (and Claude’s desktop and mobile apps), add a custom connector with the address https://verifiedhandles.org/mcp. Choose No sign in: with nothing more, it reads with no key. To use your key, add a request header Authorization with the value Bearer vhk_ _ . The connector calls from Anthropic’s servers, not your computer, so it shares their addres

Only the beginning is shown; read the rest in the repo

Ask PopNx