addrbookFor publishers
← The evidence ledger

Evidence row 225062

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.roybogs/portveil-mcp
Recorded
Previous row
#48855
Body SHA-256
cb1c148604dc1e9425beb4541af8771a7f44a05c402a7ae602e264b2fdc92cfb
Leaf
0xa6e5dc324d028718a426d57c4728591e53a7150820ab171bc8edeaa1949e6e9c

What was observed

{
  "endpoints": [
    [
      "web",
      "https://portveil.com/"
    ]
  ],
  "name": "Portveil",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-26T14:46:13.992031Z",
        "status": "active",
        "statusChangedAt": "2026-10-26T14:46:13.992031Z",
        "updatedAt": "2026-10-26T14:46:13.992031Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "MCP server for Portveil: let AI assistants see your devices and move them between VPN locations.",
      "name": "io.github.roybogs/portveil-mcp",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Your Portveil account ID (acct_…), shown in the dashboard",
              "format": "string",
              "isRequired": true,
              "name": "PORTVEIL_ACCOUNT_ID"
            },
            {
              "description": "A Portveil API token from the dashboard; control scope to move devices, read to only look",
              "format": "string",
              "isRequired": true,
              "isSecret": true,
              "name": "PORTVEIL_TOKEN"
            },
            {
              "description": "API base URL (default https://api.portveil.com)",
              "format": "string",
              "name": "PORTVEIL_API"
            }
          ],
          "identifier": "portveil-mcp",
          "registryType": "npm",
          "transport": {
            "type": "stdio"
          },
          "version": "0.4.4"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/roybogs/portveil-mcp"
      },
      "title": "Portveil",
      "version": "0.4.4",
      "websiteUrl": "https://portveil.com"
    }
  },
  "source": "mcp_registry",
  "summary": "MCP server for Portveil: let AI assistants see your devices and move them between VPN locations."
}

What the leaf hashes

{"body":"cb1c148604dc1e9425beb4541af8771a7f44a05c402a7ae602e264b2fdc92cfb","id":225062,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793028656078814,"prev":48855,"subject":"mcp_registry:io.github.roybogs/portveil-mcp","subject_kind":"source_record"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0xa6e6027d976776b30c15ee5335f64a4f45f14ca4793082738a7ba263e7314257
  2. 0xa824bcc600adef4b56c73bc0a614dcea8fbafd9c81bca52d3291e4973372827b
  3. 0x3778eda33048d0592d1eb195b8cd5d62668a9573c33b19dd8e96795e6f57f12e
  4. 0x8547cb0ae3599b5e8db5a417f75101083670b77eb7bfe2fa3bfeec2af41c9308
  5. 0xc8e65ec1a13567cc710a4d343cd4ffef85b9734039bbe897fe6d675ddbb07078
  6. 0x6bada0dbba1beccfb7d79895babec8bb9298176a3265f6dda1f0ae8de6a15539
  7. 0xbcc8c3684b1c96fbf5d920c61c6cd155c9b95de4728853f45e9fa3fab46b0cc1
  8. 0xacaccfa6dfaf56c0c02d93d1803821e59d82b61803c7d6ac8352010ef664520a
  9. 0xb8eb385e44f1c0259f8cdb982032df3a6a91878aa0847c859c947da4f692e020
  10. 0xc6522fc337627b139352697525c95afa35480881a993f2a3b3ab321aa6e7ac50
  11. 0xfd7db9a5ff472cfefafacbeb7f7f7dc6fc7e28e7e0d99e3b79d231f0d5f46aee
  12. 0x1e464fcb484a1e782f9fe44be5118a9de934eb533c96ba10fc7d20e3a3e4711c
  13. 0x292ebdce6b8d3d7ef08ad646a0fd97dee9313ab55c1a350807d9f3013794c37a
  14. 0x428106f4ae4ec142f17aebf6fa50935242f8d3f1c211cf95d6351d03d11da2b7
  15. 0x62a900133713919f4eed33d8336876b7a6d538233b8a4f3ed03b29aa44f5bad0
  16. 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
  17. 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON