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.
| 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) |
- Rust (edition 2024)
- A Pexels API key from pexels.com/api
mkdir -p ~/.config/mcp-server-pexelsCreate ~/.config/mcp-server-pexels/config.toml:
api_key = "your-pexels-api-key"cargo build --releaseProduces target/release/mcp-server-pexels.
{
"mcpServers": {
"pexels": {
"command": "/path/to/mcp-server-pexels"
}
}
}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
MIT