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 分