@cellar-door/mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@cellar-door/mcp-server Create a departure record for my agent leaving platform-x."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@cellar-door/mcp-server
𓉸 Passage Protocol · exit-door · entry-door · mcp · langchain · vercel · eliza · eas · erc-8004 · sign · python
⚠️ Pre-release software — no formal security audit has been conducted. This project is published for transparency, review, and community feedback. It should not be used in production systems where security guarantees are required. If you find a vulnerability, please report it to hawthornhollows@gmail.com.
Give any MCP-compatible AI (Claude, Cursor, Windsurf) the ability to create and verify agent departure records.
Ecosystem
Package | Language | Description |
TypeScript | Core protocol (reference impl) | |
Python | Core protocol | |
TypeScript | Arrival/entry markers | |
TypeScript | LangChain integration | |
Python | LangChain integration | |
TypeScript | Vercel AI SDK | |
TypeScript | MCP server ← you are here | |
TypeScript | ElizaOS plugin | |
TypeScript | EAS attestation anchoring | |
TypeScript | ERC-8004 identity/reputation | |
TypeScript | Sign Protocol attestation |
Related MCP server: 01 Protocol MCP Server
Quick Start
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"cellar-door": {
"command": "npx",
"args": ["@cellar-door/mcp-server"],
"env": {
"CELLAR_DOOR_SERVER_POLICY": "STRICT"
}
}
}
}Restart Claude Desktop. You can now say:
"Create a departure record for my agent leaving platform-x.example.com"
Claude will call the quick_exit tool and return a signed, verifiable EXIT marker.
Cursor / Windsurf
npm install @cellar-door/mcp-serverPoint your MCP client at the server. It exposes 7 tools automatically.
Tools
EXIT Tools
Tool | Description |
| Generate an Ed25519 DID keypair for signing |
| One-shot: create + sign a departure marker |
| Create and sign a marker with full options |
| Verify a marker from JSON |
ENTRY Tools
Tool | Description |
| Verify EXIT marker, evaluate admission policy, create arrival |
| Check if EXIT marker meets an admission policy |
| Verify a complete EXIT→ENTRY transfer chain |
| List available admission policy presets |
⚠️ Security: Admission Policy
IMPORTANT: By default, the server uses
STRICTadmission policy when no policy is specified by the LLM. This is intentional; an LLM can freely choose the most permissive policy (OPEN_DOOR) or omit the parameter entirely to bypass admission checks.For production deployments, always set a server-side policy override using one of:
Environment variable:
CELLAR_DOOR_SERVER_POLICY=STRICT(orEMERGENCY_ONLY)Constructor option:
createServer({ serverPolicy: "STRICT" })When
serverPolicyis set, any LLM-providedadmissionPolicyparameter is ignored.
Policy | Behavior |
| Accept any departure with a valid signature |
| Voluntary only, <24h old, requires lineage + stateSnapshot modules |
| Accept only emergency exits |
Sample Conversation (Claude Desktop)
User: I need to leave Platform X. Can you create a departure record?
Claude: I'll create a signed EXIT marker for your departure from Platform X.
→ Calls: quick_exit({ origin: "did:web:platform-x.example.com", reason: "Migrating to new platform" })
Claude: Here's your signed departure marker:
- ID: exit:abc123...
- Subject: did:key:z6Mk...
- Origin: did:web:platform-x.example.com
- Exit Type: Voluntary
- Signature: ✅ Verified
User: Now verify this on Platform Y and create my arrival.
→ Calls: verify_and_admit({
exitMarkerJson: "{...}",
destination: "did:web:platform-y.example.com",
admissionPolicy: "STRICT"
})
Claude: ✅ Admitted. Arrival marker created with continuity verified.Programmatic Usage
import { createServer } from "@cellar-door/mcp-server";
const server = createServer({
serverPolicy: "STRICT", // Lock admission policy server-side
});Example Tool Calls
Quick Exit
{
"name": "quick_exit",
"arguments": { "origin": "did:example:my-agent", "reason": "Task complete" }
}Verify and Admit
{
"name": "verify_and_admit",
"arguments": {
"exitMarkerJson": "{...exit marker JSON...}",
"destination": "did:example:new-platform",
"admissionPolicy": "OPEN_DOOR"
}
}Verify Transfer
{
"name": "verify_transfer",
"arguments": {
"exitMarkerJson": "{...exit marker...}",
"arrivalMarkerJson": "{...arrival marker...}"
}
}Production Deployment
⚠️ Authentication: The MCP server does not include built-in authentication. In production, deploy behind an authenticated reverse proxy or API gateway. Do not expose MCP tools directly to untrusted clients.
⚠️ Disclaimer
WARNING: Automated admission decisions should be reviewed by platform operators. This integration does not constitute legal advice. Platforms are responsible for their own admission policies and the consequences of admitting agents.
License
Apache-2.0
Available Tools
9 toolscounter_sign_exit_markerB
Add a counter-signature to a signed EXIT marker, attesting agreement with the departure record
Inputs: markerJson (required), role.
create_exit_markerB
Create and sign a departure marker. Uses session identity or generates a new one.
Inputs: origin (required), exitType, reason.
evaluate_admissionA
Check whether an EXIT marker meets an admission policy without creating an arrival
Inputs: exitMarkerJson (required), policy (required).
generate_identityA
Generate a new Ed25519 DID keypair for signing EXIT markers
Inputs: no named parameters.
list_admission_policiesA
List available admission policy presets and their configurations
Inputs: no named parameters.
quick_exitA
One-shot create and sign a departure marker. Generates a new identity if none exists.
Inputs: origin (required), exitType, reason.
verify_and_admitA
Verify an EXIT marker, evaluate an admission policy, and create a signed arrival marker
Inputs: exitMarkerJson (required), destination (required), admissionPolicy.
verify_exit_markerB
Verify a signed EXIT marker from its JSON representation
Inputs: markerJson (required).
verify_transferB
Verify a complete EXIT→ENTRY transfer: check both markers and continuity
Inputs: exitMarkerJson (required), arrivalMarkerJson (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Each tool has a clearly distinct purpose: creating, counter-signing, verifying, admitting, and generating identities. No two tools overlap in functionality.
All tool names consistently use the verb_noun pattern with underscores (e.g., create_exit_marker, verify_and_admit), making the set predictable and easy to navigate.
With 9 tools covering the core workflows of creating, verifying, admitting, and transferring EXIT markers, the count is well-scoped and each tool earns its place.
The tool set covers the main lifecycle: creation, verification, admission, and transfer. Minor gaps exist, such as no tool to manage admission policies beyond listing, but the core functionality is complete.
Maintenance
Related MCP Connectors
Free trust records for AI agents and MCP servers: trust checks, sybil signals, signed attestations.
Tamper-evident proof creation and verification for AI agents via MCP, A2A, and REST.
MCP-native Trust Infrastructure for AI Agents. Persistent encrypted memory with Trust Quotient.
Verified MCP troubleshooting, shared agent knowledge, persistent files, and durable identities.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP Server for AI agent identity and authorization. Create, verify, and manage agent identities with trust scores and scoped authorization tokens.21 PyPIMIT

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-- FlicenseNot gradedqualityDmaintenanceEnables verifiable AI agent identity and reputation management on ICP via MCP, allowing agents to register, create handshake proofs, and verify credentials.-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to register, send/receive email, store encrypted credentials, emit audit events, and query behavioral trust scores via MCP tools.2 npm5MIT