Skip to main content
Glama
nod-protocol

nod-mcp-server

Official
by nod-protocol

nod-mcp-server

これは、AIエージェントが企業とやり取りする方法です。スクレイピングではなく、構造化されたマニフェストを読み取ることで実現します。このリファレンスMCPサーバーは、MCP互換クライアント(Claude Desktop、エージェントフレームワーク、IDEなど)に対して、企業のnod.jsonマニフェストを https://{domain}/.well-known/nod.json から読み取り、食事の注文、予約、商品検索、価格確認など、その企業ができることについて具体的な質問に答える方法を教えます。

このサーバーは lookup_nodcheck_capability という2つのツールを公開しており、ローカルで提供される4つのデモ用マニフェストを同梱しているため、外部依存関係なしですぐにデモを動かすことができます。

インストール

git clone <this repo> nod-mcp-server
cd nod-mcp-server
npm install
npm run build

Node.js 20以上が必要です。

デモ用マニフェストサーバーの実行

まだ nod.json を公開している実際のサイトはほとんどないため、このリポジトリには4つのサンプルマニフェスト(レストラン、Eコマース、SaaS、ヘルスケア)が同梱されており、ローカルで提供されます。

npm run demo:manifests

以下のように表示されるはずです:

NOD demo manifest server listening on http://localhost:3456
  http://localhost:3456/demo-restaurant.localhost/nod.json
  http://localhost:3456/demo-shop.localhost/nod.json
  http://localhost:3456/demo-saas.localhost/nod.json
  http://localhost:3456/demo-health.localhost/nod.json

デモ中は、このターミナルを起動したままにしてください。MCPサーバーは、すべての *.localhost ドメインを自動的にこのサーバーにルーティングします。

Claude Desktopの設定

macOSの場合は ~/Library/Application Support/Claude/claude_desktop_config.json を(Windowsの場合は %APPDATA%\Claude\claude_desktop_config.json を)開き(または作成し)、以下を追加します:

{
  "mcpServers": {
    "nod": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/nod-mcp-server/dist/index.js"]
    }
  }
}

/ABSOLUTE/PATH/TO/nod-mcp-server を、このチェックアウトのフルパス(例: /Users/you/projects/nod-mcp-server)に置き換えてください。Claude Desktopを再起動します。Claudeのツールピッカーに nod サーバーがリストされ、lookup_nodcheck_capability の2つのツールが表示されるはずです。

60秒デモスクリプト

デモ用マニフェストサーバーを1つのターミナルで実行し、Claude Desktopを設定した状態で、以下のプロンプトを順番にClaudeに貼り付けてください。

1. "Look up the NOD manifest for demo-restaurant.localhost"

Claudeは lookup_nod({ domain: "demo-restaurant.localhost" }) を呼び出し、以下のような結果を返します:

# Pike Place Noodle House  (restaurant)
Hand-pulled noodles, dumplings, and regional Chinese classics...

- URL: https://demo-restaurant.localhost
- Manifest: http://localhost:3456/demo-restaurant.localhost/nod.json

## Declared capabilities
  - purchase
  - booking
  - view_menu
  - order_food
  - book_table

## Supported actions
  - purchase → https://demo-restaurant.localhost/api/orders [auth: api_key]
  - booking  → https://demo-restaurant.localhost/api/reservations [auth: api_key]
  - search   → https://demo-restaurant.localhost/api/menu/search [auth: none]

2. "Can I order food from demo-restaurant.localhost?"

Claudeは check_capability({ domain: "demo-restaurant.localhost", action: "order_food" }) を呼び出します:

YES — demo-restaurant.localhost supports "order_food".
Manifest declares "order_food" under discovery.mcp_server.capabilities.

Endpoint: POST https://demo-restaurant.localhost/api/orders
Authentication: api_key
Matched via: discovery.mcp_server.capabilities

Constraints:
{ "require_human_confirmation": { "purchases_above": 150, ... },
  "rate_limits": { "transactions": { "requests": 10, "period": "minute" } },
  "allow_automated_purchases": true }

3. "What actions does demo-shop.localhost support?"

Claudeは lookup_nod({ domain: "demo-shop.localhost" }) を呼び出し、商品検索、価格設定、在庫確認、OAuth2で保護された注文配置(500ドル以上の人間による確認しきい値と60日間の返品ポリシー付き)について要約します。

ボーナスプロンプト

  • "Book an appointment at demo-health.localhost — what does that flow require?" → 予約エンドポイント、必須フィールド(patient_name、DOB、reason、provider_id、preferred_date)、OAuth2スコープ、キャンセルポリシーを返します。

  • "Does demo-saas.localhost allow automated purchases?" → マニフェストで allow_automated_purchases: false が設定されているため、人間によるフォールバックURLとともに「いいえ」を返します。

ツールリファレンス

lookup_nod

入力

説明

domain

string

ドメインのみ(スキームやパスは含めない)。*.localhost ドメインは同梱のデモサーバーにルーティングされます。

https://{domain}/.well-known/nod.json をフェッチし、失敗した場合は https://{domain}/nod.json にフォールバックします。ビジネスのアイデンティティ、宣言された機能、サポートされているアクション(エンドポイントと認証を含む)、APIエンドポイント、連絡方法などの構造化された要約を返します。失敗した場合は明確な「マニフェストが見つかりません」というメッセージを返します。

check_capability

入力

説明

domain

string

ドメインのみ。

action

string

一般的な値: order_food, place_order, view_menu, book_table, book_appointment, search_products, find_provider, get_pricing, check_inventory, check_status, create_account, get_docs, contact_support

マニフェストをフェッチし、transactions.capabilitiesdiscovery.mcp_server.capabilitiessupport.contact.mcp_server.capabilities、および構造的エンドポイント(transactions.purchase, discovery.search, information.pricing など)に対してアクションを確認します。可否の判定、エンドポイントURL、認証方法、およびポリシー制約(レート制限、人間による確認しきい値)を返します。

*.localhost ルーティングの仕組み

MCPサーバーが .localhost で終わるドメインを受信すると、通常のwell-known URLの代わりに http://localhost:3456/{domain}/nod.json からフェッチします。これにより、デモが自己完結型になります。DNSやHTTPSの設定なしで、Claudeを demo-restaurant.localhost に向けて実際の結果を得ることができます。

環境変数:

  • NOD_LOCAL_PORT — デモ用マニフェストサーバーがリッスンするポート(デフォルト 3456

  • NOD_LOCAL_MANIFEST_SERVER — MCPサーバーが .localhost の検索に使用するベースURL(デフォルト http://localhost:3456

  • NOD_FORCE_LOCAL=1すべての ドメインをローカルマニフェストサーバー経由でルーティングする(新しいサンプルマニフェストをテストするコントリビューターに便利)

次のステップ

opennod.ai/protocol にあるNODプロトコル仕様を使用して、自身のビジネス用の nod.json を公開しましょう。最小限の有効なマニフェストは30分程度で作成できます。https://yourdomain.com/.well-known/nod.json で公開されれば、このMCPサーバー(または他のNOD対応クライアント)を使用するあらゆるエージェントが、あなたのビジネスを発見し、その機能に基づいて行動できるようになります。

ライセンス

MIT

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nod-protocol/nod-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server