{"_id":"@cura-digital/payload-mcp","_rev":"4-b65d2c40cbae5538dffe2f34a81a0867","name":"@cura-digital/payload-mcp","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@cura-digital/payload-mcp","version":"0.1.0","keywords":["payload-cms","mcp","ai","code-generation","scaffolding","validation"],"author":{"name":"cura-digital"},"license":"MIT","_id":"@cura-digital/payload-mcp@0.1.0","maintainers":[{"name":"speshled","email":"chase@curadigital.io"}],"homepage":"https://github.com/cura-digital/payload-mcp#readme","bugs":{"url":"https://github.com/cura-digital/payload-mcp/issues"},"bin":{"payload-mcp":"dist/index.js"},"dist":{"shasum":"e58cc2da1f6cc65e292242e41f0109f7281e41d1","tarball":"https://registry.npmjs.org/@cura-digital/payload-mcp/-/payload-mcp-0.1.0.tgz","fileCount":132,"integrity":"sha512-GtsK1XAmSNJZOHa1hLcsIhuM6Yd5/LhiOwdeLKqOtKBk2ysPAUzdgUiz2fOXaKNKqL6LWiTpf+9STvZ7m5F33Q==","signatures":[{"sig":"MEYCIQDYyHskJZzBfHq07gyvN38iUpWcDtAVTP9PN+U7C35N9AIhAPvGC4hVo4h0OH70Sjb9uL1dad4CvCJMBa300c8kWPHB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":688967},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"76c3863381a2e830f16ba9d0db4bbd4bd6d52f23","scripts":{"dev":"NODE_NO_WARNINGS=1 node --loader ts-node/esm index.ts","build":"rm -rf dist && tsc","start":"NODE_NO_WARNINGS=1 node --loader ts-node/esm index.ts","bun:dev":"bun run index.ts","bun:start":"bun run index.ts","postbuild":"node -e \"const fs=require('fs');const f='dist/index.js';fs.writeFileSync(f,'#!/usr/bin/env node\\n'+fs.readFileSync(f));fs.chmodSync(f,'755');\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"speshled","actor":{"name":"speshled","type":"user","email":"chase@curadigital.io"},"email":"chase@curadigital.io"},"repository":{"url":"git+https://github.com/cura-digital/payload-mcp.git","type":"git"},"_npmVersion":"11.4.2","description":"A powerful Model Context Protocol (MCP) server for Payload CMS that enables AI assistants to help you develop, manage, and extend your Payload CMS projects","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.24.2","cors":"^2.8.5","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^4.4.4","@types/cors":"^2.8.17","@types/node":"^22.13.13","@types/express":"^5.0.1","prettier-eslint":"^16.1.2","@typescript-eslint/parser":"^5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/payload-mcp_0.1.0_1750922592663_0.8208539123039398","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@cura-digital/payload-mcp","version":"0.1.1","keywords":["payload-cms","mcp","ai","code-generation","scaffolding","validation"],"author":{"name":"cura-digital"},"license":"MIT","_id":"@cura-digital/payload-mcp@0.1.1","maintainers":[{"name":"speshled","email":"chase@curadigital.io"}],"homepage":"https://github.com/cura-digital/payload-mcp#readme","bugs":{"url":"https://github.com/cura-digital/payload-mcp/issues"},"bin":{"payload-mcp":"dist/index.js"},"dist":{"shasum":"c09ba2e026758cf6cd76f33bbcf6c5fca5680446","tarball":"https://registry.npmjs.org/@cura-digital/payload-mcp/-/payload-mcp-0.1.1.tgz","fileCount":132,"integrity":"sha512-2jKDx1tKOI/zjgIqqsyxiVJ/WC0ve4BYN0Th/cdfDidqWmqF1HcMKTWp3DH8OSWsJKRKYaf14SOaHxxY1ZNFKQ==","signatures":[{"sig":"MEUCIQDseIN8o6jiU80uKfZiVgQAMlsBnks7EVC37BqJu2Y0XwIgGIWkKuMUAIYkm6VSdt0Hnp93JCiaGFwaebqIwWwLaNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":688974},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"3e295d8047111f907d73b88ca87df88761567c06","scripts":{"dev":"NODE_NO_WARNINGS=1 node --loader ts-node/esm index.ts","build":"rm -rf dist && tsc","start":"NODE_NO_WARNINGS=1 node --loader ts-node/esm index.ts","bun:dev":"bun run index.ts","bun:start":"bun run index.ts","postbuild":"node -e \"const fs=require('fs');const f='dist/index.js';fs.writeFileSync(f,'#!/usr/bin/env node\\n'+fs.readFileSync(f));fs.chmodSync(f,'755');\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"speshled","actor":{"name":"speshled","type":"user","email":"chase@curadigital.io"},"email":"chase@curadigital.io"},"repository":{"url":"git+https://github.com/cura-digital/payload-mcp.git","type":"git"},"_npmVersion":"11.4.2","description":"A powerful Model Context Protocol (MCP) server for Payload CMS that enables AI assistants to help you develop, manage, and extend your Payload CMS projects","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.24.2","cors":"^2.8.5","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^4.4.4","@types/cors":"^2.8.17","@types/node":"^22.13.13","@types/express":"^5.0.1","prettier-eslint":"^16.1.2","@typescript-eslint/parser":"^5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/payload-mcp_0.1.1_1750923798157_0.9231437343658577","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cura-digital/payload-mcp","version":"0.1.2","keywords":["payload-cms","mcp","ai","code-generation","scaffolding","validation"],"author":{"name":"cura-digital"},"license":"MIT","_id":"@cura-digital/payload-mcp@0.1.2","maintainers":[{"name":"speshled","email":"chase@curadigital.io"}],"homepage":"https://github.com/cura-digital/payload-mcp#readme","bugs":{"url":"https://github.com/cura-digital/payload-mcp/issues"},"bin":{"payload-mcp":"dist/index.js"},"dist":{"shasum":"9e429ef2364a5d63a060daa2f9c63e51edc5d9a4","tarball":"https://registry.npmjs.org/@cura-digital/payload-mcp/-/payload-mcp-0.1.2.tgz","fileCount":132,"integrity":"sha512-rjz5vDxn0eb2rVR7Y4VnnSWJQ0ICEV16vHlJwwmw1uMNzEvcihuykXktgopGr4EEPh6hL0fngC0/RZwNFRd+zw==","signatures":[{"sig":"MEUCIQDRYNisi7AC+fAZX7FYCBvGsx++srQmTPvk+3Igw/um8wIgd0Prg+cBQPtOHZO1zQQ95b/qhnWAm7+3QxD9sIxixko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":689031},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"3e295d8047111f907d73b88ca87df88761567c06","scripts":{"dev":"NODE_NO_WARNINGS=1 node --loader ts-node/esm index.ts","build":"rm -rf dist && tsc","start":"NODE_NO_WARNINGS=1 node --loader ts-node/esm index.ts","bun:dev":"bun run index.ts","bun:start":"bun run index.ts","postbuild":"node -e \"const fs=require('fs');const f='dist/index.js';const content=fs.readFileSync(f,'utf8');if(!content.startsWith('#!/usr/bin/env node')){fs.writeFileSync(f,'#!/usr/bin/env node\\n'+content)};fs.chmodSync(f,'755');\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"speshled","actor":{"name":"speshled","type":"user","email":"chase@curadigital.io"},"email":"chase@curadigital.io"},"repository":{"url":"git+https://github.com/cura-digital/payload-mcp.git","type":"git"},"_npmVersion":"11.4.2","description":"A powerful Model Context Protocol (MCP) server for Payload CMS that enables AI assistants to help you develop, manage, and extend your Payload CMS projects","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^3.24.2","cors":"^2.8.5","express":"^4.21.2","@modelcontextprotocol/sdk":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","ts-node":"^10.9.2","prettier":"^3.1.0","typescript":"^4.4.4","@types/cors":"^2.8.17","@types/node":"^22.13.13","@types/express":"^5.0.1","prettier-eslint":"^16.1.2","@typescript-eslint/parser":"^5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/payload-mcp_0.1.2_1750924068646_0.3639880758988512","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@cura-digital/payload-mcp","version":"0.1.3","description":"A powerful Model Context Protocol (MCP) server for Payload CMS that enables AI assistants to help you develop, manage, and extend your Payload CMS projects","main":"dist/index.js","type":"module","bin":{"payload-mcp":"dist/index.js"},"keywords":["payload-cms","mcp","ai","code-generation","scaffolding","validation"],"author":{"name":"cura-digital"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/cura-digital/payload-mcp.git"},"bugs":{"url":"https://github.com/cura-digital/payload-mcp/issues"},"homepage":"https://github.com/cura-digital/payload-mcp#readme","dependencies":{"@modelcontextprotocol/sdk":"^1.7.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.13","@typescript-eslint/parser":"^5.0.1","eslint":"^8.52.0","prettier":"^3.1.0","prettier-eslint":"^16.1.2","ts-node":"^10.9.2","typescript":"^4.4.4"},"scripts":{"start":"NODE_NO_WARNINGS=1 node --loader ts-node/esm index.ts","dev":"NODE_NO_WARNINGS=1 node --loader ts-node/esm index.ts","bun:start":"bun run index.ts","bun:dev":"bun run index.ts","build":"rm -rf dist && tsc","postbuild":"node -e \"const fs=require('fs');const f='dist/index.js';const content=fs.readFileSync(f,'utf8');if(!content.startsWith('#!/usr/bin/env node')){fs.writeFileSync(f,'#!/usr/bin/env node\\n'+content)};fs.chmodSync(f,'755');\"","prepublishOnly":"npm run build"},"_id":"@cura-digital/payload-mcp@0.1.3","gitHead":"3e295d8047111f907d73b88ca87df88761567c06","types":"./dist/index.d.ts","_nodeVersion":"22.16.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-Dk1bVLRIBUQvhWFfniGFteyif+wocexmifUUeN4R025roT0lrcAMNT4+3hvqUFnUzXx9pbQ1t4qVqdwD2rnO3w==","shasum":"06e9b91576914f3da4177f6369158d174e915d56","tarball":"https://registry.npmjs.org/@cura-digital/payload-mcp/-/payload-mcp-0.1.3.tgz","fileCount":132,"unpackedSize":688917,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBFqvfH6zzvm6XST94FU72CmJ7JsHItC0dkuVc5elOUSAiBK91e+9cm0gZVMqRrahmwAtd9vq/oz60JjwwPlaoQwNA=="}]},"_npmUser":{"name":"speshled","email":"chase@curadigital.io","actor":{"name":"speshled","email":"chase@curadigital.io","type":"user"}},"directories":{},"maintainers":[{"name":"speshled","email":"chase@curadigital.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/payload-mcp_0.1.3_1750924419639_0.7870791135450996"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-26T07:23:12.584Z","modified":"2025-06-26T07:53:40.042Z","0.1.0":"2025-06-26T07:23:12.822Z","0.1.1":"2025-06-26T07:43:18.411Z","0.1.2":"2025-06-26T07:47:48.864Z","0.1.3":"2025-06-26T07:53:39.806Z"},"bugs":{"url":"https://github.com/cura-digital/payload-mcp/issues"},"author":{"name":"cura-digital"},"license":"MIT","homepage":"https://github.com/cura-digital/payload-mcp#readme","keywords":["payload-cms","mcp","ai","code-generation","scaffolding","validation"],"repository":{"type":"git","url":"git+https://github.com/cura-digital/payload-mcp.git"},"description":"A powerful Model Context Protocol (MCP) server for Payload CMS that enables AI assistants to help you develop, manage, and extend your Payload CMS projects","maintainers":[{"name":"speshled","email":"chase@curadigital.io"}],"readme":"# Payload MCP\r\n[![npm version](https://badge.fury.io/js/@cura-digital%2Fpayload-mcp.svg)](https://badge.fury.io/js/@cura-digital%2Fpayload-mcp)\r\n\r\nA powerful Model Context Protocol (MCP) server for Payload CMS that enables AI assistants to help you develop, manage, and extend your Payload CMS projects.\r\n\r\n## Overview\r\n\r\nPayload MCP (Model Context Protocol) is a specialized server that connects AI assistants to your Payload CMS development workflow. It provides a set of tools for generating code, validating components, scaffolding projects, and performing specialized queries - all accessible to AI agents through the standardized Model Context Protocol.\r\n\r\nThis project implements an MCP server that can be run locally to provide AI assistants with capabilities specifically tailored for Payload CMS development, making it easier to:\r\n\r\n- Generate boilerplate code for collections, fields, access control, and more\r\n- Validate your Payload CMS components\r\n- Scaffold new Payload CMS projects\r\n- Query and analyze your existing codebase\r\n\r\n## Features\r\n\r\n- **Code Generation**: Create collections, fields, config files, access control rules, hooks, endpoints, plugins, blocks, migrations, and components with the right structure and best practices\r\n- **Validation**: Validate your Payload CMS components to ensure they follow best practices and will work correctly\r\n- **Scaffolding**: Set up new Payload CMS projects with the right file structure and dependencies\r\n- **Specialized Queries**: Get recommendations and insights for your Payload CMS codebase\r\n- **MCP Compliant**: Works with any AI assistant that supports the Model Context Protocol\r\n- **Zero Configuration**: No setup required - works out of the box with npx\r\n- **Stdio Transport**: Uses standard input/output for efficient MCP communication\r\n- **TypeScript & Node.js/Bun**: Full TypeScript support with both Node.js and Bun compatibility\r\n\r\n## Getting Started\r\n\r\n### Prerequisites\r\n\r\n- Node.js (v16 or higher)\r\n- npm or Bun (recommended)\r\n\r\n### Installation & Setup\r\n\r\n**No installation required!** The package runs directly via npx.\r\n\r\n1. **Configure your MCP client** (e.g., Cursor) by adding this to your `mcp.json`:\r\n   ```json\r\n   {\r\n     \"mcpServers\": {\r\n       \"@cura-digital/payload-mcp\": {\r\n         \"command\": \"npx\",\r\n         \"args\": [\"-y\", \"@cura-digital/payload-mcp\"]\r\n       }\r\n     }\r\n   }\r\n   ```\r\n\r\n2. **That's it!** The server will start automatically when your MCP client needs it.\r\n\r\n### Alternative: Manual Start\r\n\r\nYou can also run the server manually for testing:\r\n\r\n```bash\r\n# Using npx (recommended)\r\nnpx -y @cura-digital/payload-mcp\r\n\r\n# Using bun\r\nbun x @cura-digital/payload-mcp\r\n\r\n# Or install globally first\r\nnpm install -g @cura-digital/payload-mcp\r\n@cura-digital/payload-mcp\r\n```\r\n\r\n## Tool Reference\r\n\r\nPayload MCP provides four categories of tools:\r\n\r\n### Generator Tools\r\n\r\nGenerate boilerplate code for Payload CMS components:\r\n\r\n| Tool | Description |\r\n|------|-------------|\r\n| `generate_template` | Generate any Payload CMS component (collections, fields, configs, access control, hooks, endpoints, plugins, blocks, migrations, components) |\r\n\r\n### Query Tools\r\n\r\nTools for querying and analyzing your Payload CMS codebase:\r\n\r\n| Tool | Description |\r\n|------|-------------|\r\n| `process_query` | Validate Payload queries and get suggestions based on your collections |\r\n\r\n### Scaffold Tools\r\n\r\nTools for scaffolding new Payload CMS projects:\r\n\r\n| Tool | Description |\r\n|------|-------------|\r\n| `scaffold_project` | Create a complete Payload CMS project with recommended structure, authentication, and deployment configurations |\r\n\r\n### Validator Tools\r\n\r\nTools for validating your Payload CMS components:\r\n\r\n| Tool | Description |\r\n|------|-------------|\r\n| `validate_code` | Validate any Payload CMS component code (collections, fields, globals, configs) with syntax, best practices, security, and performance checks |\r\n\r\n## Example Usage\r\n\r\n### Generating a Collection\r\n\r\n```typescript\r\n// Example: Generate a simple blog post collection\r\nconst options = {\r\n  name: \"Post\",\r\n  slug: \"posts\",\r\n  fields: [\r\n    { name: \"title\", type: \"text\", required: true },\r\n    { name: \"content\", type: \"richText\" },\r\n    { name: \"status\", type: \"select\", options: [\"draft\", \"published\"] }\r\n  ],\r\n  timestamps: true,\r\n  auth: false\r\n};\r\n\r\n// AI assistants use the generate_template tool with type \"collection\" and these options\r\n// Result: Complete TypeScript collection configuration ready to use\r\n```\r\n\r\n### Validating a Query\r\n\r\n```typescript\r\n// Example: Validate a query for the posts collection\r\nconst query = {\r\n  where: {\r\n    status: {\r\n      equals: \"published\"\r\n    },\r\n    createdAt: {\r\n      greater_than: \"2023-01-01\"\r\n    }\r\n  },\r\n  sort: \"-createdAt\",\r\n  limit: 10\r\n};\r\n\r\n// AI assistants use the process_query tool with this query\r\n// Result: Validation status, suggestions, and formatted query\r\n```\r\n\r\n### Scaffolding a New Project\r\n\r\n```typescript\r\n// Example: Create a new Payload CMS project for a blog\r\nconst options = {\r\n  name: \"My Blog\",\r\n  collections: [\"posts\", \"categories\", \"authors\"],\r\n  authentication: true,\r\n  admin: {\r\n    customization: true\r\n  },\r\n  database: \"mongodb\"\r\n};\r\n\r\n// AI assistants use the scaffold_project tool with these options\r\n// Result: Complete project structure with files, dependencies, and setup instructions\r\n```\r\n\r\n## How It Works\r\n\r\nPayload MCP uses the Model Context Protocol (MCP) to communicate with AI assistants:\r\n\r\n1. **Stdio Transport**: Uses standard input/output for efficient communication\r\n2. **Tool Registration**: Automatically registers all available tools when started\r\n3. **Type Safety**: Full TypeScript support with Zod schema validation\r\n4. **Zero Config**: Works out of the box with no configuration needed\r\n\r\n## Example Workflow\r\n\r\nA typical workflow using Payload MCP:\r\n\r\n1. **Configure MCP Client**:\r\n   Add the configuration to your MCP client (like Cursor)\r\n\r\n2. **Ask AI Assistant**:\r\n   \"Generate a blog collection with title, content, and publish date fields\"\r\n\r\n3. **Generate Code**:\r\n   AI assistant uses `generate_template` tool to create the collection\r\n\r\n4. **Scaffold Project**:\r\n   \"Create a complete blog project with authentication\"\r\n\r\n5. **Validate & Optimize**:\r\n   AI assistant uses `validate_code` to ensure best practices\r\n\r\n6. **Continue Development**:\r\n   Keep iterating with AI assistance for hooks, endpoints, and components\r\n\r\n## Tips and Best Practices\r\n\r\n- **Start with Scaffolding**: Use `scaffold_project` to create well-structured projects\r\n- **Validate Early**: Use `validate_code` to catch issues during development\r\n- **Combine Tools**: Generate components with `generate_template`, then validate and refine\r\n- **Review Generated Code**: Always review AI-generated code before integration\r\n- **Use Descriptive Prompts**: Be specific about requirements for better code generation\r\n- **Version Control**: Use Git to track changes and iterations\r\n\r\n## Supported MCP Clients\r\n\r\n- **Cursor**: Add configuration to `mcp.json`\r\n- **Claude Desktop**: Compatible with MCP protocol\r\n- **Any MCP Client**: Works with any tool supporting MCP stdio transport\r\n\r\n## Development\r\n\r\n```bash\r\n# Clone and setup\r\ngit clone https://github.com/cura-digital/payload-mcp.git\r\ncd payload-mcp\r\nnpm install\r\n\r\n# Start development server\r\nnpm run dev\r\n# or with bun\r\nbun run bun:dev\r\n\r\n# Build for production\r\nnpm run build\r\n```\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please feel free to submit a Pull Request.\r\n\r\n## Support\r\n\r\nIf you encounter any issues or have questions, please file an issue on the GitHub repository.\r\n","readmeFilename":"README.md"}