ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

registry-mcp — national company registries

โดย foretakรุ่น 0.4.2i★ –iบนเครื่องหรือคลาวด์
ชื่อใน registryio.github.foretak/registry-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

The company registry MCP: brreg orgnr, Companies House, Bolagsverket organisationsnummer.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: บนเครื่องหรือคลาวด์
  • ช่องทาง (transport): stdio, Streamable HTTP
  • หมวด: อื่น ๆ
  • ต้องใส่ค่าเหล่านี้: COMPANIES_HOUSE_API_KEY, BOLAGSVERKET_CLIENT_ID, BOLAGSVERKET_CLIENT_SECRET

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันบนเครื่องของผู้ทำ สิ่งที่คุณถามจะผ่านเครื่องของเขา
  • ค่าที่คุณต้องใส่เอง: REGISTRY_MCP_CONTACT_EMAIL, COMPANIES_HOUSE_API_KEY, BOLAGSVERKET_CLIENT_ID, BOLAGSVERKET_CLIENT_SECRET, BOLAGSVERKET_ENVIRONMENT

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย
  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:

  1. เปิด Settings → Connectors
  2. กด Add custom connector
  3. วางที่อยู่ด้านล่างแล้วกด Add
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Add2https://…3
https://api.foretak.dev/mcp

หรือรันในเครื่องคุณ

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "registry": {
      "command": "npx",
      "args": [
        "-y",
        "registry-mcp"
      ],
      "env": {
        "REGISTRY_MCP_CONTACT_EMAIL": "ใส่ค่าของคุณ",
        "COMPANIES_HOUSE_API_KEY": "ใส่ค่าของคุณ",
        "BOLAGSVERKET_CLIENT_ID": "ใส่ค่าของคุณ",
        "BOLAGSVERKET_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "BOLAGSVERKET_ENVIRONMENT": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add --transport http registry https://api.foretak.dev/mcp

หรือรันในเครื่องคุณ

claude mcp add registry --env REGISTRY_MCP_CONTACT_EMAIL='ใส่ค่าของคุณ' --env COMPANIES_HOUSE_API_KEY='ใส่ค่าของคุณ' --env BOLAGSVERKET_CLIENT_ID='ใส่ค่าของคุณ' --env BOLAGSVERKET_CLIENT_SECRET='ใส่ค่าของคุณ' --env BOLAGSVERKET_ENVIRONMENT='ใส่ค่าของคุณ' -- npx -y registry-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "registry": {
      "url": "https://api.foretak.dev/mcp"
    }
  }
}

หรือรันในเครื่องคุณ

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "registry": {
      "command": "npx",
      "args": [
        "-y",
        "registry-mcp"
      ],
      "env": {
        "REGISTRY_MCP_CONTACT_EMAIL": "ใส่ค่าของคุณ",
        "COMPANIES_HOUSE_API_KEY": "ใส่ค่าของคุณ",
        "BOLAGSVERKET_CLIENT_ID": "ใส่ค่าของคุณ",
        "BOLAGSVERKET_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "BOLAGSVERKET_ENVIRONMENT": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "registry": {
      "type": "http",
      "url": "https://api.foretak.dev/mcp"
    }
  }
}

หรือรันในเครื่องคุณ

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "registry": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "registry-mcp"
      ],
      "env": {
        "REGISTRY_MCP_CONTACT_EMAIL": "ใส่ค่าของคุณ",
        "COMPANIES_HOUSE_API_KEY": "ใส่ค่าของคุณ",
        "BOLAGSVERKET_CLIENT_ID": "ใส่ค่าของคุณ",
        "BOLAGSVERKET_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "BOLAGSVERKET_ENVIRONMENT": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:

  1. เปิด ChatGPT บนเว็บ → Settings → Connectors (Apps)
  2. กด Create หรือ Add (บางแพ็กเกจต้องเปิด Developer mode ใน Advanced ก่อน)
  3. วางที่อยู่ด้านล่าง ตั้งชื่อ แล้วบันทึก
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Create2https://…3
https://api.foretak.dev/mcp

ชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • REGISTRY_MCP_CONTACT_EMAIL env
    Contact address sent in the User-Agent to the national registry, as Brønnøysundregistrene asks of API clients. Unset means an anonymous client, which may be blocked upstream.
  • COMPANIES_HOUSE_API_KEY ความลับ env
    Companies House REST API key, required for the United Kingdom (GB). Free from developer.company-information.service.gov.uk. Unset means GB lookups return an upstream_error naming this variable; every…
  • BOLAGSVERKET_CLIENT_ID ความลับ env
    Bolagsverket OAuth 2 client id, required for Sweden (SE) together with BOLAGSVERKET_CLIENT_SECRET. Free, no contract: request both from Bolagsverket's kundanmälan form. Unset means SE lookups return…
  • BOLAGSVERKET_CLIENT_SECRET ความลับ env
    Bolagsverket OAuth 2 client secret, the other half of BOLAGSVERKET_CLIENT_ID. Both are needed before Sweden (SE) can answer.
  • BOLAGSVERKET_ENVIRONMENT env
    Which Bolagsverket environment the Swedish credentials belong to: 'production' (default) or 'test'. It selects the data host and the token host as a pair, so the two can never be mixed.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub foretak ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    endpoint ตอบ

    ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป

  • … ยังไม่ตรวจ

    ล็อกอินแบบ OAuth

    ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32708 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 39% ของอีก 32708 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32708 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

registry-mcp — national company registries ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: COMPANIES_HOUSE_API_KEY, BOLAGSVERKET_CLIENT_ID, BOLAGSVERKET_CLIENT_SECRET

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.4.2) เข้า registry 2 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, OpenTakeoff

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวานซืน
ติดตั้ง

OpenTakeoff

โดย Kentucky-ai

Construction takeoff for AI agents: load plans, set scale, measure, count, export with provenance.

รันบนเครื่องอัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

registry-mcp — the company registry MCP

Company data for AI agents, any country. One MCP server and REST API, three national registers today: the United Kingdom's Companies House, looked up by company number; Norway's Enhetsregisteret / Brønnøysundregistrene (brreg), looked up by organisasjonsnummer (orgnr); and Sweden's Bolagsverket, looked up by organisationsnummer — one JSON shape whichever you ask.

claude mcp add registry-mcp --transport http https://api.foretak.dev/mcp?src=readme

No install step, over stdio:

claude mcp add registry-mcp -- uvx registry-mcp

What makes it worth a tool slot:

  • Deadlines that cite the rule, not just a date. company_deadlines gives the next filing date and names why in applies_because — a Norwegian legal form's statutory duty, or "Companies House publishes this date for the company itself" when the register states it rather than us computing it. Quote the reason, not just the number.
  • Never more than 24 hours stale, and it says so. Every response carries cached and fetched_at. OpenCorporates' own knowledge base tells users to "allow 30 days" for a correction to reach its site — a 30× freshness gap, stated by the incumbent about itself.
  • Seven tools, not fifty — five registry tools plus two ChatGPT connector aliases. Tool-selection accuracy degrades past 30-50 tools loaded into an agent's context, and some clients cap around 40. Seven tools is roughly 17% of that budget, next to competitors in this space shipping 23 to 78 tools for the same job.

Security. Read-only, always — nothing here writes to a register or anywhere else. No credentials are required from a caller; this deployment's own upstream credential (COMPANIES_HOUSE_API_KEY) is read from the environment and never logged or returned. The base lookup calls three named upstreams and nothing else: data.brreg.no, api.company-information.service.gov.uk and gw.api.bolagsverket.se. include=["lei"]/include=["parents"] additionally call api.gleif.org (GLEIF, CC0, keyless); include=["peppol"] additionally resolves a DNS record at the Peppol SML and calls whichever SMP host it names for that participant, falling back to the Peppol Directory (directory.peppol.eu) only when neither answers — see the attachments above. No personal data beyond what each national register already publishes about the entity itself — and because a Swedish sole trader's company number *is* their personnummer, the usage log stores no identifier at all for a country whose identifiers can be a natural person's (legal/privacy.md). This service does not perform sanctions, PEP or adverse-media screening, and it does not verify bank account details. Details: SECURITY.md.

One-click install, for a remote streamable-HTTP server:

Other clients (Claude Desktop, Cursor, VS Code, Cline, plain JSON configs): see docs/clients.md.

Add to ChatGPT

ChatGPT reaches an MCP server through a custom connector, and its deep research mode calls exactly two tools — search and fetch — which this server ships alongside the five registry tools. In ChatGPT, open Settings → Connectors, add a custom connector, and give it:

https://api.foretak.dev/mcp?src=readme

No authentication, no key, no account. If your ChatGPT plan does not show custom connectors under Settings → Connectors, turn on Settings → Security and login → Developer mode first, then add the URL from https://chatgpt.com/plugins.

search takes one free-text query — a company name, a national identifier, or a name plus a country ("Tesco United Kingdom") — and returns citable rows; fetch takes a row's id ("NO:923609016") and returns that company's register record and its statutory filing deadlines, with the full JSON of both in metadata.

Add to Claude Desktop

Claude Desktop takes the same URL as a custom connector: Settings → Connectors → Add custom connector, then https://api.foretak.dev/mcp?src=readme. No key. For a local stdio install instead, see Configuration.

Status: 0.4.2, live — GET /health returns {"version":"0.4.2","countries":["GB","NO","SE"]}. The five registry tools and their response shapes are frozen; two connector aliases (search, fetch) wrap them for ChatGPT and add no new shape. The hosted API at api.foretak.dev is live, and listed in the official MCP registry as io.github.foretak/registry-mcp. Countries: United Kingdom (Companies House), Norway (brreg), Sweden (Bolagsverket) — see below for each country's identifier format and example calls.

Add to Claude Code

The same two commands as above — Streamable HTTP or local stdio. To add it as a project-level .mcp.json file instead of the CLI, see Configuration.

What it returns

$ curl https://api.foretak.dev/v1/NO/company/923609016

{ "country": "NO", "registry": "brreg", "id": "923609016", "id_formatted": "923 609 016", "id_scheme": "organisasjonsnummer", "euid": null, "name": "EQUINOR ASA", "legal_form_code": "ASA", "legal_form": "Public limited company", "legal_form_local": "Allmennaksjeselskap", "status": "active", "is_active": true, "registered_at": "1995-03-12", "vat_registered": true, "vat_number": "NO923609016MVA", "vat_registered_at": "1989-07-01", "employees": 21239, "share_capital": 5976872600.0, "share_capital_currency": "NOK", "business_address": {"lines": ["Forusbeen 50"], "postal_code": "4035", "city": "STAVANGER"}, "advertising_protected": null, "source": "Enhetsregisteret (Brønnøysundregistrene)", "license": "NLOD 2.0" }

Abridged — the full CompanyReport also carries previous_names, industry_codes, registers, purpose, parent_id, confidence, cached, fetched_at and notes. Every field is documented in llms-full.txt §5.

euid is the EU-wide identifier some member-state registers publish (Finland does; none of ours do yet) — never the LEI, never constructed from parts. advertising_protected is true/false/null: whether the register marks this entity as protected against direct-marketing use, null meaning the register publishes no such flag at all (Norway and the UK, today); where it is true (Sweden's *reklamspärr*, for one), a notes sentence states it and that marking must travel with any contact details you pass on.

The United Kingdom, same shape, same abridgement:

$ curl https://api.foretak.dev/v1/GB/company/00445790

{ "country": "GB", "registry": "companies-house", "id": "00445790", "id_formatted": null, "id_scheme": "company number", "euid": null, "name": "TESCO PLC", "legal_form_code": "plc", "legal_form": "Public limited company", "status": "active", "is_active": true, "registered_at": "1947-11-27", "vat_registered": null, "vat_number": null, "employees": null, "employees_reported": false, "registers": {"insolvency": false}, "industry_codes": [{"code": "47110", "description": null, "scheme": "SIC 2007", "rank": 1}], "business_address": {"lines": ["Tesco House, Shire Park", "Kestrel Way"], "postal_code": "AL7 1GA", "city": "Welwyn Garden City"}, "advertising_protected": null, "published_deadlines": [ {"kind": "annual_accounts", "due_date": "2027-08-26", "period_end": "2027-02-26", "overdue": false, "source": "accounts.next_accounts.due_on"}, {"kind": "confirmation_statement", "due_date": "2027-07-02", "period_end": "2027-06-18", "overdue": false, "source": "confirmation_statement.next_due"} ], "source": "Companies House (UK)", "license": "Crown copyright — Companies House public register, free to re-use" }

published_deadlines carries the dates the register publishes itself, with the upstream field each came from. It is [] for Norway and Sweden, which compute all of their own.

Sweden, added in 0.3.0, is where "one shape" starts to earn the claim:

$ curl https://api.foretak.dev/v1/SE/company/5560160680

{ "country": "SE", "registry": "bolagsverket", "id": "5560160680", "id_formatted": "556016-0680", "id_scheme": "organisationsnummer", "euid": null, "name": "Telefonaktiebolaget LM Ericsson", "legal_form_code": "AB", "legal_form": "Private or public limited company", "legal_form_local": "Aktiebolag", "status": "active", "is_active": true, "registered_at": "1918-08-19", "vat_registered": null, "vat_number": null, "employees": null, "employees_reported": false, "industry_codes": [{"code": "70100", "description": "Verksamheter som utövas av huvudkontor", "scheme": "SNI 2007", "rank": 1}], "postal_address": {"postal_code": "16483", "city": "STOCKHOLM", "country_code": "SE"}, "advertising_protected": null, "published_deadlines": [], "source": "Bolagsverket (bolagsverket.se)", "license": "Free re-use (Bolagsverket/SCB high-value datasets, EU Open Data Directive) — the publisher names no licence" }

Bolagsverket names no licence for this data, so neither do we: the string says what the permission is and says plainly that there is no licence name to quote, because a familiar name in that field would be a fabrication.

Sweden publishes no status field at all. status is derived from three independent signals — a strike-off date, an ongoing winding-up or restructuring procedure, and Statistics Sweden's "economically active" flag — and is_active therefore means *on the register and not winding down*, which is not the same as trading. Where any of that is unavailable the answer is unknown, never active.

Two dates are computed, and each carries the provision it comes from:

$ curl "https://api.foretak.dev/v1/SE/company/5560160680/deadlines?today=2026-09-07"

{"kind": "general_meeting", "due_date": "2027-06-30", "days_until": 296, "rolled_forward"

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx