Skip to main content
Glama
hanoak

pexels-mcp-server

by hanoak

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_LEVELNodebug | info | warn | error (default info). All logs go to stderr; stdout carries only the MCP protocol.info
PEXELS_API_KEYYesYour Pexels API key. The server exits at startup with a clear message if it is missing or blank.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
pexels_search_photosA

Search Pexels for photos matching a query, with optional orientation/size/color/locale filters. Returns compact photo objects with pre-sized URLs and a courtesy credit (attribution is appreciated but not required by the Pexels license). Read-only. Each photo includes several pre-sized URLs in src (original/large2x/large/medium/small/portrait/landscape/tiny) — pick the closest fit rather than always using original.

pexels_curated_photosA

List Pexels' hand-curated photo picks, refreshed hourly (paginated). Returns compact photo objects. Read-only. Each photo includes several pre-sized URLs in src (original/large2x/large/medium/small/portrait/landscape/tiny) — pick the closest fit rather than always using original.

pexels_get_photoA

Get a single Pexels photo by its numeric ID, with full detail, pre-sized URLs, and a courtesy credit. Read-only. Each photo includes several pre-sized URLs in src (original/large2x/large/medium/small/portrait/landscape/tiny) — pick the closest fit rather than always using original.

pexels_search_videosA

Search Pexels for videos matching a query, with optional orientation/size/locale filters. Returns compact video objects with rendition links. Read-only. video_files is trimmed to the highest-resolution renditions (see video_files_count for the full count) — call pexels_get_video for the complete rendition list on one video.

pexels_popular_videosA

List currently popular Pexels videos, optionally filtered by minimum width/height and duration range. Returns compact video objects. Read-only. video_files is trimmed to the highest-resolution renditions (see video_files_count for the full count) — call pexels_get_video for the complete rendition list on one video.

pexels_get_videoA

Get a single Pexels video by its numeric ID, with full detail and every available rendition (unlike the search/popular tools, this returns the complete video_files list, not just the top few). Read-only.

pexels_list_featured_collectionsA

List Pexels' featured collections (paginated). Returns collection metadata only — call pexels_get_collection_media for the photos/videos inside one. Read-only.

pexels_list_my_collectionsA

List the collections belonging to the Pexels account that owns the configured API key (paginated). Since Pexels has no per-conversation OAuth login, this always reflects the API key's own account, not the person chatting — it will be empty unless that account has created collections on pexels.com. Read-only.

pexels_get_collection_mediaA

Get the photos and/or videos inside a Pexels collection by its ID (paginated, optionally filtered to just photos or just videos). Each item is returned in the same compact shape its own domain tool would use, tagged with media_type. Read-only. Each photo includes several pre-sized URLs in src (original/large2x/large/medium/small/portrait/landscape/tiny) — pick the closest fit rather than always using original. video_files is trimmed to the highest-resolution renditions (see video_files_count for the full count) — call pexels_get_video for the complete rendition list on one video.

Prompts

Interactive templates invoked by user choice

NameDescription
find_photoSearch Pexels for a photo matching a description and present it with a courtesy credit.
photo_gallerySearch Pexels for a themed set of photos and present them all with courtesy credits.
find_videoSearch Pexels for a video matching a description and present it with a courtesy credit.
collection_tourFind a featured Pexels collection matching a theme and walk through its media.
media_briefGather both photos and videos for a theme and present them together as a brief.

Resources

Contextual data attached and managed by the client

NameDescription
usage-guideWhat is and isn't allowed when using Pexels photos/videos from this server: the real license restrictions, optional attribution, and content-safety notes.

TDQS

A4.5/5.0

Scored across 9 tools

Disambiguation5/5

Each tool maps to a distinct resource and action: photos, videos, and collections each have dedicated search/list/get operations with no overlapping responsibilities. The separation between curated photos and popular videos, and between featured vs. my collections, is clear.

Naming Consistency5/5

All tools follow a consistent pexels_<verb>_<resource> pattern, e.g., pexels_search_photos, pexels_get_video, pexels_list_featured_collections. The verb-noun structure is uniform and predictable across the entire server.

Tool Count5/5

Nine tools provide a well-scoped surface for the Pexels API, covering the three main domains (photos, videos, collections) without bloat. Each tool fills a clear functional niche, and the count is within the ideal range.

Completeness5/5

The server covers the full read-only lifecycle: search, curated/popular listings, individual item retrieval, and collection browsing. There are no obvious dead ends, and the only missing operation (upload) is not part of the Pexels API.

Maintenance

ActivityMaintained
ResponsivenessNo issues