@lapage/strapi-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STRAPI_URL | No | Strapi base URL, for example https://cms.example.com. | |
| STRAPI_TOKEN | No | Alias for STRAPI_API_TOKEN. | |
| STRAPI_API_URL | No | Alias for STRAPI_URL. | |
| STRAPI_API_TOKEN | No | Strapi API token for REST content and media operations. | |
| STRAPI_ADMIN_TOKEN | No | Token for content-manager/admin schema discovery. Falls back to STRAPI_API_TOKEN. |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| strapi_healthB | Check the configured Strapi server is reachable. |
| strapi_requestA | Make an arbitrary authenticated request to Strapi. Use this for custom endpoints and admin/content-manager endpoints. |
| strapi_list_content_typesB | List Strapi content types via the content-manager API. Requires STRAPI_ADMIN_TOKEN or an API token with access. |
| strapi_get_content_type_schemaB | Get a content type schema via the content-manager API. Requires STRAPI_ADMIN_TOKEN or an API token with access. |
| strapi_list_entriesB | List entries for a Strapi collection type using the REST API. |
| strapi_get_entryA | Get one Strapi entry by documentId in Strapi 5 or id in Strapi 4. |
| strapi_create_entryC | Create a Strapi entry using the REST API. |
| strapi_update_entryA | Update a Strapi entry by documentId in Strapi 5 or id in Strapi 4 using the REST API. |
| strapi_delete_entryA | Delete a Strapi entry by documentId in Strapi 5 or id in Strapi 4 using the REST API. |
| strapi_list_mediaB | List Strapi Media Library files using /api/upload/files. |
| strapi_get_mediaA | Get one Strapi Media Library file by file id. |
| strapi_upload_media_from_urlA | Create a Strapi Media Library item by downloading a URL and uploading it to /api/upload. |
| strapi_upload_media_from_fileA | Create a Strapi Media Library item by uploading a local file path from this machine. |
| strapi_update_media_infoA | Update Strapi Media Library file metadata such as name, alternativeText, or caption. |
| strapi_delete_mediaB | Delete a Strapi Media Library file by file id. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool targets a distinct resource and action: health check, generic request, content types (list/schema), entries CRUD, and media operations. The overlapping upload tools are differentiated by source (URL vs local file), and the generic strapi_request is clearly scoped to custom endpoints.
All tools follow a consistent snake_case pattern starting with 'strapi_', followed by a verb (list, get, create, update, delete, upload) and an object (content_types, entries, media). Even compound names like upload_media_from_url maintain a regular structure.
With 15 tools, the server covers health, content type introspection, entry lifecycle, and media management without being bloated. Each tool serves a clear purpose within the Strapi domain, and the count falls well within the ideal 3-15 range.
The server provides comprehensive CRUD for both entries and media, plus schema access and a generic request fallback for custom endpoints. Minor gaps exist, such as no explicit publish/unpublish tool (though update_entry may handle it) and no dedicated filtering/search tool, but these are workable via list_entries parameters or strapi_request.