{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "payloadcms--payload",
    "name": "Payload CMS",
    "tagline": "Next.js-native headless CMS with an official MCP plugin that exposes every collection to an agent.",
    "shortTagline": "Next.js-native headless CMS",
    "description": "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.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "content-publishing",
    "alternativeTo": [
      "Contentful",
      "Sanity"
    ],
    "shape": "business-app",
    "formFactor": "web-app",
    "executionModel": "deterministic",
    "provenance": "human-written",
    "codeStack": {
      "languages": [
        "TypeScript"
      ],
      "frameworks": [
        "Next.js",
        "React",
        "Lexical"
      ],
      "packageManager": "pnpm",
      "database": [
        "MongoDB",
        "PostgreSQL",
        "SQLite",
        "Cloudflare D1"
      ],
      "hostingTarget": [
        "Vercel one-click",
        "Cloudflare Workers one-click",
        "Docker",
        "any Node host"
      ]
    },
    "modelStack": null,
    "repos": [
      {
        "url": "https://github.com/payloadcms/payload",
        "owner": "payloadcms",
        "name": "payload",
        "license": "MIT",
        "stars": 44549,
        "lastCommit": "2026-09-03"
      }
    ],
    "interface": {
      "kind": "mcp",
      "url": "https://payloadcms.com/docs/plugins/mcp",
      "official": true,
      "hosted": "remote"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Create, read, update, and delete documents in any collection",
        "reachable": true,
        "evidence": "plugin docs: find, create, update, delete tools generated per enabled collection"
      },
      {
        "job": "Read and update globals such as site settings",
        "reachable": true,
        "evidence": "plugin docs: find and update tools per enabled global"
      },
      {
        "job": "Run custom business logic",
        "reachable": true,
        "evidence": "plugin docs: developer-defined custom tools"
      },
      {
        "job": "Manage users and auth",
        "reachable": true,
        "evidence": "users are a collection; enable it in mcpPlugin collections config"
      },
      {
        "job": "Upload media files",
        "reachable": null,
        "evidence": "uploads are collections but binary upload over MCP is not documented"
      },
      {
        "job": "Save drafts and publish versions",
        "reachable": null,
        "evidence": "versions and drafts are a core feature; draft status through MCP update not documented"
      },
      {
        "job": "Localize content per locale",
        "reachable": null,
        "evidence": "localization is core; locale parameter on MCP tools not documented"
      },
      {
        "job": "Define collections, fields, and blocks",
        "reachable": false,
        "evidence": "content model is code in payload.config.ts"
      },
      {
        "job": "Configure access control",
        "reachable": false,
        "evidence": "access functions are code in collection configs"
      },
      {
        "job": "Live preview and on-demand revalidation",
        "reachable": false,
        "evidence": "front-end integration, not an MCP operation"
      }
    ],
    "editions": [
      {
        "name": "Free",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/payloadcms/payload"
          },
          {
            "kind": "installable",
            "url": "https://payloadcms.com/docs/getting-started/installation",
            "command": "pnpx create-payload-app@latest"
          },
          {
            "kind": "one-click",
            "url": "https://dub.sh/payload-vercel"
          },
          {
            "kind": "one-click",
            "url": "https://dub.sh/payload-cloudflare"
          }
        ]
      },
      {
        "name": "Payload Cloud",
        "price": null,
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://payloadcms.com/"
          }
        ]
      }
    ],
    "skills": {
      "kind": "bundled",
      "paths": [
        "packages/payload/skills/payload/SKILL.md"
      ],
      "install": "/plugin marketplace add payloadcms/payload",
      "note": "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/."
    },
    "customization": {
      "summary": "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.",
      "envVars": [
        "DATABASE_URL",
        "PAYLOAD_SECRET",
        "NEXT_PUBLIC_SERVER_URL",
        "CRON_SECRET",
        "PREVIEW_SECRET"
      ],
      "configFiles": [
        "payload.config.ts",
        "src/collections/*.ts",
        "src/globals/*.ts",
        ".env"
      ],
      "promptFiles": [],
      "effort": "light-edit",
      "editCount": 9
    },
    "useWhen": [
      "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"
    ],
    "accounts": [
      "database host (MongoDB Atlas, Neon, or self-run)",
      "Vercel or Cloudflare (optional one-click)"
    ],
    "active": true,
    "lastActivity": "2026-09-03",
    "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"
    ],
    "fit": {
      "adaptable": 3,
      "operable": 3
    },
    "evidence": {
      "formFactor": "README: installs in your existing /app folder; admin UI and API served by Next.js",
      "executionModel": "no model at runtime; OPENAI_KEY in root .env.example is for monorepo tests",
      "operability": "packages/plugin-mcp in the payloadcms/payload monorepo, documented at payloadcms.com/docs/plugins/mcp",
      "effort": "templates/website/.env.example names five vars; collections are TypeScript per docs",
      "editions": "README: completely free and open-source, one-click Vercel and Cloudflare; Payload Cloud is the paid hosted offer",
      "active": "pushedAt 2026-09-03",
      "provenance": "company-built since 2021 with large contributor base; no vibe-coded claim"
    },
    "confidence": {
      "formFactor": 0.8,
      "executionModel": 0.9,
      "operability": 0.95,
      "effort": 0.85,
      "reach": 0.75,
      "editions": 0.8,
      "provenance": 0.85
    },
    "openQuestions": [
      "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": [
      {
        "url": "https://github.com/payloadcms/payload",
        "foundBy": "sourcing:content-publishing:curated"
      },
      {
        "url": "https://payloadcms.com/docs/plugins/mcp",
        "foundBy": "analysis:content-publishing"
      },
      {
        "url": "https://github.com/payloadcms/payload/tree/main/templates/website",
        "foundBy": "analysis:content-publishing"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "MIT, owner-documented config and schema surface, and an official MCP plugin inside the monorepo covering CRUD on every collection. Strongest business-app in the batch.",
      "disputed": []
    },
    "url": "apps/payloadcms--payload.html",
    "coverage": "partial",
    "paid": false,
    "source": "research/verified/payloadcms--payload.json"
  }
}
