Skip to content

Verify a Company

by hatchloop.dev · remote · no sign-in to list tools · v0.2.13 · published by dev.hatchloop

Verify a company on GLEIF LEI and SEC EDGAR, screen sanctions. No key; quota-free data.

Changes · 3

7 tools: 3 change things and 4 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http company-verification https://hatchloop.dev/mcp/company-verification

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

7 tools

Changes things 3Claude Code: ask
  • screen_sanctionsFree screening of a name/entity (Latin or Arabic script) against sanctions lists: OFAC SDN (US Treasury), EU consolidated list (European Commission), UK Sanctions List (FCDO).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Free screening of a name/entity (Latin or Arabic script) against sanctions lists: OFAC SDN (US Treasury), EU consolidated list (European Commission), UK Sanctions List (FCDO). THE UN CONSOLIDATED LIST IS NOT SCREENED -- no licence permits redistribution. Never fabricates a match or clear: check lists_screened; reason_code 'partial_screening' (never 'clear') if any source failed. [free, no key]

    Annotations the server declares

    • title: Screen Sanctions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • self_testService health probe: runs 6 internal checks and reports how many passed.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Service health probe: runs 6 internal checks and reports how many passed. Confirms the server is up and responding - it does NOT probe each tool individually. Use to verify connectivity before production use. [free, no key]

    Annotations the server declares

    • title: Self Test
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • verify_company_recordFree, live lookup of a company official registry record.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Free, live lookup of a company official registry record. Queries the GLEIF global LEI registry (primary, 2.6 million legal entities worldwide) and SEC EDGAR (US public companies) to return the official legal name, LEI, entity status, jurisdiction, registered address, and registry authority. Never fabricates: if the company is not found in these free registries, returns an honest not_found with the sources that were queried. [free, no key]

    Annotations the server declares

    • title: Verify Company Record
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 4Claude Code: allow
  • get_outcomeRetrieve the final OutcomeReceipt for a completed operation.No findings

    Why it is in this group

    • The name "get_outcome" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve the final OutcomeReceipt for a completed operation. [free, no key]

    Annotations the server declares

    • title: Get Outcome
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_statusQuery the current state of any in-flight async operation by operation_id.No findings

    Why it is in this group

    • The name "get_status" says "get": a word for reading.
    Description, as the server wrote it
    Query the current state of any in-flight async operation by operation_id. [free, no key]

    Annotations the server declares

    • title: Get Status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • lookup_us_contractsSearch US federal contract awards by company (recipient) name using the free USASpending.gov public API.No findings

    Why it is in this group

    • The name "lookup_us_contracts" says "lookup": a word for reading.
    Description, as the server wrote it
    Search US federal contract awards by company (recipient) name using the free USASpending.gov public API. Returns the top awards sorted by dollar amount: award ID, recipient name, award amount USD, awarding agency, NAICS code/description, and period of performance. Zero upstream cost, no key required. Data covers 2020-2026 procurement contracts. [free, no key]

    Annotations the server declares

    • title: Lookup Us Contracts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • preview_costReturn an expected cost estimate, latency estimate, and success-probability estimate for a proposed call before execution.No findings

    Why it is in this group

    • The name "preview_cost" says "preview": a word for reading.
    Description, as the server wrote it
    Return an expected cost estimate, latency estimate, and success-probability estimate for a proposed call before execution. Returns the exact price when it is fixed, and a min/max range when the cost depends on channel or outcome. It does not promise an accuracy percentage - check cost_range. [free, no key]

    Annotations the server declares

    • title: Preview Cost
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.2.13. Values in angle brackets are yours to fill in.

claude mcp add --transport http company-verification https://hatchloop.dev/mcp/company-verification

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__company-verification__get_status",
      "mcp__company-verification__get_outcome",
      "mcp__company-verification__preview_cost",
      "mcp__company-verification__lookup_us_contracts"
    ],
    "ask": [
      "mcp__company-verification__self_test",
      "mcp__company-verification__verify_company_record",
      "mcp__company-verification__screen_sanctions"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as company-verification. Review it before you use it.