loading…
Search for a command to run...
loading…
An MCP server that connects AI agents like Cursor and Claude Code to your ElmapiCMS instance. Manage collections, fields, content entries, and assets programmat
An MCP 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.
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.
npm install -g @elmapicms/mcp-server
Or install locally:
npm install @elmapicms/mcp-server
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 |
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"
}
}
}
}
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
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.
get_project — Get project informationlist_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 collectionscreate_field — Add a field to a collectionupdate_field — Update a fieldreorder_fields — Reorder fields within a collectionlist_entries — List entries with advanced filtering (where with 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)list_assets — List assets with paginationget_asset — Get an asset by UUID or filenameupload_asset — Upload a file as an assetdelete_asset — Delete an assetThe server exposes three reference resources that AI agents can read for context:
elmapicms://field-types) — Complete reference of all 16 field types, their options, validations, and common patterns.elmapicms://collections-guide) — Guide for working with collections, singletons, reserved slugs, and best practices.elmapicms://query-reference) — Full documentation for content queries: where filters with 13 operators, OR groups, relation filtering, sorting, pagination, and examples.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.
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"
}
}
}
}
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"elmapicms-mcp-server": {
"command": "npx",
"args": []
}
}
}