ScreenshotOne.com - MCP-сервер
Этот проект предоставляет сервер Model Context Protocol (MCP), который подключает помощников на основе искусственного интеллекта к API ScreenshotOne.com для создания снимков экрана веб-сайтов.
Доступные функции
[x] Сделайте скриншоты любого URL
[x] Отображение HTML-контента и создание снимков экрана
[x] Настройте размер области просмотра и эмуляцию устройства
[x] Делайте снимки экрана всей страницы
[x] Выберите определенные элементы с помощью селекторов CSS
[x] Несколько форматов вывода (PNG, JPEG, WebP, PDF)
[x] Блокировка рекламы, трекеров и баннеров cookie
[x] Внедрение пользовательского CSS и JavaScript
[x] Управление поведением и временем ожидания
СкриншотOne.com
Создайте свой ключ API здесь
Поддерживаемые транспорты
[x] "stdio" transport — транспорт по умолчанию для использования CLI
[x] Транспорт«Streamable HTTP» — для веб-клиентов
[ ] Реализовать аутентификацию (заголовки «Authorization» с
Bearer <token>
)
[ ]
"sse" транспорт(Устаревшее)[ ] Написать тесты
Как использовать
CLI
Настройка МКП
Для локальной конфигурации с транспортом stdio:
Для удаленной конфигурации HTTP:
Переменные среды для HTTP-транспорта:
Вы можете настроить HTTP-сервер, используя следующие переменные среды:
MCP_HTTP_HOST
: Хост для привязки (по умолчанию:127.0.0.1
)MCP_HTTP_PORT
: Порт для прослушивания (по умолчанию:8080
)MCP_HTTP_PATH
: Путь к конечной точке (по умолчанию:/mcp
)
Обзор исходного кода
Что такое МКП?
Model Context Protocol (MCP) — открытый стандарт, позволяющий системам искусственного интеллекта безопасно и контекстно подключаться к внешним инструментам и источникам данных.
Этот шаблон реализует спецификацию MCP с помощью чистой многоуровневой архитектуры, которую можно расширить для создания пользовательских серверов MCP для любого API или источника данных.
Зачем использовать этот шаблон?
Архитектура, готовая к производству : следует той же схеме, которая используется в опубликованных серверах MCP, с четким разделением между CLI, инструментами, контроллерами и службами.
Безопасность типов : создано с использованием TypeScript для улучшения опыта разработки, качества кода и удобства обслуживания.
Рабочий пример : включает в себя полностью реализованный инструмент поиска IP-адресов, демонстрирующий полную модель от CLI до интеграции API.
Тестовая среда : поставляется с тестовой инфраструктурой для модульных и интеграционных тестов CLI, включая отчеты о покрытии.
Инструменты разработки : включают ESLint, Prettier, TypeScript и другие качественные инструменты, предварительно настроенные для разработки сервера MCP.
Начиная
Предпосылки
Node.js (>=18.x): Загрузить
Git : для контроля версий
Шаг 1: Клонирование и установка
Шаг 2: Запуск сервера разработки
Запустите сервер в режиме разработки с использованием транспорта stdio (по умолчанию):
Или с помощью потокового HTTP-транспорта:
Это запустит сервер MCP с горячей перезагрузкой и включит MCP Inspector по адресу http://localhost:5173 .
⚙️ Прокси-сервер прослушивает порт 6277 🔍 MCP Inspector запущен и работает по адресу http://127.0.0.1:6274
При использовании HTTP-транспорта сервер по умолчанию будет доступен по адресу http://127.0.0.1:8080/mcp .
Шаг 3: Тестирование инструмента создания скриншотов
Сделайте снимок экрана с помощью CLI:
Архитектура
Этот шаблон следует четкой, многоуровневой архитектурной модели, которая разделяет проблемы и способствует удобству обслуживания.
Структура проекта
Уровни и обязанности
Уровень CLI ( src/cli/*.cli.ts
)
Цель : определение интерфейсов командной строки, которые анализируют аргументы и вызывают контроллеры.
Именование : Файлы должны называться
<feature>.cli.ts
Тестирование : тесты интеграции CLI в
<feature>.cli.test.ts
Слой инструментов ( src/tools/*.tool.ts
)
Цель : Определить инструменты MCP со схемами и описаниями для помощников ИИ.
Именование : файлы должны иметь имена
<feature>.tool.ts
с типами в<feature>.types.ts
Шаблон : Каждый инструмент должен использовать zod для проверки аргументов.
Уровень контроллеров ( src/controllers/*.controller.ts
)
Цель : Реализация бизнес-логики, обработка ошибок и форматирование ответов.
Именование : Файлы должны называться
<feature>.controller.ts
Шаблон : Должен возвращать стандартизированные объекты
ControllerResponse
Уровень служб ( src/services/*.service.ts
)
Цель : Взаимодействие с внешними API или источниками данных.
Именование : Файлы должны называться
<feature>.service.ts
Шаблон : чистое взаимодействие API с минимальной логикой
Уровень утилит ( src/utils/*.util.ts
)
Цель : Обеспечить общую функциональность для всего приложения.
Ключевые возможности :
logger.util.ts
: Структурированное ведение журналаerror.util.ts
: Обработка ошибок и стандартизацияformatter.util.ts
: Помощники форматирования Markdown
Руководство по разработке
Сценарии разработки
Тестирование
Качество кода
Создание пользовательских инструментов
Чтобы добавить собственные инструменты на сервер, выполните следующие действия:
1. Определите уровень обслуживания
Создайте новую службу в src/services/
для взаимодействия с вашим внешним API:
2. Создать контроллер
Добавьте контроллер в src/controllers/
для обработки бизнес-логики:
3. Внедрение инструмента MCP
Создайте определение инструмента в src/tools/
:
4. Добавить поддержку CLI
Создайте команду CLI в src/cli/
:
5. Регистрация компонентов
Обновите точки входа для регистрации новых компонентов:
Инструменты отладки
Инспектор МКП
Получите доступ к визуальному инспектору MCP, чтобы протестировать свои инструменты и просмотреть сведения о запросах/ответах:
Запустите
npm run dev:server
Откройте http://localhost:5173 в вашем браузере.
Тестируйте свои инструменты и просматривайте журналы прямо в пользовательском интерфейсе
Журналы сервера
Включить журналы отладки для разработки:
Публикация вашего MCP-сервера
Когда вы будете готовы опубликовать свой собственный сервер MCP:
Обновите package.json, указав свои данные.
Обновите README.md документацией по вашему инструменту.
Соберите проект:
npm run build
Протестируйте производственную сборку:
npm run start:server
Опубликовать в npm:
npm publish
Лицензия
Примечание: Для обратной совместимости сервер также распознает конфигурации под полным именем пакета ( screenshotone-mcp-server
) или именем пакета без области действия ( screenshotone-mcp-server
), если ключ screenshotone
не найден. Однако для новых конфигураций рекомендуется использовать короткий ключ screenshotone
.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Подключает помощников на основе искусственного интеллекта к API ScreenshotOne.com для создания снимков экрана веб-сайта с настраиваемыми параметрами, включая размер области просмотра, полностраничные снимки и несколько форматов вывода.
Related MCP Servers
- AsecurityAlicenseAqualityAn official MCP server implementation that allows AI assistants to capture website screenshots through the ScreenshotOne API, enabling visual context from web pages during conversations.Last updated -1031MIT License
- AsecurityAlicenseAqualityCaptures screenshots of web pages using Puppeteer, allowing AI agents to visually verify web applications and see their progress when generating web apps.Last updated -536MIT License
- AsecurityAlicenseAqualityCaptures high-quality screenshots of web pages with automatic resolution limiting and tiling optimized for Claude Vision API and other AI models.Last updated -34281MIT License
- AsecurityAlicenseAqualityA server that allows AI agents and clients to programmatically capture screenshots of websites with options for image format and viewport selection.Last updated -188MIT License