An MCP (Model Context Protocol) server that connects AI agents like Cursor and Claude Code to your ElmapiCMS instance. Manage collections, fields, content entries, and assets programmatically through natural language. Or install locally: The server requires three environment variables: Add this to your Cursor MCP settings (~/.cursor/mcp.json): Add the MCP server using the Claude Code CLI: If your
Add this skill
npx mdskills install elmapicms/elmapicms-mcp-serverComprehensive CMS integration with 17 tools, clear setup docs, and excellent filtering capabilities
1# ElmapiCMS MCP Server23An MCP (Model Context Protocol) server that connects AI agents like [Cursor](https://cursor.com) and [Claude Code](https://claude.com/product/claude-code) to your [ElmapiCMS](https://elmapicms.com) instance. Manage collections, fields, content entries, and assets programmatically through natural language.45## Installation67```bash8npm install -g @elmapicms/mcp-server9```1011Or install locally:1213```bash14npm install @elmapicms/mcp-server15```1617## Configuration1819The server requires three environment variables:2021| Variable | Description |22|---------------------|----------------------------------------------------|23| `ELMAPI_API_URL` | Base API URL (e.g., `https://your-domain.com/api`) |24| `ELMAPI_API_KEY` | API token with the required abilities |25| `ELMAPI_PROJECT_ID` | Project UUID |2627## Usage with Cursor2829Add this to your Cursor MCP settings (`~/.cursor/mcp.json`):3031```json32{33 "mcpServers": {34 "elmapicms": {35 "command": "npx",36 "args": ["@elmapicms/mcp-server"],37 "env": {38 "ELMAPI_API_URL": "https://your-domain.com/api",39 "ELMAPI_API_KEY": "your-api-key",40 "ELMAPI_PROJECT_ID": "your-project-uuid"41 }42 }43 }44}45```4647## Usage with Claude Code4849Add the MCP server using the Claude Code CLI:5051```bash52claude mcp add elmapicms \53 -e ELMAPI_API_URL=https://your-domain.com/api \54 -e ELMAPI_API_KEY=your-api-key \55 -e ELMAPI_PROJECT_ID=your-project-uuid \56 -- npx @elmapicms/mcp-server57```5859## Local Development (Laravel Herd / .test domains)6061If your ElmapiCMS instance runs on a `.test` domain with a self-signed SSL certificate (e.g., via Laravel Herd), add this to your env config:6263```json64"env": {65 "ELMAPI_API_URL": "https://myproject.test/api",66 "ELMAPI_API_KEY": "your-api-key",67 "ELMAPI_PROJECT_ID": "your-project-uuid",68 "NODE_TLS_REJECT_UNAUTHORIZED": "0"69}70```7172> **Note:** Only use `NODE_TLS_REJECT_UNAUTHORIZED=0` for local development. Do not use this in production.7374## Available Tools (17)7576### Project77- `get_project` — Get project information7879### Collections80- `list_collections` — List all collections81- `get_collection` — Get a collection with its full field schema82- `create_collection` — Create a collection (with optional batch field creation)83- `update_collection` — Update a collection's name and slug84- `reorder_collections` — Reorder collections8586### Fields87- `create_field` — Add a field to a collection88- `update_field` — Update a field89- `reorder_fields` — Reorder fields within a collection9091### Content Entries92- `list_entries` — List entries with advanced filtering (`where` with 13 operators, OR groups, relation filtering), sorting, pagination, count, and first93- `get_entry` — Get a single content entry94- `create_entry` — Create a content entry95- `update_entry` — Update a content entry96- `delete_entry` — Soft-delete a content entry (moves to trash)9798### Assets99- `list_assets` — List assets with pagination100- `get_asset` — Get an asset by UUID or filename101- `upload_asset` — Upload a file as an asset102- `delete_asset` — Delete an asset103104## Resources105106The server exposes three reference resources that AI agents can read for context:107108- **Field Types Reference** (`elmapicms://field-types`) — Complete reference of all 16 field types, their options, validations, and common patterns.109- **Collections Guide** (`elmapicms://collections-guide`) — Guide for working with collections, singletons, reserved slugs, and best practices.110- **Query Reference** (`elmapicms://query-reference`) — Full documentation for content queries: `where` filters with 13 operators, OR groups, relation filtering, sorting, pagination, and examples.111112## Token Abilities113114Your API token needs the appropriate abilities for the tools you want to use:115116| Ability | Tools |117|----------|-------------------------------------------------------------|118| `read` | list/get collections, entries, assets |119| `create` | create entries, upload assets |120| `update` | update entries |121| `delete` | delete entries, delete assets |122| `admin` | create/update/reorder collections and fields |123124You can generate API tokens from your project's **Settings > API Access** page.125126## Using Multiple Projects127128Each MCP server instance connects to a single project. To work with multiple projects, add separate entries in your MCP config:129130```json131{132 "mcpServers": {133 "elmapicms-blog": {134 "command": "npx",135 "args": ["@elmapicms/mcp-server"],136 "env": {137 "ELMAPI_API_URL": "https://your-domain.com/api",138 "ELMAPI_API_KEY": "blog-project-api-key",139 "ELMAPI_PROJECT_ID": "blog-project-uuid"140 }141 },142 "elmapicms-store": {143 "command": "npx",144 "args": ["@elmapicms/mcp-server"],145 "env": {146 "ELMAPI_API_URL": "https://your-domain.com/api",147 "ELMAPI_API_KEY": "store-project-api-key",148 "ELMAPI_PROJECT_ID": "store-project-uuid"149 }150 }151 }152}153```154155## License156157MIT158
Full transparency — inspect the skill content before installing.