WaxSeal
OfficialWaxSeal gives AI agents a cryptographic identity layer, enabling document signing, identity verification, and human-in-the-loop approvals backed by on-chain NFT identities.
Get platform overview (
waxseal.info): Retrieve a full overview of the WaxSeal trust infrastructure, available tiers, trust layers, and a guide to all MCP tools — no configuration required.Verify identities (
waxseal.identity.verify): Look up any WaxSeal fingerprint (64-char hex) on Ethereum, Base, or BNB Chain to confirm the owner's display name, wallet address, chain, lifecycle status, and public key.Sign documents (
waxseal.document.sign): Attach a tamper-evident Ed25519 signature to any text, code, or artifact using your WaxSeal private key — requiresWAXSEAL_PRIVATE_KEY_PEM.Verify signatures (
waxseal.signature.verify): Confirm that a document or message was genuinely signed by the holder of a specific on-chain fingerprint, fetching the public key directly from the blockchain.Create human approval tokens (
waxseal.approval.create): Generate a cryptographically signed, time-limited approval token that proves you explicitly authorized a specific AI agent action — requiresWAXSEAL_PRIVATE_KEY_PEM.Verify approval tokens (
waxseal.approval.verify): Validate an approval token before an agent executes a high-risk or irreversible action, checking the signature, expiry, and optionally confirming the signer's on-chain identity.
Brings cryptographic signing and approval verification to Windsurf (by Codeium), allowing AI agents to require human approval before executing high-risk actions.
Packages
Package | What it is | Install |
Browser + Node SDK — verify identities, validate signatures, embed badges, verify webhooks |
| |
MCP server for Claude, Cursor, Windsurf, and VS Code — verify identities, sign documents, gate AI actions with human approvals |
|
Related MCP server: Agent Receipts
@waxseal/mcp — for AI agents
Give Claude, Cursor, Windsurf, or VS Code Copilot a cryptographic identity layer in under two minutes.
{
"mcpServers": {
"waxseal": {
"command": "npx",
"args": ["-y", "@waxseal/mcp"],
"env": {
"WAXSEAL_PRIVATE_KEY_PEM": "-----BEGIN PRIVATE KEY-----\n<your key>\n-----END PRIVATE KEY-----"
}
}
}
}No install needed. Use the hosted server in any HTTP-capable MCP client:
https://api.waxseal.id/mcp
What the 6 tools give your agent:
Tool | What it does | Key needed? |
| Platform overview, tiers, and tool guide | No |
| Look up fingerprint → name, chain, wallet, status | No |
| Confirm an Ed25519 signature against an on-chain key | No |
| Validate a human approval token before executing | No |
| Sign any content with your WaxSeal private key | Yes |
| Create a signed, time-limited approval token | Yes |
Verify-only tools work with zero configuration. Signing tools require WAXSEAL_PRIVATE_KEY_PEM.
→ Full MCP docs · Smithery listing · npm
@waxseal/verify — for apps and backends {#waxsealverify}
npm install @waxseal/verifyWorks in React, Vue, Node.js, n8n, serverless functions, and any runtime with fetch.
Two modes, one fingerprint
Mode 1 · Badge Verification
"Does this WaxSeal exist and is it real?"
Confirm a seal is on-chain. No user interaction required — the fingerprint alone is enough.
Use cases
✦ Verified author badge on blog posts and articles
✦ Contributor identity on GitHub-style tools
✦ Publisher verification on CMS platforms
✦ Prove you created something before AI did
import { verifySeal } from "@waxseal/verify";
const seal = await verifySeal({ fingerprint: "a1b2c3d4..." });
if (seal.valid && seal.onChain) {
console.log(seal.displayName, "·", seal.chain);
// "Ada Lovelace · base"
}Mode 2 · Login & Action Approval
"Did this person sign this, right now?"
A signed challenge proves the key holder is present — replaces passwords, OTP, and email loops entirely.
Use cases
✦ Passwordless sign-in — no email, no OTP, no credentials to breach
✦ Approve a document or high-value transaction
✦ Gate a comment, post, or vote behind verified identity
✦ Issue an API key only to verified seal holders
✦ Automate identity checks in n8n / Make.com / Zapier
const seal = await verifySeal({
fingerprint: "a1b2c3d4...",
message: "I approve this transfer.",
signature: "base64url...",
});
if (seal.valid && seal.onChain && seal.signatureValid) {
// Cryptographic proof — no password, no session token
}React Badge
import { WaxSealBadge } from "@waxseal/verify/badge";
<WaxSealBadge fingerprint="a1b2c3d4..." />Or build your own:
import { useEffect, useState } from "react";
import { verifySeal, type VerifyResult } from "@waxseal/verify";
export function SealBadge({ fingerprint }: { fingerprint: string }) {
const [seal, setSeal] = useState<VerifyResult | null>(null);
useEffect(() => {
let active = true;
verifySeal({ fingerprint }).then((r) => active && setSeal(r));
return () => { active = false; };
}, [fingerprint]);
if (!seal?.valid || !seal.onChain) return null;
return (
<a href={`https://waxseal.id/seal/${seal.fingerprint}`} target="_blank" rel="noopener noreferrer">
✦ {seal.displayName ?? seal.fingerprint.slice(0, 8)}
</a>
);
}HTML Embed (no build step)
<script src="https://waxseal.id/embed.js"></script>
<span data-wax-seal="YOUR_64_CHAR_FINGERPRINT"></span>Email — script tags are blocked by mail clients. Use a plain link instead:
<a href="https://waxseal.id/seal/YOUR_FINGERPRINT">Verify my Wax Seal</a>
Webhook Verification
import { verifyWebhookSignature, isWaxSealWebhookEvent } from "@waxseal/verify/webhooks";
app.post("/webhook/waxseal", express.raw({ type: "*/*" }), (req, res) => {
const valid = verifyWebhookSignature({
body: req.body,
signature: String(req.headers["x-waxseal-signature"]),
secret: process.env.WAXSEAL_WEBHOOK_SECRET,
});
if (!valid) return res.status(401).send("Invalid signature");
const event = JSON.parse(req.body.toString());
if (isWaxSealWebhookEvent(event, "seal.minted")) {
console.log("New seal:", event.data.fingerprint, "on", event.data.chain);
}
res.sendStatus(200);
});Webhook events
Event | When it fires |
| A seal was verified via the API |
| A new seal NFT was minted on-chain |
| Seal name, avatar, or metadata changed |
| A seal holder started a paid subscription |
| A subscription expired or was cancelled |
| A login challenge was verified — user authenticated |
REST API — no SDK, no key required
POST https://api.waxseal.id/v1/verify
Content-Type: application/json
{
"fingerprint": "<64-char hex>",
"message": "...",
"signature": "..."
}{
"valid": true,
"onChain": true,
"chain": "base",
"displayName": "Ada Lovelace",
"walletAddress": "0x…",
"signatureValid": true,
"verifiedAt": "2026-01-01T00:00:00Z"
}Works with everything
Stack | How |
React / Vue / Svelte |
|
Node.js / Express | Same package + webhook helper |
n8n | HTTP Request node → REST API, or npm package in Code node |
Make.com | HTTP module → REST API |
Zapier | Webhook by Zapier trigger |
PHP / Python / Go | Plain HTTP POST to the REST API |
Static HTML / CMS | Two-line |
Claude / Cursor / Windsurf / VS Code |
VerifyResult type
type VerifyResult = {
valid: boolean;
fingerprint: string;
onChain: boolean;
chain?: "ethereum" | "base" | "bnb";
walletAddress?: string;
displayName?: string;
publicKeyConfirmed?: boolean;
signatureValid?: boolean;
verifiedAt?: string;
error?: string;
};MIT © Wax Seal
Available Tools
6 toolswaxseal.approval.createA
Create a signed approval token that proves a human explicitly authorized a specific AI agent action. The token encodes the action, context, expiry, and is signed with the user's WaxSeal key. Pass the token to the AI agent — it calls waxseal.approval.verify before executing. Requires WAXSEAL_PRIVATE_KEY_PEM.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Description of the action being approved (e.g. 'Deploy v2.1.0 to production', 'Transfer 500 USDC to vendor wallet 0xabc...'). | |
| context | No | Additional parameters or context for the action (optional). | |
| expires_in_minutes | No | Minutes until the approval expires. Defaults to 10. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the token encodes action, context, expiry, is signed, and requires a private key. However, it does not detail error conditions (e.g., invalid key) or output format. Overall, good transparency for a simple crypto token creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each essential: purpose, encoding details, and usage workflow. It is front-loaded with the main goal and avoids fluff. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple invocation (3 params, no output schema), the description covers creation, usage, and prerequisite. It lacks explicit mention of the output type (e.g., string token) and error scenarios. However, it is largely complete for an agent to understand usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description reinforces the parameter purposes (e.g., action as description) but does not add significant new meaning beyond the schema, which already has clear examples. No extra value beyond confirmation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a signed approval token proving human authorization for an AI agent action. It distinguishes from siblings like waxseal.approval.verify by explaining the workflow (pass token to agent, which verifies). The verb 'create' and resource 'approval token' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use: when a human needs to authorize an AI agent action. It mentions the workflow (pass token to agent) and a prerequisite (requires WAXSEAL_PRIVATE_KEY_PEM). It does not explicitly state when not to use, but sibling differentiation is clear from the workflow mention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
waxseal.approval.verifyA
Verify a WaxSeal approval token before an AI agent executes a high-risk or irreversible action. Checks the cryptographic signature, expiry, and optionally confirms the signer's fingerprint. Returns valid: true only when the token is authentic, unexpired, and the signer is on-chain.
| Name | Required | Description | Default |
|---|---|---|---|
| approval_token | Yes | The base64-encoded approval token returned by waxseal.approval.create. | |
| expected_fingerprint | No | If provided, the verification also confirms the token was signed by this specific fingerprint. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that verification checks signature, expiry, and optionally fingerprint, and returns valid: true only when conditions are met. This is transparent, though it could mention read-only nature or potential error responses.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: first sets purpose and usage context, second details verification steps, third defines the success condition. Every sentence is informative and essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters and no output schema, the description covers input semantics and the return condition for success. However, it does not describe error responses or the shape of failure, which would complete the picture for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, and the description adds value by linking approval_token to its creation (waxseal.approval.create) and explaining expected_fingerprint's conditional behavior. This goes beyond the schema's bare descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool verifies a WaxSeal approval token, specifying the action (verify), resource (approval token), and what it checks (cryptographic signature, expiry, optionally fingerprint). It distinguishes from siblings like waxseal.approval.create and waxseal.signature.verify by focusing on approval tokens specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using this tool 'before an AI agent executes a high-risk or irreversible action,' providing clear context. While it does not list alternatives or when not to use, the context is sufficient for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
waxseal.document.signA
Sign a document or message with the user's WaxSeal Ed25519 private key. Requires the WAXSEAL_PRIVATE_KEY_PEM environment variable to be set. Returns the fingerprint, SHA-256 content hash, and base64 Ed25519 signature — verifiable by anyone using waxseal.signature.verify.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The document text or data to sign. | |
| description | No | Human-readable label for what is being signed (optional, informational only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses return values and verifiability but does not state whether the operation is side-effect-free or if multiple calls are safe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no wasted words. Efficiently communicates key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two simple parameters and no output schema, the description fully explains inputs, prerequisites, and return values (fingerprint, hash, signature). The verifiability note adds useful context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; both parameters are documented in the schema. Description only restates the 'description' param's purpose, adding no new information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Sign'), the resource ('document or message'), and the key algorithm ('WaxSeal Ed25519 private key'). It differentiates from siblings by mentioning verifiability via waxseal.signature.verify.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly requires the WAXSEAL_PRIVATE_KEY_PEM environment variable, setting a clear prerequisite. Implicitly contrasts with verification tools in siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
waxseal.identity.verifyA
Look up a WaxSeal cryptographic identity by its 64-character hex fingerprint. Returns on-chain status, display name, chain, owner wallet, lifecycle status, and the public key. Works for any minted WaxSeal on Ethereum, Base, or BNB Chain.
| Name | Required | Description | Default |
|---|---|---|---|
| fingerprint | Yes | 64-character hex fingerprint — the SHA-256 of the raw Ed25519 public key. Also accepted with a 0x prefix. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It explicitly lists the returned fields (on-chain status, display name, chain, owner wallet, lifecycle status, public key), making it clear this is a read-only operation. It does not disclose potential side effects or auth needs, but those are likely irrelevant for a lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. The first sentence states the action and input, the second lists outputs and scope. Every sentence adds value, and the key info is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 param, no output schema, no nested objects), the description is complete enough: it covers input format, output contents, and supported chains. Missing error handling or edge cases, but these are minor for a straightforward lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for 'fingerprint'. The description adds utility details: SHA-256 of Ed25519 public key and optional 0x prefix, which goes beyond the schema's baseline and helps the agent format input correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: look up a WaxSeal cryptographic identity by hex fingerprint. It distinguishes from sibling tools (approvals, signatures, info) by specifying it returns identity-related data like on-chain status, display name, chain, owner, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: when you have a fingerprint and want identity details. It mentions supported chains but provides no explicit when-not-to-use or alternatives. Minimal guidance beyond the core purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
waxseal.infoA
Returns an overview of the WaxSeal cryptographic trust infrastructure platform — what it is, the 11 trust layers it covers, available tiers, and how to use these MCP tools. Call this first if you are unfamiliar with WaxSeal.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It accurately describes a non-destructive, read-only operation returning an overview. No side effects or permissions are needed, but it could mention if any authentication is required, though not critical for an info tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the key information. Every word serves a purpose, and there is no redundancy or wasted space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, no-output-schema info tool, the description fully covers what the tool does, what it returns, and when to use it. It is complete and leaves no gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the schema coverage is trivially 100%. According to the rubric, a baseline of 4 is appropriate when there are zero parameters, as there is no additional information needed beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns an overview of the WaxSeal platform, including its trust layers, tiers, and usage guidance. It effectively distinguishes itself from sibling tools (e.g., waxseal.approval.create) which perform specific actions, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to call this first if unfamiliar with WaxSeal, providing clear context for when to use. However, it does not explicitly state when not to use it or suggest alternatives for familiar users, so it falls slightly short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
waxseal.signature.verifyA
Verify an Ed25519 signature produced by waxseal.document.sign (or any WaxSeal-compatible signer). Fetches the public key for the fingerprint from the WaxSeal network, then verifies locally. The seal must be minted on-chain for verification to succeed.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The original document text or data that was signed. | |
| signature | Yes | Base64 Ed25519 signature returned by waxseal.document.sign. | |
| fingerprint | Yes | 64-character hex fingerprint of the signer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description effectively discloses key behaviors: it fetches the public key from the WaxSeal network and performs local verification. It explains a precondition (on-chain minting). However, it could be more explicit about potential failures (e.g., network issues, invalid signature format) or success conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long with no fluff. The first sentence immediately states the core purpose, followed by two sentences explaining the verification process and a key requirement. Each sentence adds essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is simple with 3 well-documented parameters and no output schema, the description covers the main actions and preconditions. However, it does not specify the return value (presumably boolean or status), which is helpful for an agent to interpret the result. This gap prevents a higher score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and parameter descriptions are already informative. The tool description adds context that the signature is 'Base64 Ed25519 signature returned by waxseal.document.sign' and the fingerprint is '64-character hex', which helps agents understand the expected formats beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: verifying an Ed25519 signature produced by a specific signer. It specifies the algorithm, the source (WaxSeal network), and a precondition. Differentiates from sibling tools like waxseal.approval.verify and waxseal.identity.verify by focusing on pure signature verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use the tool: after signing with waxseal.document.sign or any WaxSeal-compatible signer. It also mentions a precondition (seal must be minted on-chain). While it doesn't explicitly state when not to use or list alternatives, the context is clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v0.1.0- First observed
waxseal.approval.create - First observed
waxseal.approval.verify - First observed
waxseal.document.sign - First observed
waxseal.identity.verify - First observed
waxseal.info - First observed
waxseal.signature.verify
TDQS
Scored across 6 tools
Each tool has a uniquely defined purpose: creating/verifying approval tokens, signing/verifying documents, looking up identities, and returning platform info. No two tools overlap in functionality.
All tools follow a strict waxseal.<category>.<action> naming scheme (e.g., waxseal.approval.create, waxseal.identity.verify). Verbs and categories are consistently applied.
6 tools cover the essential operations of a cryptographic trust platform: identity, signatures, approvals, and info. The number is well-balanced and not excessive or insufficient.
The tool set covers the core workflow—sign, verify, approve, lookup identity, and get info. A minor gap is the lack of revocation or listing operations, but the primary use cases are addressed.
Maintenance
Related MCP Connectors
Give AI agents identity, permissions, and reusable proof through one MCP.
Tamper-evident proof creation and verification for AI agents via MCP, A2A, and REST.
Truth-validated, SHA-512-sealed AI memory for Claude & Cursor. Free tier, OAuth, 38 tools.
MCP-native Trust Infrastructure for AI Agents. Persistent encrypted memory with Trust Quotient.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceOn-chain trust verification for AI agent tools. Agents query skill attestations, audit levels, and risk scores before running third-party MCP servers, so you know what's safe before you execute.1-
- AlicenseAqualityCmaintenanceCryptographic accountability for AI agents. Ed25519-signed receipts for every MCP tool call. Constraints, chains, AI judgment, invoicing, and local dashboard included.246 npm1MIT

01 Protocol MCP Serverofficial
FlicenseNot gradedqualityDmaintenanceEnables creation, verification, and evolution of cryptographically verifiable AI agent identities (.01ai) via MCP for Claude Desktop and other MCP clients.1-- AlicenseNot gradedqualityDmaintenanceE-signature for AI agents. An MCP server that lets Claude Code, Cursor, Zed, or any MCP-aware agent prepare, send, track, and seal legally binding documents without a human ever touching a mouse.6 npmMIT