elmapicms-mcp-server
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.
README
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.