{
  "markdown": "# @entyrix/mcp\n\n[![npm](https://img.shields.io/npm/v/@entyrix/mcp)](https://www.npmjs.com/package/@entyrix/mcp)\n\n\nModel Context Protocol (MCP) server for the [Entyrix](https://entyrix.com) European business-registry (KYB) API. Exposes 10 stdio tools so LLM clients (Claude Desktop, Claude Code, Cursor, ChatGPT) can search, look up, and analyze companies across 23 live markets (FR, GB, RO, SK, UA, GR, CZ, BE, NO, IE, FI, CH, PL, AT, CY, LT, LV, EE, SI, ES, IT, NL, HR).\n\n## 30-second quickstart\n\n```bash\nnpm install -g @entyrix/mcp\nexport ENTYRIX_API_KEY=your-api-key-here\nentyrix-mcp\n```\n\nOr run without installing:\n\n```bash\nexport ENTYRIX_API_KEY=your-api-key-here\nnpx @entyrix/mcp\n```\n\nGet an API key at <https://entyrix.com>.\n\n## Tools\n\n| Tool | Description |\n|---|---|\n| `search_companies` | Fuzzy/typo-tolerant name search (server-side 26-62 ms cold, ~1 ms cached; measured 2026-08-11) |\n| `lookup_company` | Resolve a company by national registry ID, country-aware (SK/CZ/AT/EE/SI/LV/…) |\n| `get_company_details` | Full profile: financials, tech stack, security, NIS2, sanctions, credit grade |\n| `get_company_network` | Shared-officer graph — related entities via common directors/officers |\n| `get_company_relations` | Directors, UBO / beneficial owners, M&A and succession links |\n| `advanced_search` | 57-key filter search (country, NACE, turnover, credit grade, NIS2, sanctions, tech, …) |\n| `check_compliance` | AML / sanctions / debtor lists / RPVS check (SK) |\n| `get_financials` | Last N years of turnover, profit, EBITDA, ROA, ROE |\n| `find_suppliers` | Public-sector contracts where company is supplier (SK CRZ) |\n| `list_rankings` | Pre-computed leaderboards (top turnover, top employers, …) |\n\n## Configuration\n\n| Env var | Default | Description |\n|---|---|---|\n| `ENTYRIX_API_KEY` | *(required)* | Bearer token from your Entyrix dashboard |\n| `ENTYRIX_BASE_URL` | `https://entyrix.com` | Override for staging / self-hosted |\n| `ENTYRIX_TIMEOUT_MS` | `30000` | HTTP timeout per request |\n\n## Client setup\n\n### Claude Desktop\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"entyrix\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@entyrix/mcp\"],\n      \"env\": {\n        \"ENTYRIX_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Desktop. The 10 tools appear in the tools panel.\n\n### Claude Code\n\nRegister the server from any project (writes to `~/.claude.json`):\n\n```bash\nclaude mcp add entyrix --env ENTYRIX_API_KEY=your-api-key-here -- npx -y @entyrix/mcp\n```\n\nOr add it manually to `.mcp.json` in your project root (checked in) / `~/.claude.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"entyrix\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@entyrix/mcp\"],\n      \"env\": {\n        \"ENTYRIX_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n### Cursor\n\nEdit `.cursor/mcp.json` in your workspace (or `~/.cursor/mcp.json` for global):\n\n```json\n{\n  \"mcpServers\": {\n    \"entyrix\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@entyrix/mcp\"],\n      \"env\": {\n        \"ENTYRIX_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n### ChatGPT\n\nChatGPT does not consume MCP stdio servers directly today. Two integration paths:\n\n**1. Custom GPT Actions** — expose Entyrix endpoints as OpenAPI actions. Sketch:\n\n```yaml\nopenapi: 3.1.0\ninfo:\n  title: Entyrix\n  version: 0.1.0\nservers:\n  - url: https://entyrix.com/api/v1\npaths:\n  /companies/autocomplete:\n    get:\n      operationId: searchCompanies\n      parameters:\n        - name: q\n          in: query\n          required: true\n          schema: { type: string }\n        - name: country\n          in: query\n          schema: { type: string, minLength: 2, maxLength: 2 }\n      responses:\n        \"200\": { description: OK }\n  /companies/{country}/{national_id}:\n    get:\n      operationId: lookupCompany\n      parameters:\n        - { name: country, in: path, required: true, schema: { type: string } }\n        - { name: national_id, in: path, required: true, schema: { type: string } }\n      responses:\n        \"200\": { description: OK }\ncomponents:\n  securitySchemes:\n    BearerAuth:\n      type: http\n      scheme: bearer\nsecurity:\n  - BearerAuth: []\n```\n\nPaste this into the Custom GPT builder, set the auth header, and the Entyrix endpoints become first-class GPT actions.\n\n**2. Connectors API (enterprise)** — `<https://platform.openai.com/docs/connectors>` accepts MCP servers behind an HTTP wrapper; a small HTTP-to-stdio adapter is on the roadmap.\n\n## Development\n\n```bash\ngit clone <repo>\ncd entyrix-mcp\nnpm install\nnpm run build\nnpm test\n```\n\nLocal stdio sanity-check (requires a real API key):\n\n```bash\nENTYRIX_API_KEY=your-key node dist/index.js\n# (stdin/stdout speaks MCP — wire it to a client to actually issue calls)\n```\n\n### Quality gates\n\n```bash\nnpm run check   # format:check + lint + typecheck + test — the same four CI runs\n```\n\nRun `check`, not the four by hand. On 2026-08-12 a release was cut after\n`lint + typecheck + test` passed and CI went red on `format:check` — the one\nstep that got skipped because it was being remembered rather than scripted.\n\n### Releasing\n\n```bash\nnpm run bump 0.1.5          # writes all four manifests, refuses on drift\nnpm run check\ngit commit -am \"chore(release): 0.1.5\"\ngit tag v0.1.5\ngit push && git push --tags   # one push, then the tag\n```\n\nThe version lives in four files and `src/lib/__tests__/version.test.ts` asserts\nthey agree; `bump` is what keeps that guard from firing on every release. Push\nonce — each push is a full CI run, and a release cut as four separate pushes\nbills four of them (plus two red ones for the intermediate states).\n\n`npm publish` runs from the tag via OIDC trusted publishing, so no token is\ninvolved. npm versions are immutable: a bad publish cannot be recalled, only\nsuperseded — which is why the tag is checked against `package.json` before\nanything is published.\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n",
  "bytes": 6027,
  "sha": "aec7ae8b2743dd84a4ff573ca2a1da9341a2e75e517ad9019e5bcbd51fa3a577",
  "repo_slug": "juliusgerman/entyrix-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_juliusgerman_entyrix_mcp_c8540127/readme"
}