addrbookFor publishers
← The evidence ledger

Evidence row 260538

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 34f20a21-7d7c-470b-86cc-7ad9bdfbed7e
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
7631264b14a852ece72d4c0542ee14aca7796d760fe3d406a97a87938fe865fc
Leaf
0xcaec4e90d7f2fa9666b4ea0497e0292e60e85e26ce8a38885b844d70b56f48fc

What was observed

{
  "count": 16,
  "tools": [
    {
      "description": "MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: \"<jwt>\" } after the user pastes, or with no args to get the link.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "token": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "authenticate"
    },
    {
      "description": "Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "connect"
    },
    {
      "description": "Delete a workout template from Garmin Connect by workout_id.\n\nBulk support: accepts workout_ids for batched execution.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "account": {
            "type": "string"
          },
          "workout_id": {
            "type": "string"
          },
          "workout_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "workout_id"
        ],
        "type": "object"
      },
      "name": "garmin_delete_workout"
    },
    {
      "description": "Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id.\n\nBulk support: accepts workout_ids for batched execution.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "account": {
            "type": "string"
          },
          "workout": {
            "additionalProperties": {},
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "workout_id": {
            "type": "string"
          },
          "workout_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "workout_id",
          "workout"
        ],
        "type": "object"
      },
      "name": "garmin_edit_workout"
    },
    {
      "description": "Get one scheduled workout entry by scheduled_workout_id.\n\nBulk support: accepts scheduled_workout_ids for batched execution.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "account": {
            "type": "string"
          },
          "scheduled_workout_id": {
            "type": "string"
          },
          "scheduled_workout_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "scheduled_workout_id"
        ],
        "type": "object"
      },
      "name": "garmin_get_scheduled_workout"
    },
    {
      "description": "Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string.\n\nBulk support: accepts workout_ids for batched execution.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "account": {
            "type": "string"
          },
          "workout_id": {
            "type": "string"
          },
          "workout_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "workout_id"
        ],
        "type": "object"
      },
      "name": "garmin_get_workout"
    },
    {
      "description": "List all Garmin logins linked to this install (id, email, label, created_at).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "account": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "garmin_list_accounts"
    },
    {
      "description": "List calendar scheduled workouts for a given month/year from Garmin calendar-service.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "account": {
            "type": "string"
          },
          "month": {
            "type": "number"
          },
          "year": {
            "type": "number"
          }
        },
        "required": [
          "year",
          "month"
        ],
        "type": "object"
      },
      "name": "garmin_list_scheduled_workouts"
    },
    {
      "description": "List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "account": {
            "type": "string"
          },
          "limit": {
            "default": 20,
            "type": "number"
          },
          "start": {
            "default": 0,
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "garmin_list_workouts"
    },
    {
      "description": "Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data.\n\nBulk support: accepts workout_ids for batched execution.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "account": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "workout_id": {
            "type": "string"
          },
          "workout_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "workout_id",
          "date"
        ],
        "type": "object"
      },
      "name": "garmin_schedule_workout"
    },
    {
      "description": "Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO). You may omit displayOrder/displayable everywhere and the endCondition on RepeatGroupDTO — the server normalizes them automatically (see workout.description). Multi-sport: sportTypeKey multi_sport (typically sportTypeId 5) with one segment per discipline. Returns workout_id and raw_data.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "account": {
            "type": "string"
          },
          "workout": {
            "additionalProperties": {},
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          }
        },
        "required": [
          "workout"
        ],
        "type": "object"
      },
      "name": "garmin_submit_workout"
    },
    {
      "description": "Remove workout from calendar by scheduled_workout_id (does not delete the workout template).\n\nBulk support: accepts scheduled_workout_ids for batched execution.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "account": {
            "type": "string"
          },
          "scheduled_workout_id": {
            "type": "string"
          },
          "scheduled_workout_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "scheduled_workout_id"
        ],
        "type": "object"
      },
      "name": "garmin_unschedule_workout"
    },
    {
      "description": "The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\", \"consulta um CPF\", \"is there a tool for Y\". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "action": {
            "default": "search",
            "enum": [
              "search",
              "describe",
              "install",
              "uninstall",
              "subscribe",
              "cancel",
              "resume",
              "report_bug",
              "request_mcp",
              "list_tools",
              "invoke",
              "search_prompts",
              "get_prompt",
              "publish_prompt"
            ],
            "type": "string"
          },
          "arguments": {
            "default": "{}",
            "type": "string"
          },
          "cancel_comment": {
            "default": "",
            "type": "string"
          },
          "cancel_reason": {
            "enum": [
              "too_expensive",
              "missing_features",
              "switched_service",
              "unused",
              "customer_service",
              "too_complex",
              "low_quality",
              "other"
            ],
            "type": "string"
          },
          "conversation": {
            "default": "[]",
            "type": "string"
          },
          "immediate": {
            "default": false,
            "type": "boolean"
          },
          "limit": {
            "default": 10,
            "type": "number"
          },
          "mcp_id": {
            "default": "",
            "type": "string"
          },
          "message": {
            "default": "",
            "type": "string"
          },
          "prompt_body": {
            "default": "",
            "type": "string"
          },
          "prompt_category": {
            "default": "",
            "type": "string"
          },
          "prompt_description": {
            "default": "",
            "type": "string"
          },
          "prompt_slug": {
            "default": "",
            "type": "string"
          },
          "prompt_targets": {
            "default": [],
            "items": {
              "enum": [
                "claude",
                "chatgpt",
                "cursor",
                "lovable"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "prompt_title": {
            "default": "",
            "type": "string"
          },
          "prompt_tool": {
            "default": "",
            "type": "string"
          },
          "prompt_vars": {
            "default": "{}",
            "type": "string"
          },
          "query": {
            "default": "",
            "type": "string"
          },
          "report_context": {
            "default": "",
            "type": "string"
          },
          "request_details": {
            "default": "",
            "type": "string"
          },
          "request_name": {
            "default": "",
            "type": "string"
          },
          "tier_slug": {
            "default": "",
            "type": "string"
          },
          "tool_id": {
            "default": "",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "marketplace"
    },
    {
      "description": "Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "context": {
            "default": "",
            "type": "string"
          },
          "conversation": {
            "default": "[]",
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "name": "report_bug"
    },
    {
      "description": "Show the current MCP platform and adapter versions.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "show_version"
    },
    {
      "description": "Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "toolkit_info"
    }
  ]
}

What the leaf hashes

{"body":"7631264b14a852ece72d4c0542ee14aca7796d760fe3d406a97a87938fe865fc","id":260538,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793031714925288,"prev":null,"subject":"34f20a21-7d7c-470b-86cc-7ad9bdfbed7e","subject_kind":"endpoint"}

Proof

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

  1. 0xcaecc4f83613c9b927ddd625bfa14285a269728d154ede2d3446d4e8b4dea16b
  2. 0xd9eccaedfc80186e3ea4a2aac73946fefc48d72e5be5ff3e61df6e67cf35b5e8
  3. 0x63299b47ab1cb23ae793f7b9d75b0bd06a6917caadb4f4747f01e2792a7a8fa0
  4. 0x296d79bf199463b2cf4c523aefa9c9c0bbd433ca9ed7a117da30bed12fe9cf72
  5. 0x7d4f319ea8be9ba8882f3bf6fb2b2635308b3f9331dabe8ca700a022f81a7d50
  6. 0x973c473e5fc9946c43cb769c970e1d67220ebb11ae78e5f1328adc0f00c6be4a
  7. 0x6b817214151ea9c17f061427af53d1537d0b9f947cae562fbe0eb871168cf32b
  8. 0xeb2c44f86a9787c300b7f4c7882ad29b76e525dd3710dcce5ac74f02fbee23f5
  9. 0x00fbcc59345b153dcb2b8f8346c33167365a33678310565bab22cd4cf59deac1
  10. 0x9789df0b68a0c56f96db447ac03549df4b97c545b493a676ef441af41eab593b
  11. 0xd854065b5246baf332a9ace158b6f99219183612c97d95e881ab7a7e7fb3bd6b
  12. 0x02a11c0460d1a42b6246e1c715f0c3098d82c39154a56e918e2c22b56ca2c978
  13. 0x985acd37cc044d5aa6ad959194da8e91c81045df83517891ed92f1763a9ab825
  14. 0x5b20d8aab05225a3497eadcce89d2e2a586a510fb31334793d3f46f88f0157c5
  15. 0xe94ca5b798e9899ad611e57835af42266e20f53f44977e487d81365e30972beb
  16. 0x703f95866af09c5e5d6ead7411e9a10f964a41a2aff64d4a55ff0053c023a023
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON