Pexels MCP

MCP server for the Pexels API — photo search, video search, and curated content

Documentation

mcp-server-pexels

An MCP (Model Context Protocol) server for the Pexels API. Built in Rust, exposes photo search, video search, and curated/featured content as MCP tools.

Communicates via stdio using JSON-RPC 2.0.

Tools

ToolDescription
search_photosSearch photos by query with optional orientation/size/color/locale filters
curated_photosGet a paginated list of curated, hand-picked photos
get_photoRetrieve a single photo by ID
search_videosSearch videos by query with optional orientation/size/locale filters
popular_videosGet popular videos with optional dimension and duration filters
get_videoRetrieve a single video by ID
featured_collectionsList featured collections (themed sets of media)
collection_mediaList media in a specific collection (filterable by photos/videos)

Prerequisites

Setup

mkdir -p ~/.config/mcp-server-pexels

Create ~/.config/mcp-server-pexels/config.toml:

api_key = "your-pexels-api-key"

Build

cargo build --release

Produces target/release/mcp-server-pexels.

MCP configuration

{
  "mcpServers": {
    "pexels": {
      "command": "/path/to/mcp-server-pexels"
    }
  }
}

Project structure

src/
  main.rs    - entry point, config loading, stdio transport
  server.rs  - MCP tool definitions
  api.rs     - Pexels HTTP client and response types
  params.rs  - tool parameter types
  config.rs  - TOML config loading

License

MIT