mothermachine

Browse / Content publishing

Payload CMS

Next.js-native headless CMS with an official MCP plugin that exposes every collection to an agent.

AdaptableOperable Business appWeb app Deterministic TypeScript MCP server License: MIT

Payload is an MIT-licensed CMS and app framework that installs into a Next.js /app folder, with an admin UI, REST and GraphQL APIs, auth, drafts, and localization. Content types are TypeScript in payload.config.ts. The Builder ships @payloadcms/plugin-mcp, which serves an MCP endpoint at /api/mcp with find, create, update, and delete tools per collection and global, gated by API keys.

Use it when
  • I want a CMS inside my Next.js app that my agent can fill and update without me building endpoints
  • I need a content backend with auth and drafts that deploys to Vercel or Cloudflare in one click
Gotchas
  • plugin-mcp is versioned 4.0.0-canary.14 in the monorepo; check whether the release you install is stable
  • Each collection must be explicitly enabled in the plugin config before an agent can reach it
  • MCP requests need a user API key created in the admin panel; keys inherit that user's access control
  • Payload runs inside Next.js; there is no standalone server binary

Last activity Sep 3, 2026. Fit: adaptable 3, operable 3.

Editions

Free · Free open source

  • Clonegit clone https://github.com/payloadcms/payload
  • Installpnpx create-payload-app@latest
  • DeployDeploy
  • DeployDeploy

Payload Cloud · Free closed source

For agents: JSON · Markdown

Adaptable: what is yours to change

Make it yours

Light edit9 things to edit

Start from the website template: .env sets database, secret, server URL, cron and preview secrets. Everything you actually adapt is TypeScript: collections and globals in payload.config.ts and src/collections, plus the mcpPlugin block that decides which collections an agent may touch. Expect to edit schema files, not just config.

Env vars
DATABASE_URL PAYLOAD_SECRET NEXT_PUBLIC_SERVER_URL CRON_SECRET PREVIEW_SECRET
Config files
payload.config.ts src/collections/*.ts src/globals/*.ts .env
Prompt files
none
Accounts you need
database host (MongoDB Atlas, Neon, or self-run)Vercel or Cloudflare (optional one-click)

Source

Operable: what an agent can drive

Interface

OfficialMCP serverpublished by the builderremote

How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.

Docs
payloadcms.com/docs/plugins/mcp

Reach

Partial coverage. 4 of 10 jobs reachable through the stated interface.

JobThrough the interfaceEvidence
Create, read, update, and delete documents in any collectionReachableplugin docs: find, create, update, delete tools generated per enabled collection
Read and update globals such as site settingsReachableplugin docs: find and update tools per enabled global
Run custom business logicReachableplugin docs: developer-defined custom tools
Manage users and authReachableusers are a collection; enable it in mcpPlugin collections config
Upload media filesUndetermineduploads are collections but binary upload over MCP is not documented
Save drafts and publish versionsUndeterminedversions and drafts are a core feature; draft status through MCP update not documented
Localize content per localeUndeterminedlocalization is core; locale parameter on MCP tools not documented
Define collections, fields, and blocksNot reachablecontent model is code in payload.config.ts
Configure access controlNot reachableaccess functions are code in collection configs
Live preview and on-demand revalidationNot reachablefront-end integration, not an MCP operation

Code stack

Languages
TypeScript
Frameworks
Next.jsReactLexical
Package manager
pnpm
Database
MongoDBPostgreSQLSQLiteCloudflare D1
Hosting target
Vercel one-clickCloudflare Workers one-clickDockerany Node host
Built
Human-written (recorded, never ranked)

Skills

Payload ships a payload skill with a large reference set so an agent can build Payload apps; the repo separately carries contributor-only skills under .claude/skills/.

Kind
bundled
Paths
packages/payload/skills/payload/SKILL.md
Install
/plugin marketplace add payloadcms/payload

Evidence and confidence

FieldWhere it was seenConfidence
formFactorREADME: installs in your existing /app folder; admin UI and API served by Next.js80%
executionModelno model at runtime; OPENAI_KEY in root .env.example is for monorepo tests90%
operabilitypackages/plugin-mcp in the payloadcms/payload monorepo, documented at payloadcms.com/docs/plugins/mcp95%
efforttemplates/website/.env.example names five vars; collections are TypeScript per docs85%
editionsREADME: completely free and open-source, one-click Vercel and Cloudflare; Payload Cloud is the paid hosted offer80%
activepushedAt 2026-09-03–
provenancecompany-built since 2021 with large contributor base; no vibe-coded claim85%
reach75%

Open questions

  • Payload Cloud pricing was not fetched
  • Does the MCP plugin handle file uploads, draft status, and locale parameters? Reach items left null
  • Is plugin-mcp released as stable on npm, or only canary?

Sources