Nace Mcp

io.github.DeJo90由 GitHub 帳號 DeJo90 發布v1.0.1更新於 Oct 24, 2026

Browse, search and fuzzy-match NACE Rev. 2.1 economic activity classification codes.

已驗證STDIO僅桌面資料與分析商業與電商

概覽

AI 產生的概覽

一個本機 MCP 伺服器,讓助理查詢、瀏覽、搜尋並模糊比對 NACE Rev. 2.1 經濟活動分類代碼。

可以做什麼
查詢單一 NACE 代碼,取得名稱、層級與上層代碼,並可在取得建議後逐層確認完整上層鏈。瀏覽階層結構:列出 22 個頂層部門,或任一代码的直接子項,最多 50 筆。以不分大小寫的子字串搜尋活動名稱,最多回傳 10 筆符合項目。將自由文字的活动描述模糊比對為前 5 個候選代碼,並為每筆比對提供簡短理由。
適用情境
適合助理需要為公司、發票、統計或法規表單指定或核對 NACE Rev. 2.1 代碼,或需要探索分類階層時使用。它不會把 1,047 筆代碼的完整資料集放進對話,只回傳相關項目。
執行需求
以本機程序透過 stdio 執行,使用 npx nace-mcp 啟動,需要 Node.js 與 npm。未宣告任何帳號、API 金鑰、環境變數或標頭。資料集隨套件提供並在啟動時載入記憶體,未說明需要網路存取。
安裝前請注意
僅提供唯讀的查詢與比對工具,不會寫入、傳送或刪除資料。建議結果採用詞元比對的啟發式方法,應以代碼查詢加以確認,而非視為權威結論。README 指出非英文描述應先改寫為英文再進行模糊比對。資料為社群維護的 Eurostat 分類轉換版本。

安裝

在 SourceWeft 中

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

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

nace-mcp

An MCP server exposing NACE Rev. 2.1 economic activity classification codes for AI agents.

NACE (Nomenclature of Economic Activities) is the European standard for classifying economic activities. This server loads all 1,047 codes into memory at startup and provides four tools for browsing, looking up, searching, and fuzzy-matching codes — without ever dumping the full dataset to the agent.

MCP Configuration

Add to your Claude (or any MCP-compatible client) config:

json
{  "mcpServers": {    "nace-mcp": {      "command": "npx",      "args": ["nace-mcp"]    }  }}

Tools

nace_get(code)

Returns full details for a single NACE code.

Input: code — e.g. "A", "01", "25.1", "25.11"

Example output:

json
{  "code": "95.31",  "label": "Repair and maintenance of motor vehicles",  "level": "class",  "parent": "95.3"}

nace_browse(parent_code?)

Returns the direct children of a code (compact: code + label only). Omit parent_code to list all 22 top-level sections. Max 50 results.

Input: parent_code (optional) — e.g. "C", "25", "25.1"

Example — nace_browse() (no argument):

json
[  { "code": "A", "label": "Agriculture, forestry and fishing" },  { "code": "B", "label": "Mining and quarrying" },  { "code": "C", "label": "Manufacturing" },  ...]

Example — nace_browse("J"):

json
[  { "code": "58", "label": "Publishing activities" },  { "code": "59", "label": "Motion picture, video and television programme production, sound recording and music publishing activities" },  { "code": "60", "label": "Programming, broadcasting, news agency and other content distribution activities" },  ...]

nace_search(query)

Case-insensitive substring search across all activity labels. Returns up to 10 matches.

Input: query — e.g. "software", "fishing", "consulting"

Example — nace_search("software"):

json
[  { "code": "58.1", "label": "Publishing of books, newspapers and other publishing activities, except software publishing", "level": "group" },  { "code": "58.19", "label": "Other publishing activities, except software publishing", "level": "class" },  { "code": "58.2", "label": "Software publishing", "level": "group" },  { "code": "58.29", "label": "Other software publishing", "level": "class" }]

nace_suggest(activity_description)

Fuzzy-matches a free-text description to NACE codes. Tokenizes the input, scores by matched terms, and returns the top 5 candidates with a brief explanation. Designed for AI agents doing classification.

Input: activity_description — free-text description of the economic activity

Example — nace_suggest("computer programming software development consultancy"):

json
[  {    "code": "62",    "label": "Computer programming, consultancy and related activities",    "level": "division",    "reason": "Matched: \"computer\", \"programming\", \"consultancy\""  },  {    "code": "62.1",    "label": "Computer programming activities",    "level": "group",    "reason": "Matched: \"computer\", \"programming\""  },  {    "code": "62.10",    "label": "Computer programming activities",    "level": "class",    "reason": "Matched: \"computer\", \"programming\""  },  ...]

Tip: For non-English descriptions (e.g. German "KFZ Mechaniker"), rephrase in English before calling nace_suggest.


Prompt Examples

These examples show how an AI agent uses the tools in practice.


"What NACE code applies to a car repair shop?"

The agent calls nace_suggest with an English description:

nace_suggest("motor vehicle repair maintenance workshop")
json
[  {    "code": "95",    "label": "Repair and maintenance of computers, personal and household goods, and motor vehicles and motorcycles",    "level": "division",    "reason": "Matched: \"motor\", \"vehicle\", \"repair\", \"maintenance\""  },  {    "code": "95.3",    "label": "Repair and maintenance of motor vehicles and motorcycles",    "level": "group",    "reason": "Matched: \"motor\", \"vehicle\", \"repair\", \"maintenance\""  },  {    "code": "95.31",    "label": "Repair and maintenance of motor vehicles",    "level": "class",    "reason": "Matched: \"motor\", \"vehicle\", \"repair\", \"maintenance\""  }]

The agent then drills into the best match with nace_get("95.31") to confirm the parent chain:

json
{  "code": "95.31",  "label": "Repair and maintenance of motor vehicles",  "level": "class",  "parent": "95.3"}

Result: 95.31 is the correct class-level code for a car repair shop.


"What NACE code covers a bakery?"

nace_suggest("bakery bread pastry production")
json
[  {    "code": "10.71",    "label": "Manufacture of bread; manufacture of fresh pastry goods and cakes",    "level": "class",    "reason": "Matched: \"bread\", \"pastry\""  }]

Result: 10.71 — first candidate is an exact match, no further navigation needed.


"Explore the information & communication sector"

The agent browses the hierarchy top-down:

nace_browse("J")
json
[  { "code": "58", "label": "Publishing activities" },  { "code": "59", "label": "Motion picture, video and television programme production, sound recording and music publishing activities" },  { "code": "60", "label": "Programming, broadcasting, news agency and other content distribution activities" },  { "code": "61", "label": "Telecommunications" },  { "code": "62", "label": "Computer programming, consultancy and related activities" },  { "code": "63", "label": "Information service activities" }]

Then zooms into division 62:

nace_browse("62")
json
[  { "code": "62.1", "label": "Computer programming activities" },  { "code": "62.2", "label": "Computer consultancy and computer facilities management activities" },  { "code": "62.3", "label": "Computer facilities management activities" },  { "code": "62.9", "label": "Other information technology and computer service activities" }]

Data

  • Source: jnsprnw/nace-codes — community-maintained JSON conversion of the official Eurostat NACE Rev. 2.1 classification
  • Coverage: 1,047 entries across 22 sections (A–U), 4 levels (section → division → group → class)
  • Authority: Eurostat NACE Rev. 2.1

Development

bash
npm installnpm run build    # compile TypeScript → dist/node dist/index.js  # run the server (listens on stdio)

To inspect with the MCP Inspector:

bash
npx @modelcontextprotocol/inspector node dist/index.js

來源:README.md,提交 f935cfd

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分