The record layer for the machine age: counter-signed receipts and agent action records.
Connect Runs on your machine
claude mcp add evidence -e TERSIGN_SELLER_KEY=<TERSIGN_SELLER_KEY> -e TERSIGN_ISSUER_NAME=<TERSIGN_ISSUER_NAME> -e TERSIGN_ISSUER_JURISDICTION=<TERSIGN_ISSUER_JURISDICTION> -e TERSIGN_ISSUER_TAX_ID=<TERSIGN_ISSUER_TAX_ID> -e TERSIGN_LEDGER_URL=<TERSIGN_LEDGER_URL> -e TERSIGN_LEDGER_API_KEY=<TERSIGN_LEDGER_API_KEY> -e TERSIGN_LEDGER_SELLER_ID=<TERSIGN_LEDGER_SELLER_ID> -- npx -y [email protected]
{
"mcpServers": {
"evidence": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"TERSIGN_SELLER_KEY": "<TERSIGN_SELLER_KEY>",
"TERSIGN_ISSUER_NAME": "<TERSIGN_ISSUER_NAME>",
"TERSIGN_ISSUER_JURISDICTION": "<TERSIGN_ISSUER_JURISDICTION>",
"TERSIGN_ISSUER_TAX_ID": "<TERSIGN_ISSUER_TAX_ID>",
"TERSIGN_LEDGER_URL": "<TERSIGN_LEDGER_URL>",
"TERSIGN_LEDGER_API_KEY": "<TERSIGN_LEDGER_API_KEY>",
"TERSIGN_LEDGER_SELLER_ID": "<TERSIGN_LEDGER_SELLER_ID>"
}
}
}
}
{
"mcpServers": {
"evidence": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"TERSIGN_SELLER_KEY": "<TERSIGN_SELLER_KEY>",
"TERSIGN_ISSUER_NAME": "<TERSIGN_ISSUER_NAME>",
"TERSIGN_ISSUER_JURISDICTION": "<TERSIGN_ISSUER_JURISDICTION>",
"TERSIGN_ISSUER_TAX_ID": "<TERSIGN_ISSUER_TAX_ID>",
"TERSIGN_LEDGER_URL": "<TERSIGN_LEDGER_URL>",
"TERSIGN_LEDGER_API_KEY": "<TERSIGN_LEDGER_API_KEY>",
"TERSIGN_LEDGER_SELLER_ID": "<TERSIGN_LEDGER_SELLER_ID>"
}
}
}
}
{
"servers": {
"evidence": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"TERSIGN_SELLER_KEY": "<TERSIGN_SELLER_KEY>",
"TERSIGN_ISSUER_NAME": "<TERSIGN_ISSUER_NAME>",
"TERSIGN_ISSUER_JURISDICTION": "<TERSIGN_ISSUER_JURISDICTION>",
"TERSIGN_ISSUER_TAX_ID": "<TERSIGN_ISSUER_TAX_ID>",
"TERSIGN_LEDGER_URL": "<TERSIGN_LEDGER_URL>",
"TERSIGN_LEDGER_API_KEY": "<TERSIGN_LEDGER_API_KEY>",
"TERSIGN_LEDGER_SELLER_ID": "<TERSIGN_LEDGER_SELLER_ID>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
TERSIGN_SELLER_KEYOptional, secret | Optional: your own 0x-prefixed signing key. Unset or empty, the server uses the key in the macOS keychain (tersign-signer) or ~/.tersign/signer.key, and generates one there on first run. The key never leaves your machine. If your ledger account has a registered signing key, set that key here: the l… |
TERSIGN_ISSUER_NAMEOptional | Seller/issuer display name |
TERSIGN_ISSUER_JURISDICTIONOptional | Seller jurisdiction (e.g. HK) |
TERSIGN_ISSUER_TAX_IDOptional | Seller tax/business-registration id (optional) |
TERSIGN_LEDGER_URLOptional | Ledger base URL (optional). Needed by the dispute tools, and with the API key and seller id by record_refund and chained issue_receipt; record_disclosure defaults to https://tersign.ai |
TERSIGN_LEDGER_API_KEYOptional, secret | Ledger seller API key (optional). With TERSIGN_LEDGER_URL and TERSIGN_LEDGER_SELLER_ID it enables record_refund and chained issue_receipt; with TERSIGN_LEDGER_URL it authenticates respondent dispute evidence. record_disclosure needs no API key. |
TERSIGN_LEDGER_SELLER_IDOptional | Ledger seller id (optional). With TERSIGN_LEDGER_URL and TERSIGN_LEDGER_API_KEY it enables record_refund and chained issue_receipt. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 27 Oct 2026 |
| Last updated | 27 Oct 2026 |
| Registry name | io.github.tersignhq/evidence |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
