addrbookFor publishers
← The evidence ledger

Evidence row 222385

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 221d653a-6a07-4323-af58-fe76b033b4c2
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
5c597870f62741f32a15a13f9d81f38fc7e25ac0d462b04f41aaed6a09af58dc
Leaf
0x808748108325cbac1681ad4910184c9fd83429576f744920cfa238769ad99e35

What was observed

{
  "count": 12,
  "tools": [
    {
      "description": "Compute ONE number over a filtered population of companies — count, sum, avg, median, p25, p75, min or max. Prefer this over listing companies and doing the arithmetic yourself: it is one call instead of dozens, and it is exact. metric: net_turnover_ron, net_profit_ron, employees, sales_per_employee_ron, profit_margin_pct, company_count, age_years. group_by: year, caen, judet, status, founded_year — use group_by='year' with years='2019-2024' to get a time series you can chart. Always report `coverage.rows_with_metric` alongside the answer: it is routinely about half of `coverage.matched_companies`, because many companies never filed the figure.",
      "inputSchema": {
        "properties": {
          "agg": {
            "default": "avg",
            "title": "Agg",
            "type": "string"
          },
          "caen": {
            "default": "",
            "title": "Caen",
            "type": "string"
          },
          "caen_query": {
            "default": "",
            "title": "Caen Query",
            "type": "string"
          },
          "cui": {
            "default": "",
            "title": "Cui",
            "type": "string"
          },
          "group_by": {
            "default": "",
            "title": "Group By",
            "type": "string"
          },
          "judet": {
            "default": "",
            "title": "Judet",
            "type": "string"
          },
          "metric": {
            "default": "net_turnover_ron",
            "title": "Metric",
            "type": "string"
          },
          "min_turnover": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Min Turnover"
          },
          "registered_after": {
            "default": "",
            "title": "Registered After",
            "type": "string"
          },
          "status": {
            "default": "",
            "title": "Status",
            "type": "string"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Year"
          },
          "years": {
            "default": "",
            "title": "Years",
            "type": "string"
          }
        },
        "title": "company_stats_toolArguments",
        "type": "object"
      },
      "name": "company_stats"
    },
    {
      "description": "ChatGPT connector fetch: the full company document for one CUI `id`, as returned by a prior `search` call. Identical to get_company with no include= (administrators included; get_officers lists them per source). Use get_company instead unless you are the ChatGPT Apps SDK connector, which requires this exact name.",
      "inputSchema": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "title": "fetch_toolArguments",
        "type": "object"
      },
      "name": "fetch"
    },
    {
      "description": "Identity, status, address, activity and headline figures for one company by CUI. Slim by default. Pass include=['financials','procurement','change_history','peers','same_address'] for more. Carries `as_of` dates: the register and ANAF are refreshed on different schedules. Data: the Romanian company register (~4M companies) with filed financial statements, ANAF fiscal status, public procurement awards, and legal representatives. Amounts are in lei (RON). Not real-time: every payload states the age of the data it came from.",
      "inputSchema": {
        "properties": {
          "cui": {
            "title": "Cui",
            "type": "string"
          },
          "include": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Include"
          }
        },
        "required": [
          "cui"
        ],
        "title": "get_company_toolArguments",
        "type": "object"
      },
      "name": "get_company"
    },
    {
      "description": "Every filed financial year for one company: turnover, profit (signed — negative is a loss), employees, and the full balance sheet, all in lei. `latest_filed_year` says how recent the filings go, so a year with no row reads as 'not filed yet' rather than 'no data'.",
      "inputSchema": {
        "properties": {
          "cui": {
            "title": "Cui",
            "type": "string"
          }
        },
        "required": [
          "cui"
        ],
        "title": "get_financials_toolArguments",
        "type": "object"
      },
      "name": "get_financials"
    },
    {
      "description": "Court dockets (portal.just.ro) and BPI publications for one company, by CUI. Covers roughly the last three years, not a complete litigation history — it answers whether a company is in court now or recently, not whether it has ever been sued. Includes ambiguous matches the public website never shows: a docket whose party name is shared by more than one company in the register, fanned out one row per candidate CUI. No co-party names, no outcome or merits.",
      "inputSchema": {
        "properties": {
          "cui": {
            "title": "Cui",
            "type": "string"
          }
        },
        "required": [
          "cui"
        ],
        "title": "get_legal_toolArguments",
        "type": "object"
      },
      "name": "get_legal"
    },
    {
      "description": "How old each dataset is, how many companies filed in each year, what fraction of the register carries an activity code, and the mapping from every financial field name to its Romanian label. Call this when the user asks how current or how complete the data is.",
      "inputSchema": {
        "properties": {},
        "title": "get_meta_toolArguments",
        "type": "object"
      },
      "name": "get_meta"
    },
    {
      "description": "Legal representatives and administrators of one company. This is personal data: it requires an API key, every call is recorded against that key, and it is never available anonymously. `sources_present` says which registers contributed, so an empty list means 'none on record from these sources', not 'this company has no officers'.",
      "inputSchema": {
        "properties": {
          "cui": {
            "title": "Cui",
            "type": "string"
          }
        },
        "required": [
          "cui"
        ],
        "title": "get_officers_toolArguments",
        "type": "object"
      },
      "name": "get_officers"
    },
    {
      "description": "Public procurement (SEAP) awards for one company: contracts it won, and contracts it granted as a contracting authority. Bounded to the 200 most recent per side; `total` reports the true count, which can be far larger.",
      "inputSchema": {
        "properties": {
          "cui": {
            "title": "Cui",
            "type": "string"
          },
          "role": {
            "default": "both",
            "title": "Role",
            "type": "string"
          }
        },
        "required": [
          "cui"
        ],
        "title": "get_procurement_toolArguments",
        "type": "object"
      },
      "name": "get_procurement"
    },
    {
      "description": "List companies matching a filter, largest turnover first, at most 100 per page. Pass caen_query for free text ('coffee shops') or caen for explicit codes; judet accepts 'Bucharest', 'Bucuresti' or 'Bucureşti'; cui takes up to 100 comma-separated CUIs. Filters compose, so 'restaurants registered in Cluj last week' is one call. For newly registered companies pass sort='registered_desc' with registered_after — the default turnover order puts them behind every company that has ever filed a figure. Check register.data_through in the response before reporting an empty result: the register is a monthly ONRC snapshot and holds nothing registered after that date. Use cursor to page. If you want a count, an average or a total, use company_stats instead — do not page through companies to compute one.",
      "inputSchema": {
        "properties": {
          "caen": {
            "default": "",
            "title": "Caen",
            "type": "string"
          },
          "caen_query": {
            "default": "",
            "title": "Caen Query",
            "type": "string"
          },
          "cui": {
            "default": "",
            "title": "Cui",
            "type": "string"
          },
          "cursor": {
            "default": "",
            "title": "Cursor",
            "type": "string"
          },
          "judet": {
            "default": "",
            "title": "Judet",
            "type": "string"
          },
          "limit": {
            "default": 25,
            "title": "Limit",
            "type": "integer"
          },
          "min_employees": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Min Employees"
          },
          "min_turnover": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Min Turnover"
          },
          "registered_after": {
            "default": "",
            "title": "Registered After",
            "type": "string"
          },
          "registered_before": {
            "default": "",
            "title": "Registered Before",
            "type": "string"
          },
          "sort": {
            "default": "turnover_desc",
            "title": "Sort",
            "type": "string"
          },
          "status": {
            "default": "",
            "title": "Status",
            "type": "string"
          }
        },
        "title": "list_companies_toolArguments",
        "type": "object"
      },
      "name": "list_companies"
    },
    {
      "description": "Resolve free text like 'coffee shops' or 'car repair' to CAEN activity codes. ALWAYS call this before filtering by activity — do not guess a CAEN code. More than half the official nomenclator is obsolete CAEN Rev.1 with zero companies, and those are exactly the entries whose descriptions match the obvious word, so a guessed code commonly returns nothing for a question with thousands of answers. Show the user what was matched.",
      "inputSchema": {
        "properties": {
          "limit": {
            "default": 10,
            "title": "Limit",
            "type": "integer"
          },
          "query": {
            "title": "Query",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "title": "resolve_caen_toolArguments",
        "type": "object"
      },
      "name": "resolve_caen"
    },
    {
      "description": "ChatGPT connector search: find Romanian companies by name or CUI, returned as {id, title, url}. Identical to search_companies — use that tool instead unless you are the ChatGPT Apps SDK connector, which requires this exact name.",
      "inputSchema": {
        "properties": {
          "query": {
            "title": "Query",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "title": "search_toolArguments",
        "type": "object"
      },
      "name": "search"
    },
    {
      "description": "Resolve a company name or CUI to candidate companies. Use this first whenever the user names a company rather than giving its CUI. Returns at most 50 candidates, active companies first, largest turnover first. Romanian company names collide heavily, so show the user the candidates rather than assuming the first is right. An unquoted query matches every name containing the words (mina srl: 1015 companies); wrap a name you already know in double quotes to get only the companies called that (\"mina srl\": 14). Case, diacritics and SRL/S.R.L. all fold. Quote a name, not a CUI.",
      "inputSchema": {
        "properties": {
          "limit": {
            "default": 10,
            "title": "Limit",
            "type": "integer"
          },
          "query": {
            "title": "Query",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "title": "search_companies_toolArguments",
        "type": "object"
      },
      "name": "search_companies"
    }
  ]
}

What the leaf hashes

{"body":"5c597870f62741f32a15a13f9d81f38fc7e25ac0d462b04f41aaed6a09af58dc","id":222385,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793028007029437,"prev":null,"subject":"221d653a-6a07-4323-af58-fe76b033b4c2","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. 0x80880377bfda64b73e5231e6a8d156514297a6ca0246537c2b1e441f47cbbc16
  2. 0xc520d77fba5e01844d9f0664544a08a26284845cba903e4df053d85985ed0b44
  3. 0x51bb25d1546be2f256466e079da7e0304ddcffc08c726a822cb5947b171543f1
  4. 0x5183c75a6cb76852d2b9fcc1bbaf64626f2a690db98d40e7cca1c67d3b35d3f4
  5. 0x24b2abe8aa11ad2f06f34a83affe6a7d889af05bf96f9dafa285fc690dd225c6
  6. 0xdec177982d62ee8eb089125e7ce16e8e8c15558f0a06c74b6dd3172d9a34be46
  7. 0x948e23b009153139ce9be81120a75686f8dad19316d21d0c6c8db6783517a902
  8. 0xf89deec1b89a50bb438a6cc9537c7e8b876b9d9e76475f0febd6db070aa42ff3
  9. 0x33473c1ba41117ab362e57768253f8c51c21c9146ff505d93b1c7c8662f95eeb
  10. 0x15c5749acf6e438b0810eb58256d5489413257c72393a4d6db9114e07e5b4598
  11. 0x62490dd1c15d5301c6fb2c08f1d6ceb3a0d4c216f6e742424332881907db0fcd
  12. 0xb9c4107c5cbaf0844324e5ba287c90e0643bb7b9e48e7877adda9372132cf0ea
  13. 0x4d2ee986a690e903126f449b4e9e62d5572b350357ab4496a83488949b131c29
  14. 0x0eff463856b0992d53ab7d8c0b97c71541413358bdd445710c1e4b6aeb4d8f78
  15. 0x7eb603d37f0f22dae1ea013e391889906ffc0139ff26e25b044bee38eec8f9b2
  16. 0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76
  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