elmapicms-mcp-server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ELMAPI_API_KEY | Yes | API token with the required abilities | |
| ELMAPI_API_URL | Yes | Base API URL (e.g., https://your-domain.com/api) | |
| ELMAPI_PROJECT_ID | Yes | Project UUID | |
| NODE_TLS_REJECT_UNAUTHORIZED | No | Only use '0' for local development with self-signed SSL certificates (e.g., via Laravel Herd). Do not use this in production. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_projectB | Get information about the current ElmapiCMS project |
| list_collectionsA | List all collections in the project |
| get_collectionA | Get a single collection with its full field schema by slug |
| create_collectionA | Create a new collection. Optionally include field definitions to create the collection with its full schema in a single request. |
| update_collectionC | Update the name and slug of an existing collection |
| reorder_collectionsB | Update the display order of collections |
| create_fieldB | Add a new field to a collection |
| update_fieldC | Update an existing field on a collection |
| reorder_fieldsB | Update the display order of fields within a collection |
| list_entriesC | List content entries for a collection with advanced filtering, sorting, and pagination. Use the 'where' parameter for powerful queries. Read the 'query-reference' resource for full documentation on operators and examples. |
| get_entryB | Get a single content entry by UUID |
| create_entryB | Create a new content entry in a collection |
| update_entryC | Update an existing content entry |
| delete_entryA | Soft-delete a content entry (moves to trash). Can be restored from the admin panel. |
| list_assetsC | List assets in the project with optional pagination |
| get_assetA | Get an asset by its UUID or by filename |
| upload_assetB | Upload a local file as an asset. Provide the absolute file path. |
| delete_assetB | Delete an asset by UUID |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| field-types | Complete reference of all 16 ElmapiCMS field types, their options, validations, and common patterns. Read this before creating fields. |
| collections-guide | Guide for working with ElmapiCMS collections — properties, singletons, reserved slugs, and best practices. |
| query-reference | Complete reference for querying content entries — where filters, operators, OR groups, relation filtering, sorting, pagination, and examples. Read this before building complex queries. |
TDQS
Scored across 18 tools
All 18 tools target distinct resources and actions (e.g., create_collection vs create_entry vs create_field), with no overlapping purposes. Each tool has a clear and separate role.
All tool names follow a consistent verb_noun pattern in lowercase snake_case (e.g., create_collection, list_entries, upload_asset), with no deviations or style mixing.
With 18 tools, the count is slightly above the ideal 3-15 range but still reasonable for a full-featured CMS server. Each tool serves a specific function without bloat.
CRUD coverage is strong for entries and assets, but notable gaps exist: no delete_collection or delete_field tools, and no update_asset. Reorder operations are included but are less critical.