# Pexels MCP Server
A Model Context Protocol server that provides access to the **Pexels API** for searching and retrieving photos, videos, and collections.
## Available Tools
- `photos_search` – Search photos
- `photos_curated` – List curated photos
- `photo_get` – Get a photo by id
- `videos_search` – Search videos
- `videos_popular` – List popular videos
- `video_get` – Get a video by id
- `collections_featured` – List featured collections
- `collections_media` – List media in a collection
## Usage
### Using `uv` (recommended)
1. Install [`uv`](https://docs.astral.sh/uv/).
2. In your MCP client code configuration or **Claude** settings (file `claude_desktop_config.json`) add `pexels` mcp server:
```json
{
"mcpServers": {
"pexels": {
"command": "uvx",
"args": ["pexels-mcp-server"],
"env": {
"PEXELS_API_KEY": "<Your Pexels API key>"
}
}
}
}
```
`uv` will download the MCP server automatically using `uvx` from [pypi.org](https://pypi.org/project/pexels-mcp-server/) and apply to your MCP client.
### Using `pip` for a project
1. Add `pexels-mcp-server` to your MCP client code `requirements.txt` file.
```txt
pexels-mcp-server
```
2. Install the dependencies.
```shell
pip install -r requirements.txt
```
3. Add the configuration for your client:
```json
{
"mcpServers": {
"pexels": {
"command": "python3",
"args": ["-m", "pexels_mcp_server"],
"env": {
"PEXELS_API_KEY": "<Your Pexels API key>"
}
}
}
}
```
### Using `pip` globally
1. Ensure `pip` or `pip3` is available on your system.
```bash
pip install pexels-mcp-server
# or
pip3 install pexels-mcp-server
```
2. MCP client code configuration or **Claude** settings, add `pexels` mcp server:
```json
{
"mcpServers": {
"pexels": {
"command": "python3",
"args": ["pexels-mcp-server"],
"env": {
"PEXELS_API_KEY": "<Your Pexels API key>"
}
}
}
}
```
## Debugging
You can use the MCP inspector to debug the server. For `uvx` installations:
```bash
npx @modelcontextprotocol/inspector uvx pexels-mcp-server
```
Or if you've installed the package in a specific directory or are developing on it:
```bash
git clone https://github.com/garylab/pexels-mcp-server.git
cd pexels-mcp-server
npx @modelcontextprotocol/inspector uv run pexels-mcp-server -e PEXELS_API_KEY=<the key>
```
## License
pexels-mcp-server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Raw data
{
"_id": null,
"home_page": null,
"name": "pexels-mcp-server",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "pexels, mcp, server, photos, videos",
"author": null,
"author_email": "Gary Meng <guozao.m@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/a1/e0/249bf04afa3352fa91afb91bc9e5be72186d07b5cb1a0c06c94fbeca82be/pexels_mcp_server-0.0.3.tar.gz",
"platform": null,
"description": "# Pexels MCP Server\n\nA Model Context Protocol server that provides access to the **Pexels API** for searching and retrieving photos, videos, and collections.\n\n## Available Tools\n\n- `photos_search` \u2013 Search photos\n- `photos_curated` \u2013 List curated photos\n- `photo_get` \u2013 Get a photo by id\n- `videos_search` \u2013 Search videos\n- `videos_popular` \u2013 List popular videos\n- `video_get` \u2013 Get a video by id\n- `collections_featured` \u2013 List featured collections\n- `collections_media` \u2013 List media in a collection\n\n\n## Usage\n\n\n### Using `uv` (recommended)\n\n1. Install [`uv`](https://docs.astral.sh/uv/).\n\n2. In your MCP client code configuration or **Claude** settings (file `claude_desktop_config.json`) add `pexels` mcp server:\n ```json\n {\n \"mcpServers\": {\n \"pexels\": {\n \"command\": \"uvx\",\n \"args\": [\"pexels-mcp-server\"],\n \"env\": {\n \"PEXELS_API_KEY\": \"<Your Pexels API key>\"\n }\n }\n }\n }\n ```\n `uv` will download the MCP server automatically using `uvx` from [pypi.org](https://pypi.org/project/pexels-mcp-server/) and apply to your MCP client.\n\n### Using `pip` for a project\n1. Add `pexels-mcp-server` to your MCP client code `requirements.txt` file.\n ```txt\n pexels-mcp-server\n ```\n\n2. Install the dependencies.\n ```shell\n pip install -r requirements.txt\n ```\n\n3. Add the configuration for your client:\n ```json\n {\n \"mcpServers\": {\n \"pexels\": {\n \"command\": \"python3\",\n \"args\": [\"-m\", \"pexels_mcp_server\"],\n \"env\": {\n \"PEXELS_API_KEY\": \"<Your Pexels API key>\"\n }\n }\n }\n }\n ```\n\n\n### Using `pip` globally\n\n1. Ensure `pip` or `pip3` is available on your system.\n ```bash\n pip install pexels-mcp-server\n # or\n pip3 install pexels-mcp-server\n ```\n\n2. MCP client code configuration or **Claude** settings, add `pexels` mcp server:\n ```json\n {\n \"mcpServers\": {\n \"pexels\": {\n \"command\": \"python3\",\n \"args\": [\"pexels-mcp-server\"],\n \"env\": {\n \"PEXELS_API_KEY\": \"<Your Pexels API key>\"\n }\n }\n }\n }\n ```\n\n\n## Debugging\n\nYou can use the MCP inspector to debug the server. For `uvx` installations:\n\n```bash\nnpx @modelcontextprotocol/inspector uvx pexels-mcp-server\n```\n\nOr if you've installed the package in a specific directory or are developing on it:\n\n```bash\ngit clone https://github.com/garylab/pexels-mcp-server.git\ncd pexels-mcp-server\nnpx @modelcontextprotocol/inspector uv run pexels-mcp-server -e PEXELS_API_KEY=<the key>\n```\n\n\n## License\n\npexels-mcp-server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.\n",
"bugtrack_url": null,
"license": null,
"summary": "An MCP server for Pexels",
"version": "0.0.3",
"project_urls": {
"Author Blog": "https://garymeng.com",
"Bug Tracker": "https://github.com/garymengcom/pexels-mcp-server/issues",
"Homepage": "https://github.com/garymengcom/pexels-mcp-server"
},
"split_keywords": [
"pexels",
" mcp",
" server",
" photos",
" videos"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f7b01e14aeac57d337a673ba8aa0b4b5eb1f6f5b993556d18337410690c9263f",
"md5": "47cca1b7993df760fee7cb9d5ad9755f",
"sha256": "96d6f8d84ea4b2c7fe2933c2676aa9ca1b01ab1d7100bcb09b424d415c88239f"
},
"downloads": -1,
"filename": "pexels_mcp_server-0.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "47cca1b7993df760fee7cb9d5ad9755f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 6186,
"upload_time": "2025-08-18T19:07:46",
"upload_time_iso_8601": "2025-08-18T19:07:46.703529Z",
"url": "https://files.pythonhosted.org/packages/f7/b0/1e14aeac57d337a673ba8aa0b4b5eb1f6f5b993556d18337410690c9263f/pexels_mcp_server-0.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a1e0249bf04afa3352fa91afb91bc9e5be72186d07b5cb1a0c06c94fbeca82be",
"md5": "9f282b8428e2b5f48a0b4de1e3e1f359",
"sha256": "eca8d313a00986e27b5138a14fa3faa35c562963b2d9b725b1b630fae0d855b8"
},
"downloads": -1,
"filename": "pexels_mcp_server-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "9f282b8428e2b5f48a0b4de1e3e1f359",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 47771,
"upload_time": "2025-08-18T19:07:47",
"upload_time_iso_8601": "2025-08-18T19:07:47.816949Z",
"url": "https://files.pythonhosted.org/packages/a1/e0/249bf04afa3352fa91afb91bc9e5be72186d07b5cb1a0c06c94fbeca82be/pexels_mcp_server-0.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-18 19:07:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "garymengcom",
"github_project": "pexels-mcp-server",
"github_not_found": true,
"lcname": "pexels-mcp-server"
}