Context7
Up-to-date docs for AI agents
Descripción del creador (original en inglés)
MCP server for the Pexels API: search & fetch stock photos, videos, and collections.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
PEXELS_API_KEY, LOG_LEVELLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"pexels": {
"command": "npx",
"args": [
"-y",
"@hanoak/pexels-mcp-server"
],
"env": {
"PEXELS_API_KEY": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add pexels --env PEXELS_API_KEY=your-value --env LOG_LEVEL=your-value -- npx -y @hanoak/pexels-mcp-serverCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"pexels": {
"command": "npx",
"args": [
"-y",
"@hanoak/pexels-mcp-server"
],
"env": {
"PEXELS_API_KEY": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"pexels": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@hanoak/pexels-mcp-server"
],
"env": {
"PEXELS_API_KEY": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
LOG_LEVEL envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub hanoak, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: PEXELS_API_KEY
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (1.0.1) llegó al registro hace 3 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Context7, Codebase Memory, Exa
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
A production-ready Model Context Protocol (MCP) server for the Pexels API. It gives AI assistants — Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, and any MCP client — tools to search and fetch Pexels photos, videos, and collections, covering every endpoint the Pexels API documents.
[!IMPORTANT]
Unofficial project. This is not affiliated with, endorsed by, or sponsored by Pexels. "Pexels" is a trademark of its respective owner. You use it under your own Pexels API account and are responsible for complying with the Pexels License.
credit (text + HTML), and the server's instructions steer the model around the license restrictions that do apply (no resale of unaltered content, no redistribution to other stock platforms, no trademark/logo use, no implied endorsement).src URLs (original/large2x/large/medium/small/portrait/landscape/tiny); each video returns its video_files renditions (trimmed to the highest-resolution few in list results, complete on a single-item lookup).isError results the model can recover from, plus retries/backoff, timeouts, and rate-limit-aware quota short-circuiting (Pexels omits its rate-limit headers on a 429, so the client caches the last-known reset time instead of guessing).npx, no telemetry.Create a free account at [pexels.com/api](https://www.pexels.com/api/) and you'll receive an API key instantly — no app review, no approval wait.
Claude Desktop — edit claude_desktop_config.json:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": { "pexels": { "command": "npx", "args": ["-y", "@hanoak/pexels-mcp-server"], "env": { "PEXELS_API_KEY": "your_api_key" } } } }
Restart the client. See Configuration for every supported variable.
Other clients (Claude Code, Cursor, VS Code, Windsurf, generic stdio)
Claude Code (CLI):
claude mcp add pexels \
--env PEXELS_API_KEY=your_api_key \ -- npx -y @hanoak/pexels-mcp-server
Cursor — ~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project): use the exact same mcpServers block as Claude Desktop above.
Windsurf — ~/.codeium/windsurf/mcp_config.json: same mcpServers block as Claude Desktop above.
VS Code — .vscode/mcp.json (note the top-level key is servers, not mcpServers):
{
"servers": { "pexels": { "command": "npx", "args": ["-y", "@hanoak/pexels-mcp-server"], "env": { "PEXELS_API_KEY": "your_api_key" } } } }
Any other MCP client — run the server over stdio with:
PEXELS_API_KEY=your_api_key npx -y @hanoak/pexels-mcp-server
Point your client's stdio transport at command: npx, args: ["-y", "@hanoak/pexels-mcp-server"], and pass the key via env.
Restart your client and ask:
_"Find me a photo of mountains on Pexels."_
A typical flow: the model calls pexels_search_photos, picks a result, and presents the image with its courtesy credit.
You: Find a landscape photo of a foggy pine forest.
Assistant: _(calls
pexels_search_photoswithquery: "foggy pine forest",orientation: "landscape", picks the best result)_
Here's a great match — photo by Jane Doe on Pexels — along with the image URL and a ready-to-use credit line.
Each tool returns a compact JSON payload. Here's the shape of a single photo result (illustrative values):
Example tool output
{
"photo": { "id": 1103970, "alt": "Photography of Trees at Foggy Forest", "width": 4000, "height": 2667, "avg_color": "#3E361F", "url": "https://www.pexels.com/photo/photography-of-trees-at-foggy-forest-1103970/", "src": { "original": "https://images.pexels.com/photos/1103970/pexels-photo-1103970.jpeg", "large2x": "https://images.pexels.com/photos/1103970/pexels-photo-1103970.jpeg?auto=compress&cs=tinysrgb&h=650&w=940", "large": "https://images.pexels.com/photos/1103970/pexels-photo-1103970.jpeg?auto=compress&cs=tinysrgb&h=650&w=940", "medium": "https://images.pexels.com/photos/1103970/pexels-photo-1103970.jpeg?auto=compress&cs=tinysrgb&h=350", "small": "https://images.pexels.com/photos/1103970/pexels-photo-1103970.jpeg?auto=compress&cs=tinysrgb&h=130", "portrait": "https://images.pexels.com/photos/1103970/pexels-photo-1103970.jpeg?auto=compress&cs=tinysrgb&fit=crop&h=1200&w=800", "landscape": "https://images.pexels.com/photos/1103970/pexels-photo-1103970.jpeg?auto=compress&cs=tinysrgb&fit=crop&h=627&w=1200", "tiny": "https://images.pexels.com/photos/1103970/pexels-photo-1103970.jpeg?auto=compress&cs=tinysrgb&dpr=1&fit=crop&h=200&w=280" }, "photographer": { "name": "Jane Doe", "url": "https://www.pexels.com/@janedoe", "id": 42 }, "credit": { "text": "Photo by Jane Doe on Pexels", "html": "Photo by Jane Doe on Pexels " } }, "rate_limit": { "limit": 200, "remaining": 199, "resetEpoch": 1755000000 } }
Every tool result includes a rate_limit object (limit, remaining, resetEpoch) read from the Pexels response headers. List/search tools wrap results in photos/videos/collections/media arrays with pagination fields (total_results, page, per_page, has_next_page).
Configuration is entirely via environment variables — no config files, no flags for secrets.
| Environment variable | Required | Description | |||
|---|---|---|---|---|---|
PEXELS_API_KEY | yes | Your Pexels API key. The server exits at startup with a clear message if it is missing or blank. | |||
LOG_LEVEL | no | debug \ | info \ | warn \ | error (default info). All logs go to stderr; stdout carries only the MCP protocol. |
CLI flags: --version and --help are supported (e.g. npx @hanoak/pexels-mcp-server --version).
All tools are namespaced pexels_* and every one is read-only (readOnlyHint: true) — Pexels' API has no write endpoints, so a client can safely auto-approve the entire server. per_page is clamped to a max of 80 (Pexels' own documented max), and page is 1-based.
| Domain | Tools |
|---|---|
| Photos | search_photos, curated_photos, get_photo |
| Videos | search_videos, popular_videos, get_video |
| Collections | list_featured_collections, list_my_collections, get_collection_media |
Photos
| Tool | Parameters | Description | ||||
|---|---|---|---|---|---|---|
pexels_search_photos | query (required), orientation? (landscape\ | portrait\ | square), size? (large\ | medium\ | small), color? (named color or hex code), locale?, page?, per_page? | Keyword photo search with filters. |
pexels_curated_photos | page?, per_page? | Pexels' hand-curated photo picks, refreshed hourly. | ||||
pexels_get_photo | id (required) | A single photo by its numeric ID, full detail. |
Videos
| Tool | Parameters | Description | ||
|---|---|---|---|---|
pexels_search_videos | query (required), orientation?, size? (large=4K\ | medium=Full HD\ | small=HD), locale?, page?, per_page? | Keyword video search with filters. |
| pexels_popular_videos | `min_widt
Solo se muestra el principio; lee el resto en el repo