addrbookFor publishers
← The evidence ledger

Evidence row 300772

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 67110343-37bb-4e9c-83eb-dd7b3f05dd22
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
f84dcc418a894911274b9c1ed7b9ff629f95b3cddf33821eb72ea1988a7cc47f
Leaf
0x96ad54479f71bb0aa05cae88c409fcf4892fba4b1dd681b8d3dcfac4a62eea7d

What was observed

{
  "count": 23,
  "tools": [
    {
      "description": "Add existing users to an organization, optionally with roles and permissions. Reversible by removing them. Kinde: POST /api/v1/organizations/{org_code}/users.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "org_code": {
            "description": "The organization's code.",
            "type": "string"
          },
          "users": {
            "description": "The users to add.",
            "items": {
              "properties": {
                "id": {
                  "description": "The user's id.",
                  "type": "string"
                },
                "permissions": {
                  "description": "Permission keys to grant on join.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "roles": {
                  "description": "Role keys to grant on join.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "required": [
                "id"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "org_code",
          "users"
        ],
        "type": "object"
      },
      "name": "kinde_add_users_to_organization"
    },
    {
      "description": "Create a new organization (tenant) in the business. Kinde: POST /api/v1/organization.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "external_id": {
            "description": "Your own id for this organization.",
            "type": "string"
          },
          "feature_flags": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Feature-flag overrides to set on creation.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "name": {
            "description": "The organization's display name.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "name": "kinde_create_organization"
    },
    {
      "description": "Create a permission that roles and users can hold. Kinde: POST /api/v1/permissions.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "description": {
            "description": "What the permission allows.",
            "type": "string"
          },
          "key": {
            "description": "The permission's key, used in tokens.",
            "type": "string"
          },
          "name": {
            "description": "The permission's display name.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "key"
        ],
        "type": "object"
      },
      "name": "kinde_create_permission"
    },
    {
      "description": "Create a role that can then be granted to users. Kinde: POST /api/v1/roles.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "description": {
            "description": "What the role is for.",
            "type": "string"
          },
          "is_default_role": {
            "description": "Grant this role to new users automatically.",
            "type": "boolean"
          },
          "key": {
            "description": "The role's key, used in tokens.",
            "type": "string"
          },
          "name": {
            "description": "The role's display name.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "key"
        ],
        "type": "object"
      },
      "name": "kinde_create_role"
    },
    {
      "description": "Fetch a single application by id, including its client id and login URLs. Kinde: GET /api/v1/applications/{application_id}.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "application_id": {
            "description": "The application's id.",
            "type": "string"
          }
        },
        "required": [
          "application_id"
        ],
        "type": "object"
      },
      "name": "kinde_get_application"
    },
    {
      "description": "Fetch the Kinde business this token belongs to — its name, industry and timezone. A cheap way to confirm the credentials and audience are right. Kinde: GET /api/v1/business.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {},
        "type": "object"
      },
      "name": "kinde_get_business"
    },
    {
      "description": "Fetch a single organization by its org code. Kinde: GET /api/v1/organization.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "org_code": {
            "description": "The organization's code, e.g. org_1234abcd.",
            "type": "string"
          }
        },
        "required": [
          "org_code"
        ],
        "type": "object"
      },
      "name": "kinde_get_organization"
    },
    {
      "description": "Fetch a single user by id, optionally expanded with their organizations and identities. Kinde: GET /api/v1/user.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "expand": {
            "description": "Comma-separated extras, e.g. organizations,identities.",
            "type": "string"
          },
          "user_id": {
            "description": "The user's id.",
            "type": "string"
          }
        },
        "required": [
          "user_id"
        ],
        "type": "object"
      },
      "name": "kinde_get_user"
    },
    {
      "description": "List the permissions one user holds in one organization. Kinde: GET /api/v1/organizations/{org_code}/users/{user_id}/permissions.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "org_code": {
            "description": "The organization's code.",
            "type": "string"
          },
          "user_id": {
            "description": "The user's id.",
            "type": "string"
          }
        },
        "required": [
          "org_code",
          "user_id"
        ],
        "type": "object"
      },
      "name": "kinde_get_user_permissions_in_organization"
    },
    {
      "description": "List the roles one user holds in one organization — the direct answer to 'what can this person do here?'. Kinde: GET /api/v1/organizations/{org_code}/users/{user_id}/roles.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "org_code": {
            "description": "The organization's code.",
            "type": "string"
          },
          "user_id": {
            "description": "The user's id.",
            "type": "string"
          }
        },
        "required": [
          "org_code",
          "user_id"
        ],
        "type": "object"
      },
      "name": "kinde_get_user_roles_in_organization"
    },
    {
      "description": "Give one user a permission within one organization. Reversible. Kinde: POST /api/v1/organizations/{org_code}/users/{user_id}/permissions.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "org_code": {
            "description": "The organization's code.",
            "type": "string"
          },
          "permission_id": {
            "description": "The permission's id.",
            "type": "string"
          },
          "user_id": {
            "description": "The user's id.",
            "type": "string"
          }
        },
        "required": [
          "org_code",
          "user_id",
          "permission_id"
        ],
        "type": "object"
      },
      "name": "kinde_grant_user_permission_in_organization"
    },
    {
      "description": "Give one user a role within one organization. Reversible with kinde_revoke_user_role_in_organization. Kinde: POST /api/v1/organizations/{org_code}/users/{user_id}/roles.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "org_code": {
            "description": "The organization's code.",
            "type": "string"
          },
          "role_id": {
            "description": "The role's id.",
            "type": "string"
          },
          "user_id": {
            "description": "The user's id.",
            "type": "string"
          }
        },
        "required": [
          "org_code",
          "user_id",
          "role_id"
        ],
        "type": "object"
      },
      "name": "kinde_grant_user_role_in_organization"
    },
    {
      "description": "List the APIs registered as token audiences. Kinde: GET /api/v1/apis.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {},
        "type": "object"
      },
      "name": "kinde_list_apis"
    },
    {
      "description": "List the applications registered in the business, with their types. Kinde: GET /api/v1/applications.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "next_token": {
            "description": "Cursor from the previous page's next_token. Omit for the first page.",
            "type": "string"
          },
          "page_size": {
            "description": "Page size, 1-100.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "sort": {
            "description": "Sort order, e.g. name_asc or name_desc.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "kinde_list_applications"
    },
    {
      "description": "List the feature flags set at the environment level, with their values. Kinde: GET /api/v1/environment/feature_flags.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {},
        "type": "object"
      },
      "name": "kinde_list_environment_feature_flags"
    },
    {
      "description": "List the feature-flag overrides set for one organization. Kinde: GET /api/v1/organizations/{org_code}/feature_flags.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "org_code": {
            "description": "The organization's code.",
            "type": "string"
          }
        },
        "required": [
          "org_code"
        ],
        "type": "object"
      },
      "name": "kinde_list_organization_feature_flags"
    },
    {
      "description": "List the users belonging to one organization, optionally filtered by the permissions or roles they hold. Kinde: GET /api/v1/organizations/{org_code}/users.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "next_token": {
            "description": "Cursor from the previous page's next_token. Omit for the first page.",
            "type": "string"
          },
          "org_code": {
            "description": "The organization's code.",
            "type": "string"
          },
          "page_size": {
            "description": "Page size, 1-100.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "permissions": {
            "description": "Only users holding these permissions.",
            "type": "string"
          },
          "roles": {
            "description": "Only users holding these roles.",
            "type": "string"
          },
          "sort": {
            "description": "Sort order, e.g. name_asc or name_desc.",
            "type": "string"
          }
        },
        "required": [
          "org_code"
        ],
        "type": "object"
      },
      "name": "kinde_list_organization_users"
    },
    {
      "description": "List the organizations (tenants) in the business. Kinde: GET /api/v1/organizations.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "next_token": {
            "description": "Cursor from the previous page's next_token. Omit for the first page.",
            "type": "string"
          },
          "page_size": {
            "description": "Page size, 1-100.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "sort": {
            "description": "Sort order, e.g. name_asc or name_desc.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "kinde_list_organizations"
    },
    {
      "description": "List the permissions defined in the business. Kinde: GET /api/v1/permissions.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "next_token": {
            "description": "Cursor from the previous page's next_token. Omit for the first page.",
            "type": "string"
          },
          "page_size": {
            "description": "Page size, 1-100.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "sort": {
            "description": "Sort order, e.g. name_asc or name_desc.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "kinde_list_permissions"
    },
    {
      "description": "List the permissions attached to one role. Kinde: GET /api/v1/roles/{role_id}/permissions.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "next_token": {
            "description": "Cursor from the previous page's next_token. Omit for the first page.",
            "type": "string"
          },
          "page_size": {
            "description": "Page size, 1-100.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "role_id": {
            "description": "The role's id.",
            "type": "string"
          }
        },
        "required": [
          "role_id"
        ],
        "type": "object"
      },
      "name": "kinde_list_role_permissions"
    },
    {
      "description": "List the roles defined in the business. Kinde: GET /api/v1/roles.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "next_token": {
            "description": "Cursor from the previous page's next_token. Omit for the first page.",
            "type": "string"
          },
          "page_size": {
            "description": "Page size, 1-100.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "sort": {
            "description": "Sort order, e.g. name_asc or name_desc.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "kinde_list_roles"
    },
    {
      "description": "List marketing subscribers. Kinde: GET /api/v1/subscribers.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "next_token": {
            "description": "Cursor from the previous page's next_token. Omit for the first page.",
            "type": "string"
          },
          "page_size": {
            "description": "Page size, 1-100.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "sort": {
            "description": "Sort order, e.g. name_asc or name_desc.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "kinde_list_subscribers"
    },
    {
      "description": "List users in the business, optionally narrowed by email or user id. Kinde: GET /api/v1/users.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "email": {
            "description": "Only the user with this email address.",
            "type": "string"
          },
          "expand": {
            "description": "Comma-separated extras to include, e.g. organizations,identities.",
            "type": "string"
          },
          "next_token": {
            "description": "Cursor from the previous page's next_token. Omit for the first page.",
            "type": "string"
          },
          "page_size": {
            "description": "Page size, 1-100.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "user_id": {
            "description": "Only this user id.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "kinde_list_users"
    }
  ]
}

What the leaf hashes

{"body":"f84dcc418a894911274b9c1ed7b9ff629f95b3cddf33821eb72ea1988a7cc47f","id":300772,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793053648191776,"prev":null,"subject":"67110343-37bb-4e9c-83eb-dd7b3f05dd22","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. 0x96ad6e6476c2f69d709e395c254fd21861bd64931a92b42a5fc8dc4e2a4f55e2
  2. 0x2307110ab1212dc8c2eda2f0bf0c7b0c700d6d510345e6ebc7232586174780db
  3. 0x7134f07ed33b7737a472825a7280ef18a631d46d5c3092bdf8d14c9af19d902e
  4. 0x1ef24a4bb2967991342b999b35cbd6d1a809eb2500fc9c7fa29b812a5c7e8fd4
  5. 0xd111f59b65498ca6021a6727959578a388dee3eb531e13d09818bbba2c70c5e2
  6. 0xd4a0e857e4d637108c19cce141e822843ad336e79a4a6c64509be3f87c1d5cb2
  7. 0x8602b3bb7d7fb854c91974ca976f3290f9c6fb71d74cb99a0dfebc68ad692995
  8. 0xfb7774c37a9b2ffc826f299047bec0ea0c73c6f079725e8717af4f5e2f73c5b6
  9. 0xf5a8596e0b06bf0d281f6f14eeb529fb7f54a41889b91d6af6b6c872b900323a
  10. 0x967f49fc57d75b1bcc96107679bd305f464f936f0049de5f6f3a15dabb50eb78
  11. 0xc280b3b9968aa6c4c1d58f1d93bf282873099bba7b119c4ce413c82e165f3330
  12. 0xd43b73151a0c2d9a61f2ae73ed148938b0e6b05c81197f7eebbf95dba38a7004
  13. 0xb314422bc93e7f1c0b706c67f5fff96c5ddf74934bb2fe8ab6291ae016907e37
  14. 0x49062da782c4f73855ddd5fdd51840749f928b5f17d1ce75ac50f2d829104e72
  15. 0xf0bd63870f0bb378fa300bd33563050dcb7b3e02b44eb3ee550c1c534ec4b246
  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