# Verified Handles

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

- name: org.verifiedhandles/verified-handles
- version: 1.59.1
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 80/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/org.verifiedhandles%2Fverified-handles
- tools: https://api.protogrid.dev/v1/servers/org.verifiedhandles%2Fverified-handles/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

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

Placeholders to fill: `${VERIFIED_HANDLES_TOKEN}`.

## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-4d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 80/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 5 of 5 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_entry (destructiveHint, idempotentHint); find_by_handle (destructiveHint, idempotentHint); get_entry_history (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 990 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 10 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 5, about 990 tokens to load them all
- tool set hash: 8f7ccc3b22ba5df267c0ed4cce5f7c41
- tools last changed: 2026-10-19T11:59:13.024Z
- badge: [![protogrid quality](https://protogrid.dev/badge/org.verifiedhandles/verified-handles.svg)](https://protogrid.dev/servers/org.verifiedhandles/verified-handles)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `get_entries` changed (outputSchema)
- 2026-10-19 `get_entry` changed (outputSchema)
- 2026-10-17 `get_entries` changed (outputSchema)
- 2026-10-17 `get_entry` changed (outputSchema)
- 2026-10-11 `get_entries` changed (outputSchema)
- 2026-10-11 `find_by_handle` added
  - 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, the handle as the entry lists it, and whether that handle is verified; an empty list when no entry lists it. Case is ignored where the platform ignores it. Email addresses are not looked up.
- 2026-10-11 `get_entry` changed (outputSchema)
- 2026-10-10 `get_entries` changed (outputSchema)
- 2026-10-10 `get_entry` changed (outputSchema)
- 2026-10-09 `get_entries` added
  - 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.

Full history: https://api.protogrid.dev/v1/servers/org.verifiedhandles%2Fverified-handles/changes

## Remotes

- https://verifiedhandles.org/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (5)

- `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, the handle as the entry lists it, and whether that handle is verified; an empty list when no entry lists it. Case is ignored where the platform ignores it. Email addresses are not looked up.
- `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.
- `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), which fields the sync manages, and whether this key may edit it live. Without an API key, the public record alone.
- `get_entry_history`: An entry’s public edit history, newest first (`next_offset` pages on). A merged entry’s key gives its own history.
- `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.
