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-документы
- Создайте свой ключ API здесь
Поддерживаемые транспорты
- [x] "stdio" transport — транспорт по умолчанию для использования CLI
- [x] Транспорт«Streamable HTTP» — для веб-клиентов
- [ ] Реализовать аутентификацию (заголовки «Authorization» с
Bearer <token>
)
- [ ] Реализовать аутентификацию (заголовки «Authorization» с
- [ ]
"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
- -securityFlicense-qualityEnables capturing screenshots of web pages and local HTML files through a simple MCP tool interface using Puppeteer with configurable options for dimensions and output paths.Last updated -104JavaScript
- 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 -1421TypeScriptMIT License
- -securityFlicense-qualityEnables AI tools to capture and process screenshots of a user's screen, allowing AI assistants to see and analyze what the user is looking at through a simple MCP interface.Last updated -1Python
- -securityFlicense-qualityAutomatically captures and processes screenshots from YouTube videos and Shorts at specified intervals, supporting customizable screenshot timing and providing API endpoints for image management.Last updated -