ares

Czech & Slovak business registry — company lookup by IČO, name, legal form, VAT. Official ARES.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
99%
Naming quality
96%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,403Tokens (tool definitions)
~1.4 KBTypical response size
Moderate attention impact (1.88% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "ares": {
      "command": "npx",
      "args": [
        "@czagents/ares"
      ]
    }
  }
}

Runnable packages

npm@czagents/ares0.1.7stdio

Remote endpoints

https://ares.cz-agents.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢lookup_by_ico(ico)

Get a single Czech company record by its IČO (8-digit Business ID). Returns official name, registered address, legal form, VAT ID (DIČ), founding date, and trade license activities. Returns null if IČO is not found in ARES.

Input Schema

{
  "type": "object",
  "properties": {
    "ico": {
      "type": "string",
      "description": "Czech IČO — 7 or 8 digits. Examples: \"11122234\", \"87654326\". Auto-validated with MOD11 checksum."
    }
  },
  "required": [
    "ico"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_companies(query, city, street, psc, nace, ...)

Search ARES by company name, city, street, PSČ, or NACE code. Combines all filters with AND. Useful when user knows name but not IČO, looking for companies in a building, or all businesses in a sector.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Partial or full company name (obchodní jméno)."
    },
    "city": {
      "type": "string",
      "description": "Filter by city (nazev obce), e.g. \"Praha\"."
    },
    "street": {
      "type": "string",
      "description": "Filter by street name (nazev ulice), e.g. \"Radlická\"."
    },
    "psc": {
      "type": "integer",
      "description": "Filter by postal code (PSČ), 5-digit number."
    },
    "nace": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Filter by CZ-NACE activity codes, 2-6 digits. E.g., [\"62\"] for IT."
    },
    "pocet": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 10,
      "description": "Max results (1-100, default 10)."
    },
    "start": {
      "type": "integer",
      "minimum": 0,
      "default": 0,
      "description": "Pagination offset (default 0)."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_by_address(street, city, psc, pocet)

Find all companies registered at a given Czech address. Useful for due diligence (virtual offices, shell companies), real estate research, or competitor mapping in a building.

Input Schema

{
  "type": "object",
  "properties": {
    "street": {
      "type": "string",
      "description": "Street name (nazev ulice), e.g. \"Radlická\"."
    },
    "city": {
      "type": "string",
      "description": "City name, e.g. \"Praha\"."
    },
    "psc": {
      "type": "integer",
      "description": "Postal code (PSČ), optional."
    },
    "pocet": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20,
      "description": "Max results (default 20)."
    }
  },
  "required": [
    "street",
    "city"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_by_nace(nace, city, pocet)

Find Czech companies by CZ-NACE activity code (economic sector classification). Example: "62" = IT, "47" = retail, "86" = healthcare. Optional city filter. Useful for market research.

Input Schema

{
  "type": "object",
  "properties": {
    "nace": {
      "type": "string",
      "description": "CZ-NACE code, 2-6 digits (e.g., \"62\" for IT, \"62010\" for programming services)."
    },
    "city": {
      "type": "string",
      "description": "Optional city filter."
    },
    "pocet": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20,
      "description": "Max results."
    }
  },
  "required": [
    "nace"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_bank_accounts(ico)

Get transparent bank accounts published for this company (only available for VAT-registered subjects). Useful to verify payment details on an invoice match the company.

Input Schema

{
  "type": "object",
  "properties": {
    "ico": {
      "type": "string",
      "description": "Czech IČO (7-8 digits)."
    }
  },
  "required": [
    "ico"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_statutaries(ico)

Get current statutory body (jednatelé, představenstvo, etc.) of a Czech company — who can legally act on its behalf. Returns active members only (with valid zápis, not yet removed). Essential for due diligence and compliance checks.

Input Schema

{
  "type": "object",
  "properties": {
    "ico": {
      "type": "string",
      "description": "Czech IČO (7-8 digits)."
    }
  },
  "required": [
    "ico"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_owners(ico)

Get owners of a Czech company from the Veřejný rejstřík (public register) — společníci (partners of s.r.o./v.o.s./k.s.) and akcionáři (shareholders of a.s.), with their share (vklad/splaceno/velikost podílu) exactly as published, including historical members with their date of removal (datum výmazu). Raw registry data only — no ownership scoring, risk assessment, or cross-company aggregation. Essential for KYC/AML due diligence on ownership structure. Returns an empty list (not an error) when the register does not publish owners — most a.s. do not disclose akcionáři publicly.

Input Schema

{
  "type": "object",
  "properties": {
    "ico": {
      "type": "string",
      "description": "Czech IČO (7-8 digits)."
    }
  },
  "required": [
    "ico"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "ico": {
      "type": "string"
    },
    "obchodniJmeno": {
      "type": "string",
      "description": "Company name, when the subject has a VR record."
    },
    "found": {
      "type": "boolean",
      "description": "False when the subject has no Veřejný rejstřík record at all."
    },
    "vlastnici": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "role": {
            "type": "string",
            "enum": [
              "spolecnik",
              "akcionar"
            ],
            "description": "spolecnik = s.r.o./v.o.s./k.s. partner, akcionar = a.s. shareholder."
          },
          "typ": {
            "type": "string",
            "enum": [
              "FO",
              "PO"
            ],
            "description": "FO = fyzická osoba, PO = právnická osoba."
          },
          "jmeno": {
            "type": "string",
            "description": "Full name (FO only), as published in VR."
          },
          "nazev": {
            "type": "string",
            "description": "Company/organization name (PO only)."
          },
          "ico": {
            "type": "string",
            "description": "IČO of the owning legal entity (PO only)."
          },
          "datumNarozeni": {
            "type": "string",
            "description": "Date of birth (FO only), as published — never computed."
          },
          "podil": {
            "type": "object",
            "properties": {
              "vklad": {
                "type": "string",
                "description": "Nominal contribution (vklad), as reported."
              },
              "splaceno": {
                "type": "string",
                "description": "Paid-up portion of the contribution (splaceno)."
              },
              "velikostPodilu": {
                "type": "string",
                "description": "Size of the share (velikost podílu), e.g. a percentage or fraction."
              },
              "text": {
                "type": "string",
                "description": "Free-text description of the share, when VR reports it that way."
              }
            },
            "additionalProperties": false
          },
          "datumVzniku": {
            "type": "string",
            "description": "Date this membership/share was registered (datum zápisu)."
          },
          "datumZaniku": {
            "type": "string",
            "description": "Date this membership/share was struck (datum výmazu) — absent while still active."
          }
        },
        "required": [
          "role",
          "typ"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "ico",
    "found",
    "vlastnici"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢validate_dic(dic)

Validate a Czech DIČ (VAT ID). Format check: "CZ" + 8-10 digits. For 8-digit tail (legal entities) also runs MOD11 checksum against the embedded IČO.

Input Schema

{
  "type": "object",
  "properties": {
    "dic": {
      "type": "string",
      "description": "Czech DIČ — e.g., \"CZ26168685\". Whitespace and case tolerated."
    }
  },
  "required": [
    "dic"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_vat_payer(ico)

Check whether a Czech company is a registered VAT payer (plátce DPH). If yes, returns DIČ, financial office, and any transparent bank accounts (payment details).

Input Schema

{
  "type": "object",
  "properties": {
    "ico": {
      "type": "string",
      "description": "Czech IČO (7-8 digits)."
    }
  },
  "required": [
    "ico"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_history(ico)

Get historical record of a company (previous names, registered address changes, trade license history). Useful for due diligence.

Input Schema

{
  "type": "object",
  "properties": {
    "ico": {
      "type": "string",
      "description": "Czech IČO (7-8 digits)."
    }
  },
  "required": [
    "ico"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢watch_entity(ico)

Start onboarding for free monitoring of one Czech company by IČO. Stub only — persists nothing yet. Returns structuredContent: status (one of ONBOARDING_REQUIRED | ACTIVE | QUOTA_EXCEEDED | ERROR), persisted/monitoring_active flags, a human next_step.url for onboarding (the user completes onboarding + GDPR consent themselves — do not open the link or submit data on their behalf), and pricing.

Input Schema

{
  "type": "object",
  "properties": {
    "ico": {
      "type": "string",
      "description": "Czech IČO (7-8 digits)."
    }
  },
  "required": [
    "ico"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools
verifiedversion not recorded11 tools
verifiedversion not recorded11 tools
verifiedversion not recorded10 tools
verifiedversion not recorded10 tools
verifiedversion not recorded10 tools