mcp-pexels-photos
v1.0.0
Published
MCP server for searching photos using Pexels API
Maintainers
Readme
MCP Pexels Photo Search Server
MCP (Model Context Protocol) сервер для поиска фотографий с использованием Pexels API. Сервер предоставляет инструмент для поиска высококачественных изображений по текстовому описанию.
Особенности
- 🔍 Поиск фотографий через Pexels API
- ✅ Валидация поискового запроса (максимум 3 слова)
- 📄 Пагинация результатов
- 🎨 Возврат различных размеров изображений
- 🔒 Безопасная обработка ошибок
- 📦 Готов к публикации на npm
Установка
Через npm (после публикации)
npm install -g mcp-pexels-photosЛокальная разработка
git clone <repository-url>
cd mcp-pexels-photos
npm install
npm run buildНастройка
- Получите API ключ от Pexels
- Установите переменную окружения:
export PEXELS_API_KEY="your_api_key_here"Или создайте файл .env:
PEXELS_API_KEY=your_api_key_hereИспользование
Запуск через npx (после публикации)
npx mcp-pexels-photosЛокальный запуск без компиляции
npx tsx src/index.tsЗапуск скомпилированной версии
npm run build
npm startКонфигурация MCP клиента
Claude Desktop
Добавьте в claude_desktop_config.json:
{
"mcpServers": {
"pexels-photos": {
"command": "npx",
"args": ["mcp-pexels-photos"],
"env": {
"PEXELS_API_KEY": "your_api_key_here"
}
}
}
}Локальная разработка
{
"mcpServers": {
"pexels-photos": {
"command": "npx",
"args": ["tsx", "/path/to/your/project/src/index.ts"],
"env": {
"PEXELS_API_KEY": "your_api_key_here"
}
}
}
}API
Инструмент: search_photos
Поиск фотографий по текстовому запросу.
Параметры:
query(обязательный): Поисковый запрос (максимум 3 слова)per_page(опциональный): Количество результатов (1-80, по умолчанию 10)page(опциональный): Номер страницы (по умолчанию 1)
Пример использования:
{
"name": "search_photos",
"arguments": {
"query": "sunset mountains",
"per_page": 5,
"page": 1
}
}Ответ:
{
"query": "sunset mountains",
"total_results": 1250,
"page": 1,
"per_page": 5,
"photos": [
{
"id": 123456,
"width": 1920,
"height": 1080,
"photographer": "John Doe",
"photographer_url": "https://www.pexels.com/@johndoe",
"avg_color": "#FF6B35",
"alt": "Beautiful sunset over mountains",
"urls": {
"original": "https://images.pexels.com/photos/123456/pexels-photo-123456.jpeg",
"large": "https://images.pexels.com/photos/123456/pexels-photo-123456.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
"medium": "https://images.pexels.com/photos/123456/pexels-photo-123456.jpeg?auto=compress&cs=tinysrgb&h=350",
"small": "https://images.pexels.com/photos/123456/pexels-photo-123456.jpeg?auto=compress&cs=tinysrgb&h=130",
"tiny": "https://images.pexels.com/photos/123456/pexels-photo-123456.jpeg?auto=compress&cs=tinysrgb&dpr=1&fit=crop&h=200&w=280"
},
"pexels_url": "https://www.pexels.com/photo/beautiful-sunset-over-mountains-123456/"
}
]
}Разработка
Структура проекта
src/
index.ts # Основной файл сервера
package.json # Конфигурация npm
tsconfig.json # Конфигурация TypeScript
README.md # ДокументацияСкрипты
npm run build- Компиляция TypeScriptnpm run dev- Запуск в режиме разработкиnpm start- Запуск скомпилированной версииnpm run prepublishOnly- Автоматическая компиляция перед публикацией
Требования
- Node.js >= 18.0.0
- API ключ от Pexels
Ограничения
- Поисковый запрос ограничен 3 словами
- Максимум 80 результатов на страницу
- Соблюдение лимитов API Pexels
Лицензия
MIT
Поддержка
Для получения поддержки создайте issue в репозитории проекта.
