addrbookFor publishers
← The evidence ledger

Evidence row 258606

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint c738806e-970c-4d0d-91fb-7e19a1addcf3
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
258a57e88885ebaef05833ac4df6750367215e0af7590c1c9d00305c3d2dc847
Leaf
0x70e4b9fec518ddc49bc837021ce4a4f2fa09ee534c64046ca177aefd5fe0bb2f

What was observed

{
  "count": 9,
  "tools": [
    {
      "description": "Resolve up to 50 companies in one call. Every requested identifier appears in the result with an explicit status (resolved, not_found or invalid_organisation_number), so absence is never signalled by omission.",
      "inputSchema": {
        "properties": {
          "organisation_numbers": {
            "description": "Swedish organisation numbers (10 or 12 digits), max 50",
            "items": {
              "pattern": "^\\d{10,12}$",
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          },
          "tier": {
            "description": "Product tier. basic (free, fair-use limited): identity. verified (0.02 USDC/company): current state with per-value verification and provenance. intelligence (0.08 USDC/company): verified plus history, material events, annual-report financials, trends and deterministic signals. Paid tiers use x402 v2 on Base when payment is enforced: an unpaid call returns the PaymentRequired; retry with params._meta['x402/payment']. Omitted: basic while payment is enforced, the legacy untiered response in the free preview.",
            "enum": [
              "basic",
              "verified",
              "intelligence"
            ],
            "type": "string"
          }
        },
        "required": [
          "organisation_numbers"
        ],
        "type": "object"
      },
      "name": "batch_get_companies"
    },
    {
      "description": "Fetch the register identity of one Swedish company by the id that search returned (its organisationsnummer): name, legal form, industry (SNI), registration date, municipality, status, sources and freshness. Free (Basic). Verified and Intelligence (VAT/F-tax, history, annual reports, signals) are paid via get_company.",
      "inputSchema": {
        "properties": {
          "id": {
            "description": "An id from search: the organisationsnummer",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "fetch"
    },
    {
      "description": "Find active warning signals for a company. Signals are deterministic rules over register facts and filed annual reports — no AI scores. Examples: vat_registration_lost, f_tax_lost, employee_band_decline, liquidation_in_progress, bankruptcy_proceeding, revenue_decline_yoy, negative_equity. Each signal includes its rule, severity (low, medium, high), supporting facts and detected_at.",
      "inputSchema": {
        "properties": {
          "organisation_number": {
            "description": "Swedish organisation number (10 or 12 digits)",
            "pattern": "^\\d{10,12}$",
            "type": "string"
          },
          "severity": {
            "description": "Optional: filter by severity level",
            "enum": [
              "low",
              "medium",
              "high"
            ],
            "type": "string"
          },
          "signal_type": {
            "description": "Optional: filter to a specific signal type",
            "enum": [
              "asset_decline",
              "bankruptcy_proceeding",
              "company_deregistered",
              "company_inactive",
              "employee_band_decline",
              "employer_registration_lost",
              "equity_decline",
              "f_tax_lost",
              "financial_reporting_gap",
              "liability_growth",
              "liquidation_in_progress",
              "merger_in_progress",
              "multiple_material_changes_90d",
              "negative_equity",
              "operating_result_negative",
              "profit_negative",
              "recent_status_change",
              "repeated_address_changes",
              "repeated_losses",
              "repeated_operating_losses",
              "restructuring_in_progress",
              "revenue_decline_2y",
              "revenue_decline_yoy",
              "turnover_band_decline",
              "vat_registration_lost",
              "workplace_count_decline"
            ],
            "type": "string"
          }
        },
        "required": [
          "organisation_number"
        ],
        "type": "object"
      },
      "name": "find_distress_signals"
    },
    {
      "description": "Find companies related to the given company by evidence MIL holds: industry_cluster (same SNI classification) and address_cluster (same registered postal code). Relation types MIL has no source data for, such as board_member and ownership, are reported as unavailable with a reason rather than as an empty result.",
      "inputSchema": {
        "properties": {
          "limit": {
            "default": 10,
            "description": "Maximum results (default 10, max 50)",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "organisation_number": {
            "description": "Swedish organisation number (10 or 12 digits)",
            "pattern": "^\\d{10,12}$",
            "type": "string"
          },
          "relation_type": {
            "description": "Relation to search for. industry_cluster and address_cluster are supported; board_member and ownership return an explicit unavailable status because MIL does not yet ingest that data.",
            "enum": [
              "industry_cluster",
              "address_cluster",
              "board_member",
              "ownership"
            ],
            "type": "string"
          }
        },
        "required": [
          "organisation_number"
        ],
        "type": "object"
      },
      "name": "find_related_companies"
    },
    {
      "description": "Retrieve machine-readable intelligence for a Swedish company by organisation number. Returns current attribute values, resolved knowledge, signals, events, provenance, and data freshness. All values include confidence and source evidence. Unknown or missing data is returned explicitly — never invented.",
      "inputSchema": {
        "properties": {
          "organisation_number": {
            "description": "Swedish organisation number (10 or 12 digits, e.g. '5560000000' or '165560000000')",
            "pattern": "^\\d{10,12}$",
            "type": "string"
          },
          "tier": {
            "description": "Product tier. basic (free, fair-use limited): identity. verified (0.02 USDC/company): current state with per-value verification and provenance. intelligence (0.08 USDC/company): verified plus history, material events, annual-report financials, trends and deterministic signals. Paid tiers use x402 v2 on Base when payment is enforced: an unpaid call returns the PaymentRequired; retry with params._meta['x402/payment']. Omitted: basic while payment is enforced, the legacy untiered response in the free preview.",
            "enum": [
              "basic",
              "verified",
              "intelligence"
            ],
            "type": "string"
          }
        },
        "required": [
          "organisation_number"
        ],
        "type": "object"
      },
      "name": "get_company"
    },
    {
      "description": "Retrieve the change history for a Swedish company — attribute_changed events showing when values were first observed and what changed. Optionally filter by attribute key. Returns temporal bounds (effective_from) and evidence for each event.",
      "inputSchema": {
        "properties": {
          "attribute_key": {
            "description": "Optional: filter to events for a specific attribute (e.g. 'employee_count', 'legal_form')",
            "type": "string"
          },
          "limit": {
            "default": 50,
            "description": "Maximum number of events to return (default 50, max 200)",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "organisation_number": {
            "description": "Swedish organisation number (10 or 12 digits)",
            "pattern": "^\\d{10,12}$",
            "type": "string"
          }
        },
        "required": [
          "organisation_number"
        ],
        "type": "object"
      },
      "name": "get_company_history"
    },
    {
      "description": "Search Swedish companies by name or organisationsnummer (10 or 12 digits, dashes allowed). Also accepts simple discovery such as 'restaurants in Trelleborg', 'construction companies in Malmö', 'IT companies in Lund', or 'companies in Trelleborg' (also Swedish 'restauranger i Malmö'). Industries resolve through official English/Swedish SNI descriptions and business aliases, e.g. 'computer repair'/'datorreparation' and 'dining'/'restaurangverksamhet'. Known counties such as Skåne and explicit municipality names use registered administrative geography. Unrecognized or ambiguous wording falls back to name search. Locality is the registered locality, not nearby workplaces. Signal-filtered discovery is refused in free search; use paid find_distress_signals for a known company. Returns up to 10 results, each with an id to pass to fetch and a citable URL. Free (Basic identity only).",
      "inputSchema": {
        "properties": {
          "query": {
            "description": "Company name, organisationsnummer such as 556012-5790, or simple discovery such as restaurants in Trelleborg",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search"
    },
    {
      "description": "Search and discover Swedish companies without knowing their organisation number. Filter by company name (partial match), industry code, or presence of active distress signals. Returns compact summary cards — each card includes the organisation_number needed to call get_company for full intelligence. All parameters are optional; omit all to browse all companies in the dataset. Discovery flow: (1) call search_companies to find a company, (2) use the returned organisation_number to call get_company for full intelligence.",
      "inputSchema": {
        "properties": {
          "has_signals": {
            "description": "If true, return only companies with active distress signals. If false, return only companies without. Omit to return all.",
            "type": "boolean"
          },
          "industry_code": {
            "description": "Swedish SNI numeric prefix (2–5 digits), matching any registered activity; e.g. '62' for IT",
            "type": "string"
          },
          "limit": {
            "default": 20,
            "description": "Maximum number of companies to return (default 20, max 100)",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "locality": {
            "description": "Registered locality, combined with ANY matching SNI",
            "type": "string"
          },
          "name": {
            "description": "Partial company name to search (case-insensitive substring match on legal name)",
            "type": "string"
          },
          "organisation_number": {
            "description": "Canonical 10-digit or source 12-digit company identity",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "search_companies"
    },
    {
      "description": "Search for company attribute change events across companies. Use this to find companies where a specific attribute recently changed, or to monitor for changes in a particular dimension (e.g. employee count drops). Returns events with company identifiers, previous/new values, and temporal bounds.",
      "inputSchema": {
        "properties": {
          "attribute_key": {
            "description": "Attribute to filter by (e.g. 'employee_count', 'legal_form', 'industry_code')",
            "type": "string"
          },
          "event_type": {
            "default": "attribute_changed",
            "description": "Event type filter (currently only 'attribute_changed' is supported)",
            "enum": [
              "attribute_changed"
            ],
            "type": "string"
          },
          "limit": {
            "default": 50,
            "description": "Maximum number of events to return (default 50, max 200)",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "search_company_events"
    }
  ]
}

What the leaf hashes

{"body":"258a57e88885ebaef05833ac4df6750367215e0af7590c1c9d00305c3d2dc847","id":258606,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793030276145463,"prev":null,"subject":"c738806e-970c-4d0d-91fb-7e19a1addcf3","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. 0x70e48263b724a5ebaebf36469bc3785c4c4f49b18dceaa2b81215acce4b58911
  2. 0x5e09c1a6084684e67d40544b5f47382f98be0406fbe09c62c6225f0113b4b41c
  3. 0xbc791c6e5600fdec61839af6ed05497fefce73a8328f1967c43899f6c57dc15a
  4. 0xfd28c5b0971914141134fedc9770e03bcb0fd870e9d035670ec2ff393123634b
  5. 0xeee1e8dfad217b761cd459980fae5377f024ae3afd82baf71734ba1288baba16
  6. 0x627333b18f178fea276f6ab6b716d3ccd796732aeb7a20dec7bac78a29270a61
  7. 0x7855212a3e44816623bf97da336f1fe6ad5ec9019aa8cef0055662477a90de92
  8. 0x134c49549ba120ccc04c4f918b75e68c5f80100eef7a20adef541fb668884ab0
  9. 0xf9a6818a3f2ac2642dca7c4363f32a10513cbe382420d3c68da9b76bcc10d716
  10. 0x6fae3679fc5921d366ae94575352c3191431b9e169642b59711be337f82a5294
  11. 0x85ea4bbb5113622e4aa66d1805aad88594922ba95c70691ba980547dd9edd2b2
  12. 0x5be1d69fd9353c3a75685caffea8c98e8f079f5072011c82517cc5f365ba32f8
  13. 0x14b83e3bc6587240f31cd033d09d131e0775b7b00aada9042597008a70399013
  14. 0xfc9b5a81a7a83a1c735a4fe64590beb9db14d2366f463161358af28c3ea9a81d
  15. 0xa2d436d488e3600b0e5c3e3ed9c9234cd52853c59830b786334fd0c4292d9f40
  16. 0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0
  17. 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON