Jev MCP
Twelve quick scoring tools backed by TypeSafe's Jev model, each returning typed probabilities
Ask for human sign-off on one exact consequential agent action, then check and verify its receipt
Official · EMILIA Protocol JavaScript Local · stdio SecurityAI and ML
38 popularity score ★ 554 ↓ 74/wk
Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
It needs EP_API_KEY. Replace each <NAME> with your value.
claude mcp add emilia-protocol -e EP_API_KEY=<EP_API_KEY> -- npx -y @emilia-protocol/mcp-server{
"mcpServers": {
"emilia-protocol": {
"command": "npx",
"args": [
"-y",
"@emilia-protocol/mcp-server"
],
"env": {
"EP_API_KEY": "<EP_API_KEY>"
}
}
}
}{
"mcpServers": {
"emilia-protocol": {
"command": "npx",
"args": [
"-y",
"@emilia-protocol/mcp-server"
],
"env": {
"EP_API_KEY": "<EP_API_KEY>"
}
}
}
}{
"servers": {
"emilia-protocol": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@emilia-protocol/mcp-server"
],
"env": {
"EP_API_KEY": "<EP_API_KEY>"
}
}
}
}[mcp_servers.emilia-protocol]
command = "npx"
args = ["-y", "@emilia-protocol/mcp-server"]
[mcp_servers.emilia-protocol.env]
EP_API_KEY = "<EP_API_KEY>"gemini mcp add --scope user -e EP_API_KEY=<EP_API_KEY> emilia-protocol npx -- -y @emilia-protocol/mcp-serverEP_API_KEY |
Required: EMILIA API key (ep_live_...); needed by ep_guard_action, ep_check_signoff and all write tools. |
|---|---|
EP_BASE_URL |
Optional: EMILIA API address; defaults to https://www.emiliaprotocol.ai and must be HTTPS except on loopback. |
EP_INCLUDE_PROTOCOL_TOOLS |
Optional: Set to true to add the 12 handshake, commit and delegation tools. |
EP_INCLUDE_REGISTRY_TOOLS |
Optional: Set to true to add the older registry, reputation and dispute tools. |
EP_AUTO_RECEIPT_OPT_IN |
Optional: Set to true to turn on automatic receipts from tool-call events. |
EP_AUTO_RECEIPT_ENTITY_ID |
Optional: Entity id that automatic receipts are recorded for. |
This is the MCP server of EMILIA Protocol, a service for authorising high-stakes agent actions such as payments, deletions or production deploys. Before acting, the assistant describes the exact action (type, target, amount, destination, a summary) and the server sends it to the EMILIA service, which evaluates its policy, mints a receipt and, where the policy asks for it, opens a sign-off for a named person. The assistant then polls that sign-off and can verify the stored receipt and its anchor.
Out of the box the server advertises three tools: ep_guard_action, ep_check_signoff and ep_verify_receipt. The package holds 36 tools in total (index.ts): setting EP_INCLUDE_PROTOCOL_TOOLS=true adds 12 handshake, commit and delegation tools, and EP_INCLUDE_REGISTRY_TOOLS=true adds the remaining older registry tools for trust profiles, receipts, disputes, leaderboards, commitment proofs and package install pre-checks.
The server itself only orchestrates the approval. It does not hold the credentials of whatever performs the action and does not consume the receipt at the moment of effect; its makers point to their separate @emilia-protocol/mcp-guard and @emilia-protocol/scan packages for that part. It runs locally over stdio and makes HTTPS calls to the EMILIA API at www.emiliaprotocol.ai unless EP_BASE_URL points elsewhere.
| Runtime | Node.js 20+ |
|---|
Node.js 20 or later (the package's engines field) to run it with npx. An EMILIA Protocol API key (EP_API_KEY, keys start ep_live_) for the default guard and sign-off tools; the server starts without one, but those tools return an error. Network access to the EMILIA service. A person able to approve sign-offs, for example with a passkey, when the policy requires one.
Without EP_API_KEY, the guard, sign-off and other write tools return an error; only public reads work. Installing it does not stop another tool from acting: the executor must match and consume the receipt itself. EP_BASE_URL must be HTTPS (HTTP only on loopback) or the server will not start. API calls time out after 15 seconds and responses over 8 MB are rejected (index.ts). The README's config example sets EP_BASE_URL to https://emiliaprotocol.ai; the source notes that host redirects to www and the redirect drops the Authorization header, so signed-in calls fail with 401. Leave EP_BASE_URL unset (default https://www.emiliaprotocol.ai). ep_install_preflight is marked experimental.
Teams that let an assistant prepare payments, deletions or deploys and want a named person to approve the exact action, with a receipt they can check later. It needs an account on the EMILIA service, and approvals pass through that service, so it does not suit offline or self-contained setups. It also does not block anything on its own: if you need the tool that performs the action to refuse calls that lack a receipt, the makers point to their @emilia-protocol/mcp-guard wrapper instead.
ep_guard_actionep_check_signoffep_verify_receiptep_initiate_handshakeep_add_presentationep_verify_handshakeep_get_handshakeep_revoke_handshakeep_issue_commitep_verify_commitep_get_commit_statusep_revoke_commitep_bind_receipt_to_commitep_create_delegationep_verify_delegationep_trust_profileep_trust_evaluateep_trust_gateep_submit_receiptep_batch_submitep_domain_scoreep_search_entitiesep_register_entityep_leaderboardep_install_preflightep_dispute_fileep_dispute_statusep_appeal_disputeep_report_trust_issueep_principal_lookupep_lineageep_delegation_judgmentep_configure_auto_receiptep_generate_zk_proofep_verify_zk_proofep_list_policies