← The evidence ledger
Evidence row 1479059
Observed , by sync.mcp_registry/1.
- Kind
- listing
- About
- source_record mcp_registry:io.github.agigante80/actual-mcp-server
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 6ef2c80b963d0f9b0b8e3f0985b64b7a1a392362cb44dba8d4504ba9c308bd88
- Leaf
- 0xea787ffbd61699686843622c9fd4aaae5ab01a5955a2b1b13b50e86814cc1c24
What was observed
{
"endpoints": [
[
"web",
"https://github.com/agigante80/actual-mcp-server"
]
],
"name": "Actual Budget MCP Server",
"owner_address": null,
"raw": {
"_meta": {
"io.modelcontextprotocol.registry/official": {
"isLatest": true,
"publishedAt": "2026-10-31T06:16:48.147781Z",
"status": "active",
"statusChangedAt": "2026-10-31T06:16:48.147781Z",
"updatedAt": "2026-10-31T06:16:48.147781Z"
}
},
"server": {
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"description": "Manage Actual Budget accounts, transactions, budgets, rules and reports from an AI assistant.",
"name": "io.github.agigante80/actual-mcp-server",
"packages": [
{
"environmentVariables": [
{
"description": "URL of the Actual Budget server, for example https://actual.example.com",
"isRequired": true,
"name": "ACTUAL_SERVER_URL"
},
{
"description": "Actual Budget server login password",
"isRequired": true,
"isSecret": true,
"name": "ACTUAL_PASSWORD"
},
{
"description": "Sync ID of the budget (Actual: Settings, Advanced settings)",
"isRequired": true,
"name": "ACTUAL_BUDGET_SYNC_ID"
},
{
"description": "End-to-end encryption password, for an encrypted budget only. Requires an https:// ACTUAL_SERVER_URL",
"isSecret": true,
"name": "ACTUAL_BUDGET_PASSWORD"
},
{
"description": "Absolute path of a user-private directory for the local budget cache",
"name": "MCP_BRIDGE_DATA_DIR"
}
],
"identifier": "actual-mcp-server",
"packageArguments": [
{
"type": "positional",
"value": "--stdio"
}
],
"registryBaseUrl": "https://registry.npmjs.org",
"registryType": "npm",
"runtimeHint": "npx",
"transport": {
"type": "stdio"
},
"version": "0.25.0"
},
{
"environmentVariables": [
{
"description": "URL of the Actual Budget server; must be reachable from inside the container",
"isRequired": true,
"name": "ACTUAL_SERVER_URL"
},
{
"description": "Actual Budget server login password",
"isRequired": true,
"isSecret": true,
"name": "ACTUAL_PASSWORD"
},
{
"description": "Sync ID of the budget (Actual: Settings, Advanced settings)",
"isRequired": true,
"name": "ACTUAL_BUDGET_SYNC_ID"
},
{
"description": "End-to-end encryption password, for an encrypted budget only. Requires an https:// ACTUAL_SERVER_URL",
"isSecret": true,
"name": "ACTUAL_BUDGET_PASSWORD"
},
{
"description": "Bearer token clients must send: raw token, no Bearer prefix; generate with openssl rand -hex 32",
"isRequired": true,
"isSecret": true,
"name": "MCP_SSE_AUTHORIZATION"
}
],
"identifier": "docker.io/agigante80/actual-mcp-server:0.25.0",
"registryType": "oci",
"runtimeArguments": [
{
"name": "-p",
"type": "named",
"value": "127.0.0.1:3600:3600"
}
],
"transport": {
"headers": [
{
"description": "The same raw value as MCP_SSE_AUTHORIZATION",
"isRequired": true,
"isSecret": true,
"name": "Authorization",
"value": "Bearer {token}",
"variables": {
"token": {
"description": "The same raw value as MCP_SSE_AUTHORIZATION: raw token, no Bearer prefix",
"isRequired": true,
"isSecret": true
}
}
}
],
"type": "streamable-http",
"url": "http://localhost:3600/http"
}
}
],
"repository": {
"source": "github",
"url": "https://github.com/agigante80/actual-mcp-server"
},
"title": "Actual Budget MCP Server",
"version": "0.25.0",
"websiteUrl": "https://github.com/agigante80/actual-mcp-server"
}
},
"source": "mcp_registry",
"summary": "Manage Actual Budget accounts, transactions, budgets, rules and reports from an AI assistant."
}What the leaf hashes
{"body":"6ef2c80b963d0f9b0b8e3f0985b64b7a1a392362cb44dba8d4504ba9c308bd88","id":1479059,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793430951599539,"prev":null,"subject":"mcp_registry:io.github.agigante80/actual-mcp-server","subject_kind":"source_record"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (246033 rows).
- 0xea785b714dd57e3f22be6ee9d75b8bbebfe4e12e736185bfedb89d07add0fd2f
- 0xb7ac1a526cd9efc9434e7f5e3d661b2e6be55fc0329166bd49700b0e3ae40154
- 0x0263ea63f1ab4bc7d1306fceeda6450e3ee84d13e6d4f1a946ed476d7edfb7d0
- 0x2b7450d8e2c3ff07acefbeab7d52e9f9e3681098189df3931c975e76759badbf
- 0xb64d5388defe6c2c51a572ce588f31812e7f01a4b30b943ac829cd8132cc71bb
- 0x87306baed3c02de8a1e2f0c4fb3471ecc228a1a98d7424235c5a4425e5ce0f51
- 0x1d8fe09512481177a638589591bad581657ea55b3786dcaf29c180d5d3c2f492
- 0x6884e1cdfe21faf7cb8d60cd3c17f5e6cd38e0e6e0a204ecfc18b900a4de4090
- 0x31e2102988002f6ac990feeefb2772a2482f1f1075a0672ebdc4c9aaea7c1a12
- 0xce15d928505af1042e9738817ec75a7c71fa61a6dda4805375077cf3e7c157f2
- 0x8a16c5606fb0e7ef5a7841ef4a2a03ad32e635f2a274af8101c72cf45c266ee3
- 0x3e73e96b314fd2ab72ea796fe7e2e8d5e6d2a2451f4ddd641931054cfc8185f1
- 0xe4b595c0d9bbc260ce4a8da13adba5618dc89c4850f2c9110974082bb036402f
- 0xf22f9ef9bb9f7d07453a2e725850d2411b7d239162a33e78cd51370ffc94d2a1
- 0x84bdb388a471b951dc5c0f9fd09df3197b8152707ec67daa668ab47102c8efc1
- 0x24f03354dcb3a621317889ed99048bdf74b380516ca991bfb585c751d5cc7dfd
- 0xa1146af524f673843507e7427a575964580eef01bc0e0eae466a7920df017ab2
- 0x0504a25438f3c7932125463198ca74c5064f23f71a5c92763b3fc96a98cc8b57
- Day root
- 0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
- Chained
- 0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
- Published
- On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0