server
Connect Cursor, Claude Code, or any MCP-compatible tool directly to your ElmapiCMS instance. Manage collections, content, and assets through natural language.
Installation
npx @elmapicms/mcp-serverAsk AI about server
Powered by Claude Β· Grounded in docs
I know everything about server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
ElmapiCMS MCP Server
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.
Installation
npm install -g @elmapicms/mcp-server
Or install locally:
npm install @elmapicms/mcp-server
Configuration
The server requires three environment variables:
| Variable | Description |
|---|---|
ELMAPI_API_URL | Base API URL (e.g., https://your-domain.com/api) |
ELMAPI_API_KEY | API token with the required abilities |
ELMAPI_PROJECT_ID | Project UUID |
Usage with Cursor
Add this to your Cursor MCP settings (~/.cursor/mcp.json):
{
"mcpServers": {
"elmapicms": {
"command": "npx",
"args": ["@elmapicms/mcp-server"],
"env": {
"ELMAPI_API_URL": "https://your-domain.com/api",
"ELMAPI_API_KEY": "your-api-key",
"ELMAPI_PROJECT_ID": "your-project-uuid"
}
}
}
}
Usage with Claude Code
Add the MCP server using the Claude Code CLI:
claude mcp add elmapicms \
-e ELMAPI_API_URL=https://your-domain.com/api \
-e ELMAPI_API_KEY=your-api-key \
-e ELMAPI_PROJECT_ID=your-project-uuid \
-- npx @elmapicms/mcp-server
Local Development (Laravel Herd / .test domains)
If 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:
"env": {
"ELMAPI_API_URL": "https://myproject.test/api",
"ELMAPI_API_KEY": "your-api-key",
"ELMAPI_PROJECT_ID": "your-project-uuid",
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
Note: Only use
NODE_TLS_REJECT_UNAUTHORIZED=0for local development. Do not use this in production.
Available Tools (17)
Project
get_projectβ Get project information
Collections
list_collectionsβ List all collectionsget_collectionβ Get a collection with its full field schemacreate_collectionβ Create a collection (with optional batch field creation)update_collectionβ Update a collection's name and slugreorder_collectionsβ Reorder collections
Fields
create_fieldβ Add a field to a collectionupdate_fieldβ Update a fieldreorder_fieldsβ Reorder fields within a collection
Content Entries
list_entriesβ List entries with advanced filtering (wherewith 13 operators, OR groups, relation filtering), sorting, pagination, count, and firstget_entryβ Get a single content entrycreate_entryβ Create a content entryupdate_entryβ Update a content entrydelete_entryβ Soft-delete a content entry (moves to trash)
Assets
list_assetsβ List assets with paginationget_assetβ Get an asset by UUID or filenameupload_assetβ Upload a file as an assetdelete_assetβ Delete an asset
Resources
The server exposes three reference resources that AI agents can read for context:
- Field Types Reference (
elmapicms://field-types) β Complete reference of all 16 field types, their options, validations, and common patterns. - Collections Guide (
elmapicms://collections-guide) β Guide for working with collections, singletons, reserved slugs, and best practices. - Query Reference (
elmapicms://query-reference) β Full documentation for content queries:wherefilters with 13 operators, OR groups, relation filtering, sorting, pagination, and examples.
Token Abilities
Your API token needs the appropriate abilities for the tools you want to use:
| Ability | Tools |
|---|---|
read | list/get collections, entries, assets |
create | create entries, upload assets |
update | update entries |
delete | delete entries, delete assets |
admin | create/update/reorder collections and fields |
You can generate API tokens from your project's Settings > API Access page.
Using Multiple Projects
Each MCP server instance connects to a single project. To work with multiple projects, add separate entries in your MCP config:
{
"mcpServers": {
"elmapicms-blog": {
"command": "npx",
"args": ["@elmapicms/mcp-server"],
"env": {
"ELMAPI_API_URL": "https://your-domain.com/api",
"ELMAPI_API_KEY": "blog-project-api-key",
"ELMAPI_PROJECT_ID": "blog-project-uuid"
}
},
"elmapicms-store": {
"command": "npx",
"args": ["@elmapicms/mcp-server"],
"env": {
"ELMAPI_API_URL": "https://your-domain.com/api",
"ELMAPI_API_KEY": "store-project-api-key",
"ELMAPI_PROJECT_ID": "store-project-uuid"
}
}
}
}
License
MIT
