Whodis MCP-сервер
Этот проект предоставляет сервер Model Context Protocol (MCP), специально разработанный для проверки доступности доменных имен с использованием поиска WHOIS. Он позволяет помощникам ИИ или другим инструментам интегрировать проверки доступности доменов в свои рабочие процессы.
Обзор
Что такое МКП?
Model Context Protocol (MCP) — открытый стандарт, позволяющий системам ИИ безопасно и контекстно подключаться к внешним инструментам и источникам данных. Этот сервер реализует стандарт MCP для предоставления информации о доступности домена.
Related MCP server: WebSearch-MCP
Функции
Проверка доступности доменов : использует библиотеку
whoiserдля выполнения поиска в WHOIS и определения того, доступны ли домены или зарегистрированы.Интеграция инструмента MCP : предоставляет инструмент
check-domain-availabilityдля клиентов MCP (например, помощников на основе искусственного интеллекта).Интерфейс CLI : включает интерфейс командной строки (
whodis-mcp-server check-domain-availability ...) для непосредственного использования и тестирования.Структурированное ведение журнала : обеспечивает подробное ведение журнала для отладки и мониторинга.
Настраиваемый : поддерживает настройку через переменные среды или файлы
.env.
Начиная
Предпосылки
Node.js (>=18.x): Загрузить
Git : для контроля версий
Шаг 1: Клонирование и установка
# Clone the repository
git clone https://github.com/vinsidious/whodis-mcp-server.git
cd whodis-mcp-server
# Install dependencies
npm installШаг 2: Запуск сервера разработки
Запустите сервер в режиме разработки, чтобы взаимодействовать с ним через MCP Inspector:
npm run dev:serverЭто запустит сервер MCP и включит MCP Inspector по адресу http://localhost:5173 , где вы можете протестировать инструмент check-domain-availability .
Шаг 3: Тестирование инструмента через CLI
Запустите проверку доступности домена прямо из командной строки:
# Using CLI in development mode
npm run dev:cli -- check-domain-availability example.com non-existent-domain-12345.org
# Or run the built version
npm run start:cli -- check-domain-availability google.com my-unique-idea.devCLI выведет объект JSON, содержащий available и unavailable массивы.
Архитектура
Этот сервер имеет многоуровневую архитектуру:
src/
├── cli/ # Command-line interface logic
├── controllers/ # Business logic for domain checks
├── services/ # Interaction with the whoiser library
├── tools/ # MCP tool definition and argument validation
├── types/ # Shared type definitions
├── utils/ # Shared utilities (logging, errors, etc.)
└── index.ts # Main entry point for server and CLIРуководство по разработке
Сценарии разработки
# Start MCP server in development mode (with MCP Inspector)
npm run dev:server
# Run CLI commands in development mode
npm run dev:cli -- check-domain-availability <domains...>
# Build the project for production
npm run build
# Start MCP server in production mode (requires MCP client)
npm run start:server
# Run CLI commands using the production build
npm run start:cli -- check-domain-availability <domains...>Тестирование
# Run all tests
npm test
# Generate test coverage report
npm run test:coverageКачество кода
# Lint code
npm run lint
# Format code with Prettier
npm run formatИнструмент MCP: check-domain-availability
НАЗНАЧЕНИЕ : Проверка доступности одного или нескольких доменных имен.
ВХОД : Массив доменных имен.
{ "domains": ["example.com", "another-domain.net"] }ВЫХОД : Объект JSON, содержащий два массива:
available(домены, которые кажутся незарегистрированными) иunavailable(домены, которые кажутся зарегистрированными).{ "available": ["likely-available-domain123.xyz"], "unavailable": ["google.com"] }Примечание : проверки доступности зависят от ответов сервера WHOIS и могут быть не на 100% точными для всех TLD или из-за временных проблем с сетью. Домены, в которых поиск не удался, опущены.
КОГДА ИСПОЛЬЗОВАТЬ : Используйте этот инструмент, когда вам нужно определить, могут ли быть зарегистрированы определенные доменные имена.
Отладка
Инспектор МКП
Откройте визуальный MCP Inspector, чтобы протестировать инструмент и просмотреть сведения о запросе/ответе:
Запустите
npm run dev:serverОткройте http://localhost:5173 в вашем браузере.
Используйте пользовательский интерфейс для вызова инструмента
check-domain-availability.
Журналы сервера
Включите журналы отладки для получения подробной информации:
# Set environment variable
DEBUG=true npm run dev:server
# Or set DEBUG=true in your .env fileЖурналы также сохраняются в файлах ~/.mcp/data/whodis-mcp-server.*.log .
Издательский
Чтобы опубликовать обновления в npm:
Убедитесь, что изменения зафиксированы и следуют общепринятым сообщениям о фиксации (например,
feat:,fix:,chore:).Перенесите изменения в
mainветку.Рабочий процесс
ci-semantic-release.ymlавтоматически соберет, протестирует, версионирует и опубликует пакет в npm.