nod-mcp-server
Officialnod-mcp-server
Именно так ИИ-агенты будут взаимодействовать с компаниями — не через парсинг, а путем чтения структурированных манифестов. Этот эталонный MCP-сервер обучает любой MCP-совместимый клиент (Claude Desktop, агентские фреймворки, IDE) читать манифест nod.json компании по адресу https://{domain}/.well-known/nod.json и отвечать на реальные вопросы о том, что может делать бизнес: заказывать еду, записываться на прием, искать товары, проверять цены и многое другое.
Он предоставляет два инструмента — lookup_nod и check_capability — и включает четыре демонстрационных манифеста, работающих локально, поэтому демо работает «из коробки» без каких-либо внешних зависимостей.
Установка
git clone <this repo> nod-mcp-server
cd nod-mcp-server
npm install
npm run buildТребуется Node.js 20+.
Запуск сервера демонстрационных манифестов
Поскольку почти ни один реальный сайт еще не публикует nod.json, этот репозиторий содержит четыре примера манифестов (ресторан, электронная коммерция, 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
Откройте (или создайте) ~/Library/Application Support/Claude/claude_desktop_config.json в macOS (или %APPDATA%\Claude\claude_desktop_config.json в Windows) и добавьте:
{
"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. Теперь вы должны увидеть сервер nod в списке инструментов Claude с двумя инструментами: lookup_nod и check_capability.
60-секундный сценарий демонстрации
Когда сервер демонстрационных манифестов запущен в одном терминале, а 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?"→ возвращает НЕТ с URL-адресом для связи с человеком, так как в манифесте установленоallow_automated_purchases: false.
Справочник инструментов
lookup_nod
Входные данные | Тип | Описание |
| string | Только домен (без схемы, без пути). Домены |
Получает https://{domain}/.well-known/nod.json, с переходом на https://{domain}/nod.json в случае неудачи. Возвращает структурированную сводку: идентификационные данные компании, заявленные возможности, поддерживаемые действия (с эндпоинтами + аутентификацией), API-эндпоинты и способы связи. В случае ошибки возвращает четкое сообщение «манифест не найден».
check_capability
Входные данные | Тип | Описание |
| string | Только домен. |
| string | Распространенные значения: |
Получает манифест и проверяет действие по transactions.capabilities, discovery.mcp_server.capabilities, support.contact.mcp_server.capabilities и структурным эндпоинтам (transactions.purchase, discovery.search, information.pricing и т. д.). Возвращает вердикт «да/нет», URL эндпоинта, метод аутентификации и ограничения политики (лимиты запросов, пороги подтверждения человеком).
Как работает маршрутизация *.localhost
Когда MCP-сервер получает домен, заканчивающийся на .localhost, он выполняет запрос к http://localhost:3456/{domain}/nod.json вместо обычного well-known URL. Это делает демо автономным — вы можете направить Claude на demo-restaurant.localhost и получить реальные результаты без настройки DNS или HTTPS.
Переменные окружения:
NOD_LOCAL_PORT— порт, на котором слушает сервер демонстрационных манифестов (по умолчанию3456)NOD_LOCAL_MANIFEST_SERVER— базовый URL, который MCP-сервер использует для поиска.localhost(по умолчаниюhttp://localhost:3456)NOD_FORCE_LOCAL=1— направлять каждый домен через локальный сервер манифестов (полезно для участников, тестирующих новые примеры манифестов)
Что дальше
Опубликуйте nod.json для своего бизнеса, используя спецификацию протокола NOD на opennod.ai/protocol. Написание минимального валидного манифеста занимает около 30 минут — и как только он появится по адресу https://yourdomain.com/.well-known/nod.json, любой агент, использующий этот MCP-сервер (или любой другой клиент с поддержкой NOD), сможет найти ваш бизнес и воспользоваться его возможностями.
Лицензия
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
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