← 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).
- 0x96ad6e6476c2f69d709e395c254fd21861bd64931a92b42a5fc8dc4e2a4f55e2
- 0x2307110ab1212dc8c2eda2f0bf0c7b0c700d6d510345e6ebc7232586174780db
- 0x7134f07ed33b7737a472825a7280ef18a631d46d5c3092bdf8d14c9af19d902e
- 0x1ef24a4bb2967991342b999b35cbd6d1a809eb2500fc9c7fa29b812a5c7e8fd4
- 0xd111f59b65498ca6021a6727959578a388dee3eb531e13d09818bbba2c70c5e2
- 0xd4a0e857e4d637108c19cce141e822843ad336e79a4a6c64509be3f87c1d5cb2
- 0x8602b3bb7d7fb854c91974ca976f3290f9c6fb71d74cb99a0dfebc68ad692995
- 0xfb7774c37a9b2ffc826f299047bec0ea0c73c6f079725e8717af4f5e2f73c5b6
- 0xf5a8596e0b06bf0d281f6f14eeb529fb7f54a41889b91d6af6b6c872b900323a
- 0x967f49fc57d75b1bcc96107679bd305f464f936f0049de5f6f3a15dabb50eb78
- 0xc280b3b9968aa6c4c1d58f1d93bf282873099bba7b119c4ce413c82e165f3330
- 0xd43b73151a0c2d9a61f2ae73ed148938b0e6b05c81197f7eebbf95dba38a7004
- 0xb314422bc93e7f1c0b706c67f5fff96c5ddf74934bb2fe8ab6291ae016907e37
- 0x49062da782c4f73855ddd5fdd51840749f928b5f17d1ce75ac50f2d829104e72
- 0xf0bd63870f0bb378fa300bd33563050dcb7b3e02b44eb3ee550c1c534ec4b246
- 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
- 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae