← The evidence ledger
Evidence row 260970
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint eecc0a6c-9119-4539-bae6-b2fd96d40a2b
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 6a07376b18b5d134c486586e4aca3c3d10237226d1e5033189dd4a440e7e692e
- Leaf
- 0x1063ac956582324a6c92acf8a52d74a59c056156f51ec631c283e401c19a0bb1
What was observed
{
"count": 19,
"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": "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": "Cria uma transação. value e date são obrigatórios; demais campos opcionais. Para parcelar, use installments; para recorrer, use expense_recurrency (dias) OU recurrency_array_dates (lista de datas).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"card_name": {
"type": "string"
},
"category": {
"type": "string"
},
"date": {
"type": "string"
},
"description": {
"type": "string"
},
"expense_recurrency": {
"type": "number"
},
"installments": {
"type": "number"
},
"payment_bank": {
"type": "string"
},
"recurrency_array_dates": {
"items": {
"type": "string"
},
"type": "array"
},
"value": {
"type": "number"
}
},
"required": [
"value",
"date"
],
"type": "object"
},
"name": "poupa_add_transaction"
},
{
"description": "Cria várias transações de uma vez (bulk). transactions[] é obrigatório; cada item segue o mesmo shape de poupa_add_transaction.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"transactions": {
"items": {
"properties": {
"card_name": {
"type": "string"
},
"category": {
"type": "string"
},
"date": {
"type": "string"
},
"description": {
"type": "string"
},
"expense_recurrency": {
"type": "number"
},
"installments": {
"type": "number"
},
"payment_bank": {
"type": "string"
},
"recurrency_array_dates": {
"items": {
"type": "string"
},
"type": "array"
},
"value": {
"type": "number"
}
},
"required": [
"value",
"date"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"transactions"
],
"type": "object"
},
"name": "poupa_add_transactions"
},
{
"description": "Lista os bancos/contas do usuário.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "poupa_banks"
},
{
"description": "Lista os cartões de crédito do usuário.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "poupa_cards"
},
{
"description": "Lista as categorias do usuário.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "poupa_category"
},
{
"description": "Categorias e métodos de pagamento padrão do usuário.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "poupa_defaults"
},
{
"description": "Deleta transações por filtro. O filtro precisa ser não vazio (a tool se recusa a deletar tudo). Aceita ids, intervalo de datas, descrição, categoria, etc.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"type": "string"
},
"description": {
"type": "string"
},
"end_date": {
"type": "string"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
},
"start_date": {
"type": "string"
}
},
"type": "object"
},
"name": "poupa_delete_transactions_by_filter"
},
{
"description": "Saldo do usuário, agrupado por banco, categoria, método de pagamento, cartão, tipo (entrada/saída) e mês. start_date/end_date (YYYY-MM-DD) limitam a janela; sem datas, traz tudo.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end_date": {
"type": "string"
},
"start_date": {
"type": "string"
}
},
"type": "object"
},
"name": "poupa_get_balance"
},
{
"description": "Memórias/notas do usuário gravadas no Poupa AI.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "poupa_memories"
},
{
"description": "Preferências do usuário (idioma, moeda, etc.).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "poupa_preferences"
},
{
"description": "Lista transações no intervalo (YYYY-MM-DD), opcionalmente filtradas por palavras-chave (match parcial case-insensitive na descrição), cartão e/ou banco/pagador.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"card_name": {
"type": "string"
},
"end_date": {
"type": "string"
},
"keywords": {
"items": {
"type": "string"
},
"type": "array"
},
"payment_bank": {
"type": "string"
},
"start_date": {
"type": "string"
}
},
"type": "object"
},
"name": "poupa_retrieve_transactions"
},
{
"description": "Registra uma transferência entre dois bancos/contas do PRÓPRIO usuário (movimento contábil — não executa transferência bancária real). value é o valor; date opcional (default = hoje).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"date": {
"type": "string"
},
"from_bank": {
"type": "string"
},
"to_bank": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"from_bank",
"to_bank",
"value"
],
"type": "object"
},
"name": "poupa_transfer_between_banks"
},
{
"description": "Atualiza uma ou mais transações existentes. Informe os ids alvo no filtro e os campos a alterar (passthrough).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"changes": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"filter": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "poupa_update_transactions"
},
{
"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":"6a07376b18b5d134c486586e4aca3c3d10237226d1e5033189dd4a440e7e692e","id":260970,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793032050927161,"prev":null,"subject":"eecc0a6c-9119-4539-bae6-b2fd96d40a2b","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x106307a08859e518a531c4d35e0f656829a42b13f10d543bc564711b155fe760
- 0x55bb8c626389847521281cb814623c480720ec96c692d6b8b823c57fd61fc431
- 0x847373ff8cb8925fc34c564c958a87d01f64fca32e6459d924e53535a2b45311
- 0xcc10bb43a01fdd59d2f4f2f08ad73166c939412ac0303923e595962988476e58
- 0x212cb3e826e0f13ca6b82b97fa097b3ebff01429bf07360f9d0f8a995ca756c3
- 0xa4a20c93c9abdaf8f93deb892eae7c4bc63ab48f5e68c0d7cb545c28a21f2eca
- 0xa2d535dd1c7083811742d7e7c1489c966fdaee8b2933943fe18cc13f41869c56
- 0x2eed16a742ffe120df0a1d3af583c684e2833418638ff4f08d431bdda2fd370d
- 0xc78969e1448b4e00b22c1b3dc7e51f8123c9e7092baaaedc96ecfaebe34d69e7
- 0x966bf10795d50c9f81eb3c272b7279beecfe723480c50bbb3c87bcd23b5cd5b5
- 0x27ff2940d5376ec3cc70015c126b688bae838938b2846686279ceb190eb69456
- 0xc02d9eff6ef94d46d90d54320548f18fc3f05787047265548577569253c19969
- 0x294f7935f78a896b5f246a7c9a7ee1b023720acdb03fff3cd549c63479848ec9
- 0xb49e8c2564256e5322e375cb619d9ac70fd17c1d1eba9c991bba4cb6428f45cc
- 0x60582ab4b41e72eb70eb0bce07fbf0fb4d2b62a8bad5be50f5d16d511adc746c
- 0xc6a4d7899a0f442958e26505011190b7cff2483611c1b94eba9043e0ba9ac36e
- 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
- 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae