addrbookFor publishers
← The evidence ledger

Evidence row 48855

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.roybogs/portveil-mcp
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
293e63cef73b8942c4c2bd93473529a731e07b842be0aa457c8b2537812c1688
Leaf
0x5ad5e29132b7bf324ddb068c86fb420d6b60399155acd21ffcfe5f86a4acd5d6

What was observed

{
  "endpoints": [
    [
      "web",
      "https://portveil.com/"
    ]
  ],
  "name": "Portveil",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-09-27T17:15:07.325534Z",
        "status": "active",
        "statusChangedAt": "2026-09-27T17:15:07.325534Z",
        "updatedAt": "2026-09-27T17:15:07.325534Z"
      }
    },
    "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.3"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/roybogs/portveil-mcp"
      },
      "title": "Portveil",
      "version": "0.4.3",
      "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":"293e63cef73b8942c4c2bd93473529a731e07b842be0aa457c8b2537812c1688","id":48855,"kind":"listing","method":"baseline/1","observed_us":1793025412661939,"prev":null,"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. 0x5ad5dec588abd2c43b02f71b2c66c07b497b29b3f64e070140872f25554489fa
  2. 0xcad3cc1f12aea77807a2c07689482edc2d61a1ae7084c6f8ebe39b095cba31cb
  3. 0xd881a48606a30f335ffcb4f83af206ae01a57ef4f1500ae3c467b6defb8f411e
  4. 0xe3e58c47f363945ce33b9bd2407728915528ff73ce6a01fa2a7c1ebb595a0e65
  5. 0xd60032b93fee72af28a502e0bab074efef27a5ed207a33e0e63d68dde14f5669
  6. 0x87bd16bbffb0c1cc658a62485802db8f050b7e24024a21201f513160dbf50043
  7. 0x94231295807f3d02836ad312eb99afd1e784057630681e2bf63a13029611c597
  8. 0xe95aebe417543067bac5538c6f268970c2b6f780304ffc4baaec7928c0ebd397
  9. 0xee86540c4d23580b0600fce1441629b77f6bd5e53732926077aac2e4d637d1ef
  10. 0xd973b6f369dcc849706ecbfa8b548968c407c61af9d74df524ebe4f47698f455
  11. 0x31cff173ca81a1fa9b4d9989ccba135fa83af9284e85748cedd858f7cc6cb7c0
  12. 0xc4c7772b121e7eab8b40f10646f850453150d76d672e4926bf2534db20273157
  13. 0xc8abb13c711b67d9f1ef145286ed450a0f5566f054a4b290ea3d711873bcbe20
  14. 0x5cdeb4648502e0633d01cc4f3379d48cccb9d4f528565b2868eb93db0df9e829
  15. 0x7726154b91b2ad65b13849ef6cb6443b1f0ff113a3089c9bd5f2bcfc16be099d
  16. 0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0
  17. 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON