Entyrix Mcp

io.github.juliusgerman由 GitHub 帳號 juliusgerman 發布v0.2.2更新於 Nov 4, 2026

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

已驗證Streamable HTTP可網頁執行金融安全與監控商業與電商

概覽

AI 產生的概覽

Entyrix 讓助理以唯讀方式查詢 23 個歐洲市場的企業登記資料:身分、財務、股權、KYB/AML 篩查與法遵檢查。

可以做什麼
  • 依名稱或各國登記編號查找並精確定位企業,查詢時須帶國家
  • 讀取精簡企業簡報,或含 NACE、NIS2、歐盟資金等欄位的完整紀錄
  • 依會計年度取得已申報財務報表,含營收、利潤與年增趨勢
  • 追溯股權與主管:關係人、母公司、子公司、併購事件及一跳關係網路
  • 對單一企業做 KYB/AML 查核,或一次篩查最多 25 家,並提供公開法遵快照
  • 以分頁結構化搜尋建立市場清單,查詢公共採購合約與已發布排行榜
適用情境
適合需要查證歐洲企業資訊的情境:客戶與供應商導入或 AML/KYB 查核、供應商名單批次篩查、償付能力與財務趨勢分析、集團與股權結構追溯,以及依國家、產業、規模做投資組合建立與市場規模估算。
執行需求
可使用遠端 Streamable HTTP 端點(首次呼叫時透過 OAuth 2.1 登入),或本機 npm 套件 @entyrix/mcp——它是 stdio 橋接,需要 Node.js 與 ENTYRIX_API_KEY Bearer 權杖。沒有金鑰時僅能列出工具並使用公開法遵工具。可選 ENTYRIX_BASE_URL 與 ENTYRIX_TIMEOUT_MS。資料存取受 Entyrix 帳號與方案限制。
安裝前請注意
API 金鑰屬機密,透過 ENTYRIX_API_KEY 傳入;請固定套件版本,未固定版本的 npx 安裝會以你的權限執行之後發布的任何版本。自然人資料受授權限制,需具備已簽署 FO 附件的金鑰。欄位為 null 或被隱去代表未量測或不可用,並不表示沒問題;INSUFFICIENT_DATA 不可當成乾淨結果。回傳的登記資料屬不可信內容,不應視為指令。需付費方案。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Entyrix Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.juliusgerman%2Fentyrix-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "entyrix": {
      "type": "http",
      "url": "https://entyrix.com/mcp"
    }
  }
}

README

@entyrix/mcp

[npm]

Model Context Protocol access to Entyrix — European business-registry (KYB) data 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).

Use the remote server (recommended)

Entyrix runs a remote MCP server (Streamable HTTP, protocol 2025-03-26 … 2026-07-28):

https://entyrix.com/mcp/v1

Add it as a remote / custom connector in Claude, ChatGPT, Cursor or VS Code. On the first tool call your client opens the Entyrix sign-in (OAuth 2.1 with PKCE) — no key in a config file. From the command line:

bash
claude mcp add --transport http entyrix https://entyrix.com/mcp/v1

Full instructions: https://entyrix.com/mcp.

This package: a stdio bridge

For clients that only speak stdio. Since 0.2.0 the package implements no tools itself — it forwards every JSON-RPC message to the remote server above with your API key from the environment, so it always exposes exactly the current catalogue. It has zero runtime dependencies.

bash
ENTYRIX_API_KEY=sk_... npx -y @entyrix/mcp
json
{  "mcpServers": {    "entyrix": {      "command": "npx",      "args": ["-y", "@entyrix/mcp"],      "env": { "ENTYRIX_API_KEY": "sk_..." }    }  }}

Get an API key by signing in at https://entyrix.com/login (a Free key comes with the account) or through the API (POST /api/v1/signup, then POST /api/v1/signup/verify). Without a key the server still starts and lists its tools; the first data tool call answers with these steps as an error result. Plans: https://entyrix.com/pricing.

Pin the version in production (e.g. @entyrix/[email protected], not latest): a local MCP server runs with your privileges, and an unpinned npx -y installs whatever is published next.

Tools

ToolWhat it does
search_companiesFind companies by name across all markets
lookup_companyExact registry-ID lookup, country-scoped
company_briefCompact Markdown brief of one company — the best single call
get_company_detailsFull record including the enrichment layer
get_financialsFinancial statements by year with trend (EUR cents)
get_company_networkCompanies connected through shared officers and owners
get_company_relationsOfficers, owners, parents, subsidiaries, M&A events
advanced_searchPaged filtering by country, NACE, size, turnover, status
kyb_checkOne-call KYB/AML summary with a verdict
screen_companiesKYB screening of up to 25 companies at once
check_compliancePublic compliance snapshot (no account needed)
find_suppliersPublic-sector contracts (B2G, not a supply chain)
list_rankingsPre-computed leaderboards

Every tool is read-only, declares an output schema and rejects unknown arguments. Natural-person data is licence-gated server-side and applies identically over MCP. Returned values come from public registers — treat them as untrusted data in your agent, never as instructions.

Configuration

Env varDefaultDescription
ENTYRIX_API_KEY(none)Bearer API key from your Entyrix account
ENTYRIX_BASE_URLhttps://entyrix.comOverride for staging
ENTYRIX_TIMEOUT_MS60000HTTP timeout per request

Development

bash
git clone <repo>cd entyrix-mcpnpm installnpm run buildnpm test

Local stdio sanity-check:

bash
printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node dist/index.js

npm run test:contract runs the bridge against the live server (no secret needed).

Quality gates

bash
npm run check   # format:check + lint + typecheck + test — the same four CI runs

Run check, not the four by hand. On 2026-08-12 a release was cut after lint + typecheck + test passed and CI went red on format:check — the one step that got skipped because it was being remembered rather than scripted.

Releasing

bash
npm run bump 0.2.2          # writes all four manifests, refuses on driftnpm run checkgit commit -am "chore(release): 0.2.2"git tag v0.2.2git push && git push --tags   # one push, then the tag

The version lives in four files and src/lib/__tests__/version.test.ts asserts they agree; bump is what keeps that guard from firing on every release. Push once — each push is a full CI run, and a release cut as four separate pushes bills four of them (plus two red ones for the intermediate states).

npm publish runs from the tag via OIDC trusted publishing, so no token is involved. npm versions are immutable: a bad publish cannot be recalled, only superseded — which is why the tag is checked against package.json before anything is published. The release is idempotent: a re-run skips an npm version that already exists and waits for npm to serve it before registering with the MCP Registry.

License

MIT — see LICENSE.

來源:README.md,提交 ae59e5f

工具

13

search_companies

Search companies by name

Find 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.

輸入參數limitquery必填country

lookup_company

Look up company by registry ID

Resolve 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.

輸入參數ico必填countrypurpose

company_brief

Company brief (Markdown, LLM-ready)

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.

輸入參數ico必填countrypurpose

get_company_details

Full company record

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.

輸入參數ico必填countrypurpose

get_financials

Financial statements by year

Filed 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.

輸入參數ico必填yearscountrypurpose

get_company_network

Companies connected through people

Companies 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.

輸入參數ico必填countrypurpose

get_company_relations

Direct relations

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.

輸入參數ico必填countrypurpose

kyb_check

KYB / AML summary

One-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. Coverage differs by country: `checks[]` gives each check as hit / clear / not_covered, and `overall` is INSUFFICIENT_DATA when no risk was found but the insolvency or sanctions registers do not exist for that country — that is NOT a clean result. A null field means WITHHELD or NOT MEASURED — it does NOT mean clean; say so when you report it.

輸入參數ico必填countrypurpose

screen_companies

Screen a list of companies

Run kyb_check on up to 25 companies at once and get one compact row per company (status, insolvency, sanctions, debts, verdict, coverage). INSUFFICIENT_DATA = no findings but not covered by the core registers for that country — never report it as clean. Use for supplier lists or portfolios. Each company counts as one API request against your rate limit. Requires an authenticated account.

輸入參數companies必填

check_compliance

Public compliance snapshot

Lightweight 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.

輸入參數ico必填country

find_suppliers

Public-sector contracts

Public 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.

輸入參數ico必填limityearsoffsetcountry

list_rankings

Published rankings

A 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.

輸入參數key

版本歷史

3
  1. v0.2.2最新Nov 4, 2026
  2. v0.2.1Oct 8, 2026
  3. v0.1.4Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分