Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
KYB data from 23 European business registries — company briefs, financials, ownership, AML screening
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
ENTYRIX_API_KEY, ENTYRIX_BASE_URLValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://entyrix.com/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"entyrix": {
"command": "npx",
"args": [
"-y",
"@entyrix/mcp"
],
"env": {
"ENTYRIX_API_KEY": "your-value",
"ENTYRIX_BASE_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http entyrix https://entyrix.com/mcpclaude mcp add entyrix --env ENTYRIX_API_KEY=your-value --env ENTYRIX_BASE_URL=your-value -- npx -y @entyrix/mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"entyrix": {
"url": "https://entyrix.com/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"entyrix": {
"command": "npx",
"args": [
"-y",
"@entyrix/mcp"
],
"env": {
"ENTYRIX_API_KEY": "your-value",
"ENTYRIX_BASE_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"entyrix": {
"type": "http",
"url": "https://entyrix.com/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"entyrix": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@entyrix/mcp"
],
"env": {
"ENTYRIX_API_KEY": "your-value",
"ENTYRIX_BASE_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://entyrix.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
ENTYRIX_BASE_URL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
search_companiesFind 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 u
lookup_companyResolve 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
company_briefCompact, 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
get_company_detailsFull 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 specif
get_financialsFiled 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
get_company_networkCompanies 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_relationsDirect 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
advanced_searchStructured 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 pag
kyb_checkOne-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
screen_companiesRun 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
check_complianceLightweight 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.
find_suppliersPublic 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.
list_rankingsA 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.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account juliusgerman, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 515 ms (HTTP 200)
No sign-in needed
Read 13 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: ENTYRIX_API_KEY
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.2.2) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, OpenTakeoff
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Construction takeoff for AI agents: load plans, set scale, measure, count, export with provenance.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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).
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:
claude mcp add --transport http entyrix https://entyrix.com/mcp/v1
Full instructions: https://entyrix.com/mcp.
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.
ENTYRIX_API_KEY=sk_... npx -y @entyrix/mcp
{
"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/mcp@0.2.2, not latest): a local MCP server runs with your privileges, and an unpinned npx -y installs whatever is published next.
| Tool | What it does |
|---|---|
search_companies | Find companies by name across all markets |
lookup_company | Exact registry-ID lookup, country-scoped |
company_brief | Compact Markdown brief of one company — the best single call |
get_company_details | Full record including the enrichment layer |
get_financials | Financial statements by year with trend (EUR cents) |
get_company_network | Companies connected through shared officers and owners |
get_company_relations | Officers, owners, parents, subsidiaries, M&A events |
advanced_search | Paged filtering by country, NACE, size, turnover, status |
kyb_check | One-call KYB/AML summary with a verdict |
screen_companies | KYB screening of up to 25 companies at once |
check_compliance | Public compliance snapshot (no account needed) |
find_suppliers | Public-sector contracts (B2G, not a supply chain) |
list_rankings | Pre-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.
| Env var | Default | Description |
|---|---|---|
ENTYRIX_API_KEY | *(none)* | Bearer API key from your Entyrix account |
ENTYRIX_BASE_URL | https://entyrix.com | Override for staging |
ENTYRIX_TIMEOUT_MS | 60000 | HTTP timeout per request |
git clone <repo>
cd entyrix-mcp npm install npm run build npm test
Local stdio sanity-check:
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).
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.
npm run bump 0.2.2 # writes all four manifests, refuses on drift
npm run check git commit -am "chore(release): 0.2.2" git tag v0.2.2 git 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.
MIT — see LICENSE.