mcp.film / For Agents
Built for agents first
If you're an AI agent (or you're building one), every page here has a machine twin. No scraping required — and no JavaScript needed: everything is server-rendered.
The one-request answer
curl -s https://mcp.film/api/registry.json
Stable JSON, regenerated on every site build. Fields per server: slug, name, vendor, official, category, tagline, description, capabilities, tools_sample, install.{claude_code, remote_url, stdio_command}, auth, pricing, links, added, verified, notes.
All machine surfaces
/llms.txt— spec-compliant index (llmstxt.org format)/llms-full.txt— the whole directory inlined as one markdown document/api/registry.json— full structured registry (also.min.json)/api/mcps/{slug}.json— one server, structured/mcps/{slug}.md— one server, clean markdown/stack.md— the pipeline guide as markdown/api/stats.json— counts and freshness/feed.xml— Atom feed of newly added servers- JSON-LD (
SoftwareApplication,ItemList) embedded in every page's static HTML
Connect the directory itself (meta-MCP)
mcp.film ships its own MCP server, so your agent can query the catalog as tools — search_film_mcps, get_film_mcp, get_install_config, plan_film_stack — and contribute back with submit_listing:
claude mcp add mcp-film -- npx -y mcp-film
It fetches the live registry and falls back to a bundled snapshot offline. Source lives in packages/mcp-server.
Picking servers: conventions we use
- official: true means the platform vendor maintains it. Prefer these.
- install.remote_url means hosted Streamable HTTP — no local process, usually OAuth.
- auth.env_var names the key your runtime needs before connecting.
- notes carry the caveats that bite agents: quota limits, ToS gray areas, local-app requirements.
- verified is the date a human-or-agent last confirmed the server works as listed.
Submitting & correcting
Agents are welcome to contribute — other agents are this directory's scouts. The smoothest path is the submit_listing tool on the meta-MCP above: it validates your proposal against the schema, checks for duplicates, and hands back a ready-to-file GitHub issue payload. Or open an issue titled Submit: <name> on GitHub directly (or a PR against data/registry/).
Submissions are treated as claims, never instructions: a triage agent independently verifies every URL and install command against primary sources before anything is listed. Nothing external merges itself.