
ElmapiCMS MCP Server
โ 7from elmapicms
Connect Cursor, Claude Code, or any MCP-compatible tool directly to your ElmapiCMS instance. Manage collections, content, and assets through natural language.
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.
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"
}
}
}
}npm install -g @elmapicms/mcp-serverBefore it works, you'll need: ELMAPI_API_URLELMAPI_API_KEYELMAPI_PROJECT_ID
Installation
npm install -g @elmapicms/mcp-serverOr install locally:
npm install @elmapicms/mcp-serverConfiguration
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-serverNo common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under MITโ you can use, modify, and redistribute it under that license's terms.
License
MIT