Skip to main content
Glama

Pexels MCP Server

An MCP server to search for photos and videos on Pexels.

Prerequisites

Related MCP server: pexels-mcp-server

Building the Docker Image

Run the following command in this directory:

docker build -t pexels-mcp .

Running the Server

You can run the server directly with Docker. It communicates via Stdio, so it's designed to be called by an MCP client (like Claude Desktop or the MCP Toolkit).

To test it manually or use it, you generally configure your MCP client to run the docker command:

docker run -i --rm -e PEXELS_API_KEY=your_api_key_here pexels-mcp

Configuration

Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "pexels": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "PEXELS_API_KEY=your_actual_api_key_here",
        "pexels-mcp"
      ]
    }
  }
}

Docker MCP Toolkit

If you are using the Docker MCP Toolkit, you may be able to add it via the UI by pointing to this image or running the container.

Available Tools

3 tools
pexels_get_photoA

Get details for a specific photo by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the photo

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; the description only says 'Get details' without specifying what details are included or any side effects. Minimal behavioral context for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Front-loaded with the core action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one parameter and no output schema, the description is reasonably complete for its simplicity. Lacks detail on returned fields, but adequate for a get-by-ID tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description for the 'id' parameter. The tool description adds little beyond confirming it's a photo by ID, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Get details' for a specific photo identified by ID, distinguishing it from sibling search tools that browse or search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose implies using this tool when you have a known photo ID, contrasted with search tools for discovery, but no explicit when-not or alternative mention.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pexels_search_photosC

Search for photos on Pexels

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
queryYesThe search query (e.g., 'nature', 'office')
per_pageNoNumber of results to return (default: 10, max: 80)

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits, but it only says 'Search for photos', omitting details like rate limits, result format, or pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise but under-specified for a tool with 3 parameters and no output schema. It does not earn its place by adding necessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and 3 parameters, the description is too minimal; it omits return value information and pagination details, leaving the agent under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no additional parameter meaning beyond the schema, but does not detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search for photos on Pexels' clearly states the action and resource, and the tool name distinguishes it from siblings like pexels_get_photo and pexels_search_videos.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., when to search vs. get a specific photo or search videos). It lacks context for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pexels_search_videosB

Search for videos on Pexels

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
queryYesThe search query (e.g., 'nature', 'office')
per_pageNoNumber of results to return (default: 10, max: 80)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It fails to disclose any behavioral traits such as rate limits, safety, or whether results are paginated. The only info is 'search', which does not convey potential side effects or constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that is front-loaded with the core purpose. It contains no wasted words. However, it borders on under-specification, which prevents a higher score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and three well-documented parameters, the description is minimally sufficient. However, it lacks context about the response format or pagination behavior, which would aid completeness for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so each parameter (query, page, per_page) is described in the schema. The tool description adds no further meaning beyond the schema. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The tool name 'pexels_search_videos' clearly indicates the resource (videos) and action (search). The description 'Search for videos on Pexels' is a specific verb+resource, and it effectively distinguishes from sibling 'pexels_search_photos' by focusing on videos.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings (e.g., pexels_search_photos). There is no mention of prerequisites, alternatives, or when-not-to-use. The usage context is only implied by the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a distinct purpose: retrieving a single photo by ID, searching photos, and searching videos. There is no overlap or ambiguity.

Naming Consistency5/5

All tools follow the 'pexels_verb_noun' pattern consistently, making the naming predictable and easy to understand.

Tool Count5/5

With only 3 tools, the server is tightly scoped to core Pexels operations. This is appropriate for a focused API wrapper.

Completeness3/5

Covers search for both photos and videos and retrieval of a specific photo, but lacks a tool to get a specific video by ID, which is a notable gap given symmetrical functionality.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/madebyaram2024/pexels-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server