protogrid

Search / io.github.juliusgerman/entyrix-mcp

entyrix-mcp

R0· no sign-in

KYB data from 23 European business registries — company briefs, financials, ownership, AML screening

v0.2.1 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality100strong
Trust94of 100
Uptime, 30 days98%
Latency p50514 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "entyrix-mcp": {
      "type": "http",
      "url": "https://entyrix.com/mcp/v1"
    }
  }
}
claude mcp add --transport http entyrix-mcp https://entyrix.com/mcp/v1
[mcp_servers.entyrix-mcp]
url = "https://entyrix.com/mcp/v1"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "entyrix-mcp": {
      "type": "remote",
      "url": "https://entyrix.com/mcp/v1",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "entyrix-mcp": {
      "type": "http",
      "url": "https://entyrix.com/mcp/v1"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=entyrix-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZW50eXJpeC5jb20vbWNwL3YxIn0%3D"
}
{
  "servers": {
    "entyrix-mcp": {
      "type": "http",
      "url": "https://entyrix.com/mcp/v1"
    }
  }
}
{
  "mcpServers": {
    "entyrix-mcp": {
      "httpUrl": "https://entyrix.com/mcp/v1"
    }
  }
}
extensions:
  "entyrix-mcp":
    enabled: true
    name: "entyrix-mcp"
    type: streamable_http
    uri: "https://entyrix.com/mcp/v1"
    timeout: 300

Quality 100 / 100strong

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 300000)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations13 of 13 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 4,557 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes5 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvabledeps.dev does not know @entyrix/[email protected]

13 tools, about 4,557 tokens to load them all · tool set 38ae0776b0b3 · tools last changed 2026-10-13 · checked 2026-10-20 03:05 UTC

Tool changes

  • advanced_searchchangedinput schema
  • get_company_relationschangeddescription
    before

    Direct relations of one company — statutory officers, owners, parents, subsidiaries, M&A events — without traversing the wider graph. SK M&A events: effectiveDate is the date stated by the register; when missing, derivedEffectiveDate may carry a date INFERRED from the absorbed firm's deregistration (effectiveDateSource: "derived") — present it as an estimate, never as a register fact.

    after · 85% of words in common

    Direct relations of one company — statutory officers, owners, parents, subsidiaries, M&A events — without traversing the wider graph. `shareholders` are owners only; members of the supervisory board are in `supervisoryBoard`. SK M&A events: effectiveDate is the date stated by the register; when missing, derivedEffectiveDate may carry a date INFERRED from the absorbed firm's deregistration (effectiveDateSource: "derived") — present it as an estimate, never as a register fact.

  • company_briefchangeddescription
    before

    Compact, deterministic Markdown brief of one company (≤12 KB): identity, address, industry, latest financials, credit score and recommended limit, cyber score, risk flags (insolvency, tax debt, sanctions), NIS2 status and key people where licensed. The best single call for 'tell me about company X'. Works for numeric registry IDs (6-8 digits); for other shapes use get_company_details. Every fact comes from the database — missing data is marked, never invented.

    after · 61% of words in common

    Compact, deterministic Markdown brief of one company (≤12 KB): identity, address, industry, latest financials, credit score and recommended limit, cyber score, risk flags (insolvency, tax debt, sanctions), NIS2 status and key people where licensed. The best single call for 'tell me about company X'. Accepts every registry identifier shape we carry (SK/CZ IČO, AT Firmenbuch e.g. '033209m', PL REGON, FR SIREN, …); pass `country` for anything that is not an 8-digit IČO. Every fact comes from the database — missing data is marked, never invented.

  • get_company_detailschangeddescription
    before

    Full record for one company: identity, address, legal form, status flags, NACE, and the whole enrichment layer we hold (web, tech stack, NIS2, EU funds, LEI, HU de minimis state aid granted, …). Large — prefer company_brief unless you need a specific field. Natural-person fields are gated and may be withheld; a withheld field is not the same as an empty one.

    after · 93% of words in common

    Full record for one company: identity, address, legal form, status flags, NACE, and the whole enrichment layer we hold (web, tech stack, NIS2, EU funds, LEI, HU de minimis state aid granted, HU public procurement from EKR, …). Large — prefer company_brief unless you need a specific field. Natural-person fields are gated and may be withheld; a withheld field is not the same as an empty one.

  • get_company_detailschangeddescription
    before

    Full record for one company: identity, address, legal form, status flags, NACE, and the whole enrichment layer we hold (web, tech stack, NIS2, EU funds, LEI, …). Large — prefer company_brief unless you need a specific field. Natural-person fields are gated and may be withheld; a withheld field is not the same as an empty one.

    after · 89% of words in common

    Full record for one company: identity, address, legal form, status flags, NACE, and the whole enrichment layer we hold (web, tech stack, NIS2, EU funds, LEI, HU de minimis state aid granted, …). Large — prefer company_brief unless you need a specific field. Natural-person fields are gated and may be withheld; a withheld field is not the same as an empty one.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 94 / 100

provenance80
liveness99
freshness100
hygiene100

+repository +namespace-matches-repo +reachable +uptime-98% +updated-11d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

@entyrix/[email protected] npmthis version is not known to the dependency resolver

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://entyrix.com/mcp/v1 streamable-httpnoneyes98%514 ms2026-07-28, 2025-11-25, 2025-06-18, 2025-03-262026-10-20
packageregistryversionruntimesecrets
@entyrix/mcpnpm0.2.1–ENTYRIX_API_KEY

Tools (13)

advanced_searchread-onlyStructured company search for portfolio building and market sizing — NOT for finding one known company (use search_companies). Filters: country, NACE prefix, status, region, turnover range (EUR), employee range, founding date range, VAT payer, tax debt, sanctions. Results are paged (limit + offset); the response says how many matched. Only the listed arguments exist — anything else is rejected, never silently ignored.
check_complianceread-onlyLightweight public compliance snapshot for one company (works without an account): sanctions screening, insolvency, debtor registers, VAT reliability. For the full KYB picture use kyb_check. A null field means WITHHELD or not measured — it does NOT mean clean.
company_briefread-onlyCompact, deterministic Markdown brief of one company (≤12 KB): identity, address, industry, latest financials, credit score and recommended limit, cyber score, risk flags (insolvency, tax debt, sanctions), NIS2 status and key people where licensed. The best single call for 'tell me about company X'. Accepts every registry identifier shape we carry (SK/CZ IČO, AT Firmenbuch e.g. '033209m', PL REGON, FR SIREN, …); pass `country` for anything that is not an 8-digit IČO. Every fact comes from the database — missing data is marked, never invented.
find_suppliersread-onlyPublic procurement contracts this company is party to (SK CRZ + CZ Registr smluv), newest first, paged. HONEST SCOPE: this is business-to-government procurement, NOT a commercial supply chain — do not present it as one.
get_company_detailsread-onlyFull record for one company: identity, address, legal form, status flags, NACE, and the whole enrichment layer we hold (web, tech stack, NIS2, EU funds, LEI, HU de minimis state aid granted, HU public procurement from EKR, …). Large — prefer company_brief unless you need a specific field. Natural-person fields are gated and may be withheld; a withheld field is not the same as an empty one.
get_company_networkread-onlyCompanies connected to this one through shared officers or owners (one hop). Use for group structure and beneficial-ownership tracing. Person names are gated like everywhere else.
get_company_relationsread-onlyDirect relations of one company — statutory officers, owners, parents, subsidiaries, M&A events — without traversing the wider graph. `shareholders` are owners only; members of the supervisory board are in `supervisoryBoard`. SK M&A events: effectiveDate is the date stated by the register; when missing, derivedEffectiveDate may carry a date INFERRED from the absorbed firm's deregistration (effectiveDateSource: "derived") — present it as an estimate, never as a register fact.
get_financialsread-onlyFiled financial statements of one company, one row per fiscal year (newest first), with revenue, profit, assets, equity, liabilities and year-over-year trend. Amounts are EUR CENTS as integers (divide by 100 for euros). Use for trend and solvency questions; company_brief already carries the latest year.
kyb_checkread-onlyOne-call Know-Your-Business summary for one company: registry status, insolvency, liquidation, sanctions screening, debarment, tax/social/health debts, VAT reliability and the overall risk verdict. Use before onboarding a customer or supplier. A null field means WITHHELD or NOT MEASURED — it does NOT mean clean; say so when you report it.
list_rankingsread-onlyA published ranking by its slug (e.g. largest employers, top taxpayers). Call WITHOUT a key first to list the available slugs — inventing one returns an error.
lookup_companyread-onlyResolve exactly one company by its national registry identifier in a given country. Handles every identifier shape we carry (SK/CZ/EE IČO, AT Firmenbuch e.g. '187a', SI/LV registry numbers, …). Returns the core record: identity, address, legal form, status, NACE. For an LLM-ready summary prefer company_brief; for the full enrichment layer use get_company_details.
screen_companiesread-onlyRun kyb_check on up to 25 companies at once and get one compact row per company (status, insolvency, sanctions, debts, verdict). Use for supplier lists or portfolios. Each company counts as one API request against your rate limit. Requires an authenticated account.
search_companiesread-onlyFind companies by name (or name fragment) across the pan-European dataset. Returns ranked candidates with registry identifier, country, legal form and status. Use this FIRST when you only know a name; then pass the identifier + country to lookup_company or company_brief. Do not use it to filter by industry or size — that is advanced_search.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.juliusgerman/entyrix-mcp",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://entyrix.com/mcp/v1",
      "type": "streamable-http"
    }
  ],
  "version": "0.2.1",
  "packages": [
    {
      "version": "0.2.1",
      "transport": {
        "type": "stdio"
      },
      "identifier": "@entyrix/mcp",
      "registryType": "npm",
      "environmentVariables": [
        {
          "name": "ENTYRIX_API_KEY",
          "isSecret": true,
          "description": "Bearer API key from https://entyrix.com (without it only discovery and public tools work)"
        },
        {
          "name": "ENTYRIX_BASE_URL",
          "description": "Override base URL (default https://entyrix.com)"
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/juliusgerman/entyrix-mcp",
    "source": "github"
  },
  "description": "KYB data from 23 European business registries — company briefs, financials, ownership, AML screening"
}