addrbookFor publishers
← The evidence ledger

Evidence row 3405576

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 8bec5a25-b088-4088-850c-98c88d0eaddd
Recorded
Previous row
#2570235
Body SHA-256
7fb0a6968dc6641cd02722a0f4652927cbb85ece0f6ef2109996a23a35f3762c
Leaf
0x46848ad3887e509ae7d3a236df873e9c038f34551d34bb83996584b851556dbf

What was observed

{
  "count": 15,
  "tools": [
    {
      "description": "Post a comment on a Jira/ClickUp ticket as the user. The team sees it — show the exact text to the user and confirm first.",
      "inputSchema": {
        "properties": {
          "account_id": {
            "description": "The board's account_id from list_tickets (use with ticket_id)",
            "type": "string"
          },
          "conversation_id": {
            "description": "The ticket's conversation_id from list_tickets (when it has one)",
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "ticket_id": {
            "description": "ticket_id (ClickUp) or key (Jira) from list_tickets",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "comment_ticket"
    },
    {
      "description": "Mark a Goptin task done (or reopen it with done=false). ClickUp-linked tasks are updated in ClickUp too.",
      "inputSchema": {
        "properties": {
          "done": {
            "description": "false reopens the task (default true)",
            "type": "boolean"
          },
          "task_id": {
            "type": "string"
          }
        },
        "required": [
          "task_id"
        ],
        "type": "object"
      },
      "name": "complete_task"
    },
    {
      "description": "Add a task to the user's Goptin to-do list (private to the user, nothing is sent to anyone).",
      "inputSchema": {
        "properties": {
          "conversation_id": {
            "description": "Link the task to the conversation it came from",
            "type": "string"
          },
          "due_date": {
            "description": "YYYY-MM-DD",
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "title": {
            "description": "Short imperative, e.g. \"Send the quote to Minh\"",
            "type": "string"
          }
        },
        "required": [
          "title"
        ],
        "type": "object"
      },
      "name": "create_task"
    },
    {
      "description": "Create a ClickUp ticket as the user: a subtask under parent_ticket_id (it goes into the parent's list), or a new ticket in a list. Returns ticket_id and url. The team sees it — show the user the title, description and assignees and confirm first. Jira is not supported yet.",
      "inputSchema": {
        "properties": {
          "account_id": {
            "description": "The ClickUp account_id (from list_accounts or list_tickets)",
            "type": "string"
          },
          "assignees": {
            "description": "ClickUp user ids or names, matched against the list's members",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": {
            "description": "Markdown",
            "type": "string"
          },
          "due_date": {
            "description": "YYYY-MM-DD",
            "type": "string"
          },
          "list": {
            "description": "List id or name fragment (e.g. \"Sprint 102\"); optional when parent_ticket_id is given",
            "type": "string"
          },
          "parent_ticket_id": {
            "description": "Make it a subtask of this ClickUp ticket_id (inherits the parent's list)",
            "type": "string"
          },
          "status": {
            "description": "Initial status name (must exist in the list)",
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "title"
        ],
        "type": "object"
      },
      "name": "create_ticket"
    },
    {
      "description": "Find a person by name, nickname or email across all accounts — ignores diacritics and word order (\"Lena\" finds \"Le Na Nguyen\" and \"Nguyen Le Na\"). Returns their identities per app, grouped when the names match, and the conversations they're in (DMs first).",
      "inputSchema": {
        "properties": {
          "query": {
            "description": "Name, part of a name, username or email",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "find_person"
    },
    {
      "description": "Read the user's latest daily digest (one per workspace): a summary of the last 24h across all accounts, tasks due today/overdue, high-priority tickets, and conversations waiting for the user's reply. Start the day here.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "get_digest"
    },
    {
      "description": "Get one ticket live: full description, status, assignees, tags, parent, subtasks, linked tickets, attachments (with URLs), plus comments. Pass ticket_id (and account_id when you have several boards) from list_tickets, or a conversation_id. Synced tickets return the inbox thread including status/assignee/due-date change events.",
      "inputSchema": {
        "properties": {
          "account_id": {
            "description": "account_id of the Jira/ClickUp board (from list_tickets)",
            "type": "string"
          },
          "comment_limit": {
            "description": "Default 20, max 100",
            "type": "number"
          },
          "conversation_id": {
            "description": "The ticket's conversation_id, when list_tickets returned one",
            "type": "string"
          },
          "max_description": {
            "description": "Truncate the description to this many characters (default: full)",
            "type": "number"
          },
          "ticket_id": {
            "description": "ticket_id (ClickUp) or key (Jira, e.g. SCRUM-3)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_ticket"
    },
    {
      "description": "List every account the user has connected to Goptin (several per channel is normal). Call this first to pick the right account.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "list_accounts"
    },
    {
      "description": "List recent inbox conversations (DMs, groups, channels, ticket threads), newest first, across all or one account.",
      "inputSchema": {
        "properties": {
          "account": {
            "description": "Which connected account to use: an account_id from list_accounts, or part of its name (e.g. \"EverydAI\", \"Zalo shop\"). Omit to search all accounts.",
            "type": "string"
          },
          "before": {
            "description": "ISO date: page back to conversations active before this time",
            "type": "string"
          },
          "channel": {
            "description": "Restrict to one channel: slack, msteams, googlechat, jira, clickup, telegram, zalo, gmail, facebook, instagram, whatsapp.",
            "type": "string"
          },
          "include_hidden": {
            "description": "Also include conversations the user hid",
            "type": "boolean"
          },
          "limit": {
            "description": "Max results (default 20, max 50)",
            "type": "number"
          },
          "query": {
            "description": "Filter by title or last-message text",
            "type": "string"
          },
          "unread_only": {
            "description": "Only conversations with unread messages or unread @mentions",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "list_conversations"
    },
    {
      "description": "List the user's Goptin to-do list (manual, AI-extracted and ClickUp-synced tasks). Open tasks by default.",
      "inputSchema": {
        "properties": {
          "include_done": {
            "description": "Also include completed tasks",
            "type": "boolean"
          },
          "limit": {
            "description": "Default 50, max 200",
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "list_tasks"
    },
    {
      "description": "List tickets live from Jira / ClickUp with status, assignees, tags, list/sprint, parent, custom fields and linked tickets. Default: open tickets assigned to the user in their current sprint/list. ClickUp: pass list (e.g. \"Sprint 102\") and scope=\"anyone\" for every ticket in a sprint, include_done for closed statuses.",
      "inputSchema": {
        "properties": {
          "account": {
            "description": "Which connected account to use: an account_id from list_accounts, or part of its name (e.g. \"EverydAI\", \"Zalo shop\"). Omit to search all accounts.",
            "type": "string"
          },
          "assignee": {
            "description": "Only tickets with an assignee matching this name (diacritics-insensitive)",
            "type": "string"
          },
          "channel": {
            "enum": [
              "jira",
              "clickup"
            ],
            "type": "string"
          },
          "include_description": {
            "description": "Return each ticket's full description (useful to find MR/branch links)",
            "type": "boolean"
          },
          "include_done": {
            "description": "Include completed statuses",
            "type": "boolean"
          },
          "list": {
            "description": "Sprint / list name fragment or list id (e.g. \"Sprint 102\"). ClickUp: loads that whole list",
            "type": "string"
          },
          "scope": {
            "description": "\"me\" (default): tickets assigned to the user; \"anyone\": every ticket in the list (ClickUp)",
            "enum": [
              "me",
              "anyone"
            ],
            "type": "string"
          },
          "status": {
            "description": "Only statuses whose name contains this text",
            "type": "string"
          },
          "tag": {
            "description": "Only tickets with a tag containing this text",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_tickets"
    },
    {
      "description": "Read the messages of one conversation, oldest first. Use `before` with the earliest sent_at to page back.",
      "inputSchema": {
        "properties": {
          "before": {
            "description": "ISO date: only messages sent before this time",
            "type": "string"
          },
          "conversation_id": {
            "type": "string"
          },
          "limit": {
            "description": "Default 30, max 100",
            "type": "number"
          }
        },
        "required": [
          "conversation_id"
        ],
        "type": "object"
      },
      "name": "read_conversation"
    },
    {
      "description": "Full-text search over stored messages across all or one account.",
      "inputSchema": {
        "properties": {
          "account": {
            "description": "Which connected account to use: an account_id from list_accounts, or part of its name (e.g. \"EverydAI\", \"Zalo shop\"). Omit to search all accounts.",
            "type": "string"
          },
          "channel": {
            "description": "Restrict to one channel: slack, msteams, googlechat, jira, clickup, telegram, zalo, gmail, facebook, instagram, whatsapp.",
            "type": "string"
          },
          "limit": {
            "description": "Default 20, max 50",
            "type": "number"
          },
          "query": {
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_messages"
    },
    {
      "description": "Send a message as the user into an existing conversation, through the account that conversation belongs to. This really delivers to the other person — confirm the text with the user first.",
      "inputSchema": {
        "properties": {
          "conversation_id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "thread_id": {
            "description": "Reply inside a thread (thread_id from read_conversation)",
            "type": "string"
          }
        },
        "required": [
          "conversation_id",
          "text"
        ],
        "type": "object"
      },
      "name": "send_message"
    },
    {
      "description": "Change a Jira/ClickUp ticket: move it to another status (use a status name shown by list_tickets), set the due date, or replace the description. Changes are visible to the user's team — confirm with the user first.",
      "inputSchema": {
        "properties": {
          "account_id": {
            "description": "The board's account_id from list_tickets (use with ticket_id)",
            "type": "string"
          },
          "assignee": {
            "description": "Add an assignee. ClickUp: user id or name (matched against the list's members); Jira: accountId",
            "type": "string"
          },
          "conversation_id": {
            "description": "The ticket's conversation_id from list_tickets (when it has one)",
            "type": "string"
          },
          "description": {
            "description": "Replaces the whole description",
            "type": "string"
          },
          "due_date": {
            "description": "YYYY-MM-DD",
            "type": "string"
          },
          "status": {
            "description": "Target status name, e.g. \"qa approved\" or \"In Review\"",
            "type": "string"
          },
          "ticket_id": {
            "description": "ticket_id (ClickUp) or key (Jira) from list_tickets",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "update_ticket"
    }
  ]
}

What the leaf hashes

{"body":"7fb0a6968dc6641cd02722a0f4652927cbb85ece0f6ef2109996a23a35f3762c","id":3405576,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793883850796301,"prev":2570235,"subject":"8bec5a25-b088-4088-850c-98c88d0eaddd","subject_kind":"endpoint"}

Proof

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

  1. 0x46847686ff8cd0ff3d897e7ea75600266806a86f97b60f30f56229bcd69b7bb6
  2. 0x4256a6bc765c782e72de92fd33db025622d7c352c46ccae3cb555210da89b3ef
  3. 0x64edb2b273d580c5ba87df9357ee58779b39a055e29bfd7339b8d46e21b3a842
  4. 0xe08e9f67cdad87f9de6a0e03fc82fd05b3cd4b7244291e0b9e400e6db23f97fc
  5. 0x858ba8a05aa946fe37f0089bfe5a2eb48b91bbfa754f35043fe9f17a32c8d801
  6. 0x4039ee995c5295937132e4679348abd7f39e40dba851730b3cc481575f637d48
  7. 0x6c712321376963cff5a914999cd0670391a82cf070ce9a5cd793cb3e09e3d32c
  8. 0xe5ff048d347f8816ecb658a656304799750d77d037adb18ce5aeed09c1ff34b9
  9. 0xd9528ed26041d0e5e7ec13b86ba7b4a478fb9a77c41c739f46b6495f6d8ca2b4
  10. 0xe142a1aec4ad74d2811d691810d48ec07c5c694aec6af0332338271d4b062f83
  11. 0xb3a4b71cfdab4ba5db196cd09aa2c12aa7e52cbc10ef1d6a101e876648e9e2ef
  12. 0x230b58d4e6053edf98a14bbb5181e3e4b8bd9c28e649e934ce2c1c8843171875
  13. 0x649d8ec60f06f8cc0c38fdc08389782fe23f0b52157e9e096cdf0a782e022b10
  14. 0x23329bf53eb2e958bbb3475e431fb82ddb0bfd349513425995db63fcba47983f
  15. 0xfe0af662712e90709c400186f11133a81c01d01cf7559e4f0670cdd139493a35
  16. 0x4014adbe7dbae4fe239da4c4dde0e45d23e85623794ecea527ea1299bc689d6b
  17. 0xddde0b0de5219c91c717b03cab5216193dc0f26fb006aa8ba17020a71dbd997a
  18. 0xa9caf228b42660818160afb416ff04cb014f57c4d8ee75ea3452fb76c3d8c645
  19. 0xf72fe7c4860b9addb17aac4a00b8afc2f8085836173f10f31697c3d192df119b
Day root
0x9f0215efb0252701dc86d5600ce95f276cccc716759bf112525ae863f698d128
Chained
0xc54ddff800630c6cd9656f99e7d6a61adce99bf1cea37121600598b0a9a720d2
Published
On Arc Testnet, block 70942081: 0x88f612ad94ca63af4e4e9faab9f34b665b41f03828afac1571ad013cc62bba94

How to check it · This row as JSON