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

Safehold

by Spacetime-Technologyversion 1.2.0i★ –iRuns on your computer
Registry nameio.github.Spacetime-Technology/safehold

Install

Overview

Description from the maker (original English)

Local, encrypted MCP vault for passports, IDs, visas and photos. You control access.

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 on your computer
  • Transport: stdio
  • Category: Other

Install

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

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

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

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "safehold": {
      "command": "npx",
      "args": [
        "-y",
        "safehold"
      ]
    }
  }
}

Run this in your terminal

claude mcp add safehold -- npx -y safehold

Open in Cursor

Or copy the settings yourself

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

{
  "mcpServers": {
    "safehold": {
      "command": "npx",
      "args": [
        "-y",
        "safehold"
      ]
    }
  }
}

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": {
    "safehold": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "safehold"
      ]
    }
  }
}

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 one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

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

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

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

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 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account Spacetime-Technology, which owns the repo

  • … 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

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 32680 servers in this category
  • Published to the registry more recently than 9% of the other 32680 servers in this category
  • Basic checks equal to or better than 100% of the other 32680 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 Safehold safe?

It passed 1 of 1 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?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.2.0) reached the registry 6 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod

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

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

EmbeddedCI BenchPod

by embeddedci-com

Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.

Runs on your computerUpdated today
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.

Safehold

Your identity documents, on your machine, shared only when you say so.

What it is

Safehold is a local MCP server that stores passports, visas, driving licences, and other identity documents. When an AI agent needs your passport number to book a flight, it asks Safehold. You see what's being requested and why, then approve or deny. Nothing leaves your device.

Why it exists

Your identity data is scattered across dozens of services you don't control: banks, airlines, government portals, SaaS products. Each one holds a copy and decides for itself how to store it, whether to sell it, and how long it'll stick around. AI agents make this worse. Anything an agent can access, every API it touches can reach too.

Safehold is the alternative. The agent gets a field value. You get a consent prompt instead of a privacy policy. Your files stay where they are.

Open source, so none of this requires trust.

What it isn't

A few things that get confused with safehold but solve a different problem.

1Password, Bitwarden, op CLI

You can stuff a passport into 1Password. The op CLI can read specific fields. There's even an official 1Password MCP server now. So yes, parts of this overlap.

What's different is the trust model. Once your 1Password vault is unlocked, anything with that session can read anything in it. No per-field consent, no "why are you asking for this?" prompt. The vault is built for humans typing passwords, not for agents pulling structured fields with a stated reason.

Safehold gates each field individually, every time, with a purpose attached.

Browser autofill, Apple Passwords, iCloud Keychain

Works fine if your agent is a browser filling a form. Doesn't help when it isn't. Agents working over APIs, CLI tools, or other MCP servers never see the autofill layer, so you end up copy-pasting from a passwords app into a chat anyway. Safehold gives a non-browser agent a way to request a passport number without that detour.

Apple Wallet, Google Wallet, government digital ID apps

Locked to the platform. Apple Wallet won't hand your boarding pass to a third-party agent. mDL pilots and the EU eIDAS wallet are issuer-controlled and narrow in scope. None of them speak MCP, and none will let an agent on your laptop request a field from your driving licence.

Pasting it into the chat

People do this. They drop their passport number into a system prompt, or type it into a message and trust the agent to handle it. The number then lives in chat history, gets shipped to the model provider, and sticks around in their logs. You also have no record of which agent used it for what.

Safehold keeps the document on disk, encrypted, and only releases the one field the agent asked for. Nothing extra ends up in the conversation.

A plain JSON file plus the filesystem MCP

Tempting if you're a developer. ~/identity.json plus the filesystem MCP is three lines of config and done. It also gives every other agent on the box the same access, with no encryption at rest, no logging, and no consent step. The first time that file shows up in a backup or a screen share, you have a problem.

Persona, Stripe Identity, Onfido, Plaid

KYC vendors. You send them your documents, they store them, and partner services query them on your behalf. The model assumes you don't hold the keys. Safehold takes the other direction: documents stay on your machine and you approve every release.

HashiCorp Vault, AWS Secrets Manager, Doppler, Infisical

Built for service secrets, not personal identity. No human-facing consent flow, no schema for documents, and operationally heavy for someone who just wants their passport readable by an agent on their laptop.

How it works

Safehold runs as a stdio MCP server. Documents go into ~/.safehold/vault/ as individual encrypted files. Every retrieval is logged to ~/.safehold/access-log.enc.

Encryption is XChaCha20-Poly1305 via @noble/ciphers, audited by Cure53, no external dependencies. On first run a 32-byte key is written to ~/.safehold/master.key (mode 0600).

Other MCP clients can request specific fields from your documents. You control what gets shared, every time.

Tools (v1)

ToolDescription
add_documentAdd a document to the vault
list_documentsList stored documents (metadata only)
update_documentUpdate fields on an existing document
delete_documentPermanently delete a document
get_passportRetrieve specific fields from a passport
get_national_idRetrieve specific fields from a national ID
get_driving_licenseRetrieve specific fields from a driving licence
get_visaRetrieve specific fields from a visa
get_photoRetrieve a stored photo (passport style, selfie, or signature)
get_documentRetrieve fields from any document type
get_access_logView what was accessed, by which client, and when

Every retrieval tool accepts a purpose parameter. That purpose is shown to you at consent time so you always know why a field is being requested.

Prompts (v1)

Safehold also ships ready-made workflow prompts. These show up as slash commands in MCP clients (Claude Desktop, Cursor, Claude Code, Zed) so common tasks don't have to be re-prompted from scratch.

PromptDescription
onboard_documentGuided intake to add or update a passport, national ID, driving licence, or visa
travel_preflightCheck passport and visa validity for an upcoming trip
selective_shareShare the minimum a service actually needs, with an explicit consent purpose
expiry_auditSurface anything expiring soon (metadata only, no consent prompts)

Prompts don't access your data themselves. They tell the calling agent which Safehold tools to call, in what order, and with what purpose. Every retrieval still goes through the normal consent flow.

Skills

safehold-skills is a companion package of Claude Code skills that turn Safehold from a vault into finished workflows: airline check-in, ESTA applications, KYC forms, and so on. Each skill pairs Safehold with a browser MCP and asks for fields one at a time with a precise purpose string.

npx safehold-skills install

Quick Install

Requires Node.js >=20. No build step.

Most clients use the same JSON config — just the file path differs:

{

"mcpServers": { "safehold": { "command": "npx", "args": ["-y", "safehold@latest"] } } }

ClientConfig file
Claude Desktop (macOS)~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop (Windows)%APPDATA%\Claude\claude_desktop_config.json
Cursor (project).cursor/mcp.json
Cursor (global)~/.cursor/mcp.json
Windsurf~/.codeium/windsurf/mcp_config.json
Amazon Q Developer (global)~/.aws/amazonq/mcp.json
Amazon Q Developer (project).amazonq/mcp.json

Clients with slightly different config formats:

Claude Code (CLI)

claude mcp add safehold npx -- -y safehold@latest

VS Code (GitHub Copilot) — uses "servers" key, enable Agent mode in Copilot Chat. Edit .vscode/mcp.json (project) or ~/Library/Application Support/Code/User/mcp.json (global, macOS):

{

"servers": { "safehold": { "command": "npx", "args": ["-y", "safehold@latest"] } } }

Zed — uses "context_servers" key in ~/.config/zed/settings.json:

{

"context_servers": { "safehold": { "command": "npx", "args": ["-y", "safehold@latest"] } } }

OpenAI Codex CLI — TOML format in ~/.codex/config.toml:

[mcp_servers.safehold]

command = "npx" args = ["-y", "safehold@latest"]

Continue.dev — create .continue/mcpServers/safehold.json (enable Agent mode):

{

"command": "npx", "args": ["-y", "safehold@latest"] }

Hermes (Nous Research) — YAML format in ~/.hermes/config.yaml:

mcp_servers:

safehold: command: npx args: ["-y", "safehold@latest"]

OpenClaw — uses "servers" key in ~/.openclaw/mcp.json:

{

"servers": { "safehold": { "command": "npx", "args": ["-y", "safehold@latest"] } } }


Roadmap

  • get_travel_authorization - ESTA, eTA, UK ETA, and similar
  • get_vaccination_certificate - international vaccination records
  • get_residency_permit - BRP, Green Card, and equivalents
  • get_birth_certificate
  • get_tax_id - NI number, SSN, TFN, and equivalents
  • get_proof_of_address - utility bills, bank letters
  • get_travel_insurance

Development

npm install

npm test # run tests npm run typecheck # type check npm run build # compile to dist/ npm run dev # run directly with tsx (no build step)

Releasing

npm version patch   # bug fix  (0.1.0 → 0.1.1)

npm version minor # feature (0.1.0 → 0.2.0) npm version major # breaking (0.1.0 → 1.0.0)

Checks that you're on a clean, up-to-date main branch, bumps the version, commits, tags, and pushes. CI publishes to npm.

Built by

Spacetime Technology

Ask PopNx