@wh1teee/strapi-mcp
Version:
High-performance MCP server for Strapi CMS with 95% smaller API responses, intelligent field selection, and Strapi v5+ compatibility
88 lines (87 loc) • 4.19 kB
JSON
{
"name": "@wh1teee/strapi-mcp",
"displayName": "Strapi MCP Server",
"description": "High-performance Model Context Protocol server for Strapi CMS. Features 95% smaller API responses, intelligent field selection, fast author lookup, and comprehensive content management with Strapi v5+ compatibility.",
"iconUrl": "https://raw.githubusercontent.com/wh1teee/strapi-mcp/main/icon.png",
"version": "0.3.0",
"author": "wh1teee",
"homepage": "https://github.com/wh1teee/strapi-mcp",
"repository": {
"type": "git",
"url": "https://github.com/wh1teee/strapi-mcp.git"
},
"license": "MIT",
"keywords": ["strapi", "cms", "headless", "api", "mcp", "performance", "optimization", "lightweight", "v5", "media", "alt-text", "accessibility", "seo"],
"categories": ["Content Management", "API", "Database"],
"tags": ["strapi", "headless-cms", "content-api"],
"installInstructions": "See DEPLOYMENT.md for detailed installation instructions",
"environmentVariables": [
{
"name": "STRAPI_URL",
"description": "URL of your Strapi instance (defaults to http://localhost:1337)",
"required": false
},
{
"name": "STRAPI_API_TOKEN",
"description": "Your Strapi API token for authentication",
"required": true
},
{
"name": "STRAPI_DEV_MODE",
"description": "Set to 'true' to enable development mode features (defaults to false)",
"required": false
}
],
"examples": [
{
"title": "Lightweight Article Listing (95% smaller)",
"description": "High-performance article listing with minimal fields for fast loading",
"code": "get_lightweight_entries('api::articles.articles', '{\"filters\":{\"title\":{\"$containsi\":\"AI\"}},\"pagination\":{\"pageSize\":10}}')"
},
{
"title": "Fast Author Search",
"description": "Efficiently find authors without heavy populate operations",
"code": "find_author_by_name('Константин')"
},
{
"title": "Schema Analysis Only",
"description": "Get content type structure without content data for optimization",
"code": "get_schema_fields('api::articles.articles')"
},
{
"title": "Smart Content Preview",
"description": "Preview content with essential fields and built-in search",
"code": "get_content_preview('api::articles.articles', { limit: 20, search: 'machine learning' })"
},
{
"title": "Upload Image with Alt Text and Caption",
"description": "Upload an image file with proper alt text for SEO and accessibility (absolute path required)",
"code": "upload_media_from_path('/home/user/photos/image.jpg', null, { alternativeText: 'Beautiful sunset over mountains', caption: 'Landscape photography from our trip', name: 'sunset-mountains.jpg' })"
},
{
"title": "Upload from URL with Metadata",
"description": "Download and upload an image from URL with accessibility metadata",
"code": "upload_media_from_url('https://example.com/photo.jpg', null, { alternativeText: 'Product showcase image', caption: 'Main product view' })"
},
{
"title": "Update Media Alt Text",
"description": "Update alt text and metadata for existing media files",
"code": "update_media_metadata('42', { alternativeText: 'Updated alt text for better SEO', caption: 'New caption for the image' })"
},
{
"title": "Create Blog Post with Cover Image",
"description": "Create a complete blog post with uploaded cover image",
"code": "create_entry('api::article.article', { title: 'My Post', content: 'Content here', cover: 15 })"
},
{
"title": "List All Articles",
"description": "Fetch all articles with pagination and populated relations",
"code": "get_entries('api::article.article', '{\"pagination\":{\"page\":1,\"pageSize\":10},\"populate\":[\"author\",\"cover\"]}')"
},
{
"title": "Advanced Content Filtering",
"description": "Filter articles by title and publication status",
"code": "get_entries('api::article.article', '{\"filters\":{\"title\":{\"$contains\":\"strapi\"},\"publishedAt\":{\"$notNull\":true}}}')"
}
]
}