mcpField
N
nace-mcp

nace-mcp

ローカル
github.com/DeJo90ビジネス・マーケティング036 週間前に更新

nace-mcp について

nace-mcpは、NACE Rev. 2.1に基づいて経済活動を特定するAIエージェント向けMCPサーバーです。分類階層の閲覧、コード照会、テキスト検索、ファジーマッチに対応し、全データを一度に返しません。

主な機能

  1. 01コードの詳細照会
  2. 02分類階層の閲覧
  3. 03活動ラベルのテキスト検索
  4. 04説明文とコードのファジーマッチ
  5. 05理由付き候補の順位表示

活用シーン

  1. 01説明文から事業活動を分類する
  2. 02コードと親コードを確認する
  3. 03経済分野のコードを調べる

MCP 対応

MCPクライアントに、コード照会、階層閲覧、ラベル検索、ファジーマッチの4種類のツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dejo90-nace": {
"command": "npx",
"args": [
"-y",
"nace-mcp"
]
}
}
}
起動コマンドnpx -y nace-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmnace-mcp1.0.1

ツール

4

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
codestringはいNACE コード。例:'A'、'01'、'01.1'、'01.11'

詳細

nace-mcp

AI エージェント向けに NACE Rev. 2.1 の経済活動分類コードを公開する MCP サーバーです。

NACE(経済活動分類)は、経済活動を分類するための欧州標準です。このサーバーは起動時に1,047件すべてのコードをメモリに読み込み、データセット全体をエージェントに一括で出力することなく、コードの閲覧、照会、検索、あいまい一致に対応する4つのツールを提供します。

MCP の設定

Claude(またはMCP互換クライアント)の設定に追加します。

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

ツール

nace_get(code)

単一のNACEコードの詳細情報を返します。

入力: code — 例:「"A"」「"01"」「"25.1"」「"25.11"」

出力例:

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

nace_browse(parent_code?)

コードの直下にある子項目を返します(簡潔表示:コードとラベルのみ)。parent_code を省略すると、22の最上位セクションすべてを一覧表示します。最大50件の結果を返します。

入力: parent_code(任意)— 例:「"C"」「"25"」「"25.1"」

例 — nace_browse()(引数なし):

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

例 — nace_browse("J"):

[
  { "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)

すべての活動ラベルを対象に、大文字と小文字を区別せず部分一致検索します。最大10件の一致結果を返します。

入力: query — 例:「"software"」「"fishing"」「"consulting"」

例 — nace_search("software"):

[
  { "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)

自由記述の説明をNACEコードにあいまい一致させます。入力をトークン化し、一致した用語に基づいてスコアを付け、簡単な説明とともに上位5件の候補を返します。分類を行うAIエージェント向けに設計されています。

入力: activity_description — 経済活動の自由記述による説明

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

[
  {
    "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\""
  },
  ...
]

ヒント: 英語以外の説明(例:ドイツ語の「KFZ Mechaniker」)の場合は、nace_suggest を呼び出す前に英語で言い換えてください。


プロンプトの例

ここでは、AI エージェントが実際にツールをどのように使うかを示します。


「自動車修理工場に該当するNACEコードは何ですか?」

エージェントは英語の説明を使って nace_suggest を呼び出します。

nace_suggest("motor vehicle repair maintenance workshop")
[
  {
    "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\""
  }
]

次に、最適な候補について nace_get("95.31") を使って詳細を確認し、親コードの階層を確かめます。

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

結果: 95.31 は自動車修理工場に該当する正しいクラスレベルのコードです。


「パン屋に該当するNACEコードは何ですか?」
nace_suggest("bakery bread pastry production")
[
  {
    "code": "10.71",
    "label": "Manufacture of bread; manufacture of fresh pastry goods and cakes",
    "level": "class",
    "reason": "Matched: \"bread\", \"pastry\""
  }
]

結果: 10.71 — 最初の候補が完全一致するため、追加の確認は不要です。


「情報通信セクターを調べる」

エージェントは階層を上から順に閲覧します。

nace_browse("J")
[
  { "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" }
]

続いて、62の分類を詳しく確認します。

nace_browse("62")
[
  { "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" }
]

データ

  • 出典: jnsprnw/nace-codes — Eurostat公式のNACE Rev. 2.1分類を、コミュニティがJSONに変換して管理しているデータ
  • 収録範囲: 22セクション(A~U)にわたる1,047件、4階層(セクション → 部門 → グループ → クラス)
  • 権威ある情報源: Eurostat NACE Rev. 2.1

開発

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

MCP Inspectorで確認するには:

npx @modelcontextprotocol/inspector node dist/index.js

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。