addrbookFor publishers
← The evidence ledger

Evidence row 28937

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.JonathanRReed/apple-tools-mcp
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
2ee5896e20b4cc9b4e9339c3209521c1ab6d35a25d1e61c37b8fa2b8c73b91be
Leaf
0x8d17135f63e89c2653344ede499377e4d8a73387a2a6e81ebf9680f838101920

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/JonathanRReed/Apple-MCPs"
    ]
  ],
  "name": "Apple Tools (Unified)",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-22T01:46:13.494013Z",
        "status": "active",
        "statusChangedAt": "2026-10-22T01:46:13.494013Z",
        "updatedAt": "2026-10-22T01:46:13.494013Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Unified Apple ecosystem MCP server for macOS: Mail, Calendar, Notes, Files, Messages, and more.",
      "name": "io.github.JonathanRReed/apple-tools-mcp",
      "packages": [
        {
          "environmentVariables": [
            {
              "choices": [
                "safe_readonly",
                "safe_manage",
                "full_access"
              ],
              "default": "safe_manage",
              "description": "Safety mode for the Mail domain: safe_readonly, safe_manage, or full_access.",
              "format": "string",
              "name": "APPLE_MAIL_MCP_SAFETY_PROFILE"
            },
            {
              "choices": [
                "safe_readonly",
                "safe_manage",
                "full_access"
              ],
              "default": "safe_manage",
              "description": "Safety mode for the Calendar domain: safe_readonly, safe_manage, or full_access.",
              "format": "string",
              "name": "APPLE_CALENDAR_MCP_SAFETY_MODE"
            },
            {
              "choices": [
                "safe_readonly",
                "safe_manage",
                "full_access"
              ],
              "default": "safe_manage",
              "description": "Safety mode for the Reminders domain: safe_readonly, safe_manage, or full_access.",
              "format": "string",
              "name": "APPLE_REMINDERS_MCP_SAFETY_MODE"
            },
            {
              "choices": [
                "safe_readonly",
                "safe_manage",
                "full_access"
              ],
              "default": "safe_manage",
              "description": "Safety mode for the Files domain: safe_readonly, safe_manage, or full_access.",
              "format": "string",
              "name": "APPLE_FILES_MCP_SAFETY_MODE"
            },
            {
              "description": "Comma-separated directories file tools may access. Defaults to Desktop, Documents, Downloads, and iCloud Drive.",
              "format": "string",
              "name": "APPLE_FILES_MCP_ALLOWED_ROOTS",
              "placeholder": "~/Desktop,~/Documents,~/Downloads"
            },
            {
              "choices": [
                "safe_readonly",
                "safe_manage",
                "full_access"
              ],
              "default": "safe_manage",
              "description": "Safety mode for the System domain: safe_readonly, safe_manage, or full_access.",
              "format": "string",
              "name": "APPLE_SYSTEM_MCP_SAFETY_MODE"
            },
            {
              "description": "Comma-separated bundle ids of apps that GUI input tools (type, press keys, click, choose, menu) may send input to, for example com.apple.TextEdit,com.apple.Safari. Unset or empty disables GUI input. Terminals, script editors and automation apps are always refused.",
              "format": "string",
              "name": "APPLE_SYSTEM_MCP_GUI_ALLOWED_APPS",
              "placeholder": "com.apple.TextEdit,com.apple.Safari"
            },
            {
              "choices": [
                "safe_readonly",
                "safe_manage",
                "full_access"
              ],
              "default": "safe_manage",
              "description": "Safety mode for the Contacts domain: safe_readonly, safe_manage, or full_access.",
              "format": "string",
              "name": "APPLE_CONTACTS_MCP_SAFETY_MODE"
            },
            {
              "choices": [
                "safe_readonly",
                "safe_manage",
                "full_access"
              ],
              "default": "full_access",
              "description": "Safety mode for the Notes domain: safe_readonly, safe_manage, or full_access.",
              "format": "string",
              "name": "APPLE_NOTES_MCP_SAFETY_MODE"
            },
            {
              "choices": [
                "safe_readonly",
                "safe_manage",
                "full_access"
              ],
              "default": "full_access",
              "description": "Safety mode for the Messages domain: safe_readonly, safe_manage, or full_access.",
              "format": "string",
              "name": "APPLE_MESSAGES_MCP_SAFETY_MODE"
            },
            {
              "choices": [
                "safe_readonly",
                "safe_manage",
                "full_access"
              ],
              "default": "full_access",
              "description": "Safety mode for the Shortcuts domain: safe_readonly, safe_manage, or full_access.",
              "format": "string",
              "name": "APPLE_SHORTCUTS_MCP_SAFETY_MODE"
            },
            {
              "description": "Directory containing files that Mail may attach. Unset disables attachments.",
              "format": "string",
              "name": "APPLE_MAIL_MCP_ALLOWED_ATTACHMENT_ROOT",
              "placeholder": "~/Documents/Mail Attachments"
            }
          ],
          "identifier": "apple-tools-mcp",
          "registryBaseUrl": "https://pypi.org",
          "registryType": "pypi",
          "runtimeHint": "uvx",
          "transport": {
            "type": "stdio"
          },
          "version": "1.1.3"
        },
        {
          "fileSha256": "a3b0f7936d6d220bb3c18b7b5489eb5e506b7a68917799accda92ec16ae20de3",
          "identifier": "https://github.com/JonathanRReed/Apple-MCPs/releases/download/v1.1.3/apple-tools-1.1.3.mcpb",
          "registryType": "mcpb",
          "transport": {
            "type": "stdio"
          },
          "version": "1.1.3"
        }
      ],
      "repository": {
        "id": "1194217206",
        "source": "github",
        "subfolder": "Apple-Tools-MCP",
        "url": "https://github.com/JonathanRReed/Apple-MCPs"
      },
      "title": "Apple Tools (Unified)",
      "version": "1.1.3",
      "websiteUrl": "https://github.com/JonathanRReed/Apple-MCPs"
    }
  },
  "source": "mcp_registry",
  "summary": "Unified Apple ecosystem MCP server for macOS: Mail, Calendar, Notes, Files, Messages, and more."
}

What the leaf hashes

{"body":"2ee5896e20b4cc9b4e9339c3209521c1ab6d35a25d1e61c37b8fa2b8c73b91be","id":28937,"kind":"listing","method":"baseline/1","observed_us":1793025360377107,"prev":null,"subject":"mcp_registry:io.github.JonathanRReed/apple-tools-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. 0x8d1682c8dc93048886958c86b88aecc5bfc210da62939eee7e6f63f7b31cd265
  2. 0x71460140e1aca5fdd39d4c12ec58e8ed36308d0a1efd8e4799ca4101c070b845
  3. 0x3054263db2e98e3b5745b9e6646b4fc0fbaabcb3d7ae300a98887b0bab8419d0
  4. 0x526af469f18f640c3f678c2d68568ad03e272cfd3f7bfd58033c03137f76d464
  5. 0xe4029d10f1fbead29a52188a13672b421006d8d31bec87c448235b65e5c21173
  6. 0xcde30c6cd97b2eaac725480261b87391cb932c9500ed54b6e5fde2610d1eeaa7
  7. 0x04f3d98ed54483a62fbd6e6a9d64ef2ce4703fd568fba835c81139d335a25174
  8. 0x091fed6f0238d9e8cb37c8e7a5dc992414d9c7f1499b8c333bc5eb1eef6984c0
  9. 0xd363f48c97a04b2bb1c3eb1ca16708076d6ac6366adfba9b44b8c14c0c99a71b
  10. 0x5b25ef9b2a3bfdd120c04b0b0e6fcd5a2e5aaaa78a683cb6ced97272de11c0f1
  11. 0x86b2c30da5bda0b772dc691263cbbe9779ec35b67c9966d10e728daa3e47ae48
  12. 0xfc86b2282cb8f91e68280efe01f3c50453c94fae2ef04af1a75d4b05d0af2b8f
  13. 0xd5ec7ffaecac790d8adfa0620b0a5494758f862e3090b49e556a6ecbad2f0782
  14. 0x78ac2b34737774659a6a411f4d10b8ba570d40699d9f277321c3a32ff03d1dc9
  15. 0x7eb603d37f0f22dae1ea013e391889906ffc0139ff26e25b044bee38eec8f9b2
  16. 0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76
  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