io.github.uuaid/mcp
Permanent identity + encrypted, quantum-ready memory that outlives the session, for any AI agent.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
@uuaid/mcpclaude mcp add io-github-uuaid-mcp -e 'UUAID_API_KEY=<your uuaid_api_key>' -e 'UUAID_VAULT_KEY=<your uuaid_vault_key>' -e 'UUAID_AGENT=<UUAID_AGENT>' -e 'UUAID_BASE_URL=https://api.uuaid.org' -- npx -y @uuaid/mcp@0.1.1
{
"mcpServers": {
"io-github-uuaid-mcp": {
"command": "npx",
"args": [
"-y",
"@uuaid/mcp@0.1.1"
],
"env": {
"UUAID_API_KEY": "<your uuaid_api_key>",
"UUAID_VAULT_KEY": "<your uuaid_vault_key>",
"UUAID_AGENT": "<UUAID_AGENT>",
"UUAID_BASE_URL": "https://api.uuaid.org"
}
}
}
}
Environment variables
UUAID_API_KEYsecret UUAID partner API key. Optional at startup — call the uuaid_signup tool to mint a free-tier key.UUAID_VAULT_KEYsecret Client-side memory encryption key (uvk_...). Required for the memory tools; generate with `uuaid vault keygen`.UUAID_AGENTDefault agent identity (uuaid:foundation:agent:...) so memory tools bind to it automatically.UUAID_BASE_URLAPI base URL. Defaults to https://api.uuaid.org.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
UUAID
The verifiable identity layer for AI agents — the SSL/CA for agents.
A permanent, portable identity plus encrypted, quantum-ready memory that outlives the session. This monorepo holds the official TypeScript packages; the hosted registry, resolver, and on-chain anchor run at uuaid.org.
Protocol specifications live in uuaid/spec. The design argument, including the vulnerability we found in our own verifier, is at uuaid.org/know-your-agent.
Packages
| Package | npm | What |
|---|---|---|
@uuaid/core | @uuaid/core | UUAID grammar, JCS content hashing, crypto-agile signature envelope, Verifiable Badges (IAASO-0003) |
@uuaid/vault | @uuaid/vault | Client-side memory encryption (AES-256-GCM + hybrid X25519/ML-KEM-768) |
@uuaid/sdk | @uuaid/sdk | Typed client: signup, mint, save/recall memory, verify |
@uuaid/provenance | @uuaid/provenance | Media provenance (IAASO-0004) — bind an image, video or PDF to the agent that made it |
@uuaid/cli | @uuaid/cli | uuaid signup · register · badge · verify-badge · vault … |
@uuaid/mcp | @uuaid/mcp | MCP server — one config line makes any agent persistent |
Quickstart
npx @uuaid/cli signup "my-lab" # free API key, shown once
npx @uuaid/cli register "ci-bot" # permanent ID
import { UuaidClient, generateVaultKey } from "@uuaid/sdk";
const { api_key } = await UuaidClient.signup("My Agent Lab"); // free tier
const uuaid = new UuaidClient({ apiKey: api_key });
const { uuaid: id } = await uuaid.registerAgent({ display_name: "Aria" });
Verifying a badge
The one thing to get right, so it is worth stating before the code: a badge
envelope carries the signer's own public key. Well-formedness, the payload-hash
bind, signature validity, even a valid post-quantum signature — all of them pass
for a badge anybody minted with a fresh keypair and a copied keyId. Pinning the
issuer against a published root is the only step that turns a valid signature
into an identity claim.
verifyBadge therefore fails closed. No pin, no verdict.
import { parseBadgeSvg, verifyBadge } from "@uuaid/core";
const { keys } = await fetch("https://api.uuaid.org/.well-known/uuaid-registry.json").then(r => r.json());
const trustedIssuerKeys = Object.fromEntries(keys.map(k => [k.keyId, k.publicKey]));
const r = verifyBadge(parseBadgeSvg(svg), { trustedIssuerKeys });
r.ok // true only when the issuer pinned and the envelope is intact
r.level // "L1-trusted" | "L0-selfsigned" | "invalid" | …
r.nameVerified // did the registry vouch for the NAME on it? usually false
Omit trustedIssuerKeys and you get ok: false, level: "L0-selfsigned" — the
level a forgery reaches. See
IAASO-0003 §4.3.
Development
pnpm install
pnpm build && pnpm typecheck && pnpm test
Security
Found a badge that verifies and shouldn't? That is the most useful thing you can send us — security@uuaid.org, and see SECURITY.md.
Apache-2.0 — see LICENSE.
Frequently asked questions
What is io.github.uuaid/mcp?
Permanent identity + encrypted, quantum-ready memory that outlives the session, for any AI agent.
How do I install io.github.uuaid/mcp?
It runs on your machine. In Claude Code: claude mcp add io-github-uuaid-mcp -e 'UUAID_API_KEY=<your uuaid_api_key>' -e 'UUAID_VAULT_KEY=<your uuaid_vault_key>' -e 'UUAID_AGENT=<UUAID_AGENT>' -e 'UUAID_BASE_URL=https://api.uuaid.org' -- npx -y @uuaid/mcp@0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.uuaid/mcp need an API key?
Yes. It expects UUAID_API_KEY, UUAID_VAULT_KEY, which you set in its configuration.
Is io.github.uuaid/mcp open source?
Yes. Its code is on GitHub under the Apache-2.0 license.
Who maintains io.github.uuaid/mcp?
It is published by uuaid. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.