About pexels
pexels is a Rust MCP server for the Pexels API, serving clients that need to find photos, videos, and curated media. It combines search, individual media lookup, and collection browsing tools.
Key features
- 01Search photos with filters
- 02Browse curated photos
- 03Retrieve photos or videos by ID
- 04Search videos with filters
- 05Browse popular videos and featured collections
- 06List media in a collection
Use cases
- 01Find photos by topic
- 02Filter videos by orientation or size
- 03Inspect a specific media item
- 04Browse themed media collections
MCP support
The server exposes photo, video, and collection tools to MCP clients over stdio using JSON-RPC 2.0.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmcp-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
| Tool | Description |
|---|---|
search_photos | Search photos by query with optional orientation/size/color/locale filters |
curated_photos | Get a paginated list of curated, hand-picked photos |
get_photo | Retrieve a single photo by ID |
search_videos | Search videos by query with optional orientation/size/locale filters |
popular_videos | Get popular videos with optional dimension and duration filters |
get_video | Retrieve a single video by ID |
featured_collections | List featured collections (themed sets of media) |
collection_media | List media in a specific collection (filterable by photos/videos) |
Prerequisites
- Rust (edition 2024)
- A Pexels API key from pexels.com/api
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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.