Borrowing it
Nothing to install: this file belongs to hanoak/pexels-mcp-server. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/hanoak/pexels-mcp-server/main/CLAUDE.mdgit clone --depth 1 https://github.com/hanoak/pexels-mcp-serverWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/hanoak/pexels-mcp-server/claude-md)<a href="https://agentmods.dev/instructions/hanoak/pexels-mcp-server/claude-md"><img src="https://agentmods.dev/badge/instructions/hanoak/pexels-mcp-server/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/hanoak/pexels-mcp-server/claude-md"><img src="https://agentmods.dev/badge/instructions/hanoak/pexels-mcp-server/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.02113 | $0.02113 |
| Opus 5.5 | $0.00845 | $0.00845 |
| Sonnet 5.5 | $0.00423 | $0.00423 |
| Haiku 4.5 | $0.00211 | $0.00211 |
Grade A, and why
pexels-mcp-server CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pexels-mcp-server — project instructions
Production-ready, open-source npm package: an MCP (Model Context Protocol) server exposing the Pexels stock photo/video API as tools for LLM clients (Claude Desktop, Cursor, etc.), distributed via npx. Same quality bar as the author's prior @hanoak/unsplash-mcp-server (shipped v1→v3, 2026-07-22 to 2026-08-08): production-ready, legally sound, robust, easy to maintain, expected to get real community traction.
This file absorbs the one-time bootstrap doc that seeded this project (originally docs/PEXELS_MCP_BOOTSTRAP.md, transplanted from lessons learned building unsplash-mcp-server) as living, ongoing instructions rather than a disposable kickoff note. Project status and the forward-looking roadmap live at docs/ROADMAP.md.
Tech stack (settled, don't relitigate)
- TypeScript + Node, ESM-only (MCP SDK is ESM), Node 20+ target.
- Build: tsup (ESM output +
.d.ts+ shebang banner). - Validation: zod, lenient/passthrough on API responses — only validate fields actually consumed, so an unknown/renamed upstream field degrades gracefully instead of breaking a tool.
- Transport: stdio.
- SDK:
@modelcontextprotocol/sdk(currently1.30.0— re-check current version periodically). - Distributed via npm, run via
npx. Package:@hanoak/pexels-mcp-server(scoped — unscopedpexels-mcp-serveris taken by an unrelated low-effort package), binpexels-mcp-server.
Folder & architecture conventions
src/index.ts— bin entry + crash guards (SIGINT/SIGTERM/uncaughtException/unhandledRejection → stderr, never stdout).src/server.ts—createServer(ctx)+runServer()composition root; holdsSERVER_INSTRUCTIONS.src/config.ts,src/version.ts— app-level, stay at root.version.tsreads frompackage.jsonviacreateRequire.src/lib/— generic infra:logger.ts(stderr-only leveled logger),redact.ts(secret redaction),node-guard.ts(Node-version guard).src/pexels/— domain layer: HTTP client, typed errors. Keep the client'sget()generic; no typed endpoint methods (searchPhotos()) until real duplication appears. Nopost/put/delete— Pexels' API is entirely read-only, there is nothing to write.src/schemas/— response/wire schemas only, one file per resource type (photo.ts,video.ts,collection.ts,pagination.ts). Never put tool-input schemas here.src/tools/— MCP interface layer, one file per resource domain (photos.ts,videos.ts,collections.ts— nosearch.ts; Pexels splits search per media type at the endpoint level, so search lives inside each domain file). Each domain file holds that domain's input schemas + handlers + aregister<Domain>Tools(server, ctx)registrar.src/tools/index.tsjust calls each domain registrar.src/tools/result.tsholds one sharedtoToolError(err, redact).src/tools/format.tsholds shared compact-output mappers.src/resources.ts,src/prompts.ts.- Tests mirror
src/1:1 undertest/.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 70 lines · 2,113 tokens per session scan A 3ae79f524ff0
pexels-mcp-server CLAUDE.md is an instructions file published in the GitHub repository hanoak/pexels-mcp-server (2 stars, last pushed 5d ago), licensed MIT. It adds 2,113 tokens to every session, about $0.0085 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
pexels-mcp-server CLAUDE.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| pexels-mcp-server CLAUDE.mdhanoak/pexels-mcp-server | Instructions file | 2 | 5d ago | MIT | A | 2,113 | Claude Code |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |