darekrossman/contentstack-mcp
If you are the rightful owner of contentstack-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Contentstack MCP Server is a Model Context Protocol server that integrates with Contentstack's Content Management API, allowing AI assistants to interact with Contentstack CMS through a standardized protocol.
Contentstack MCP Server
This Model Context Protocol (MCP) server integrates with Contentstack's Content Management API, enabling AI assistants like Claude to interact with your Contentstack CMS through a standardized protocol.
Note: This is an early version of Contentstack MCP Server. See the Roadmap for upcoming improvements and planned features.
Table of Contents
- Features
- Installation
- Development
- Configuration
- Integration with AI Assistants
- Usage Examples
- Roadmap
- License
Features
Available Resources
content-types
: List all content types (URI:contentstack://content-types
)content-type
: Get content type by UID (URI:contentstack://content-type/{uid}
)entries
: Get entries by content type (URI:contentstack://entries/{content_type_uid}
)entry
: Get specific entry (URI:contentstack://entry/{content_type_uid}/{entry_uid}
)assets
: List all assets (URI:contentstack://assets
)
Content Type Management
- Create, update, and delete content types
- Define schemas, options, field rules, and taxonomies
- Manage global fields
Entry Management
- Create, update, and delete entries
- Publish and unpublish entries across environments
- Query entries with filtering, pagination, and sorting options
Global Field Management
- Create and update global fields for reuse across content types
- Retrieve global fields with pagination options
Content Workflows
- Guided content creation workflows
- Content analysis and insights
- Migration planning assistance
Installation
Prerequisites
- Node.js (v16.0.0 or higher)
- A Contentstack account
- API credentials (API Key and Management Token)
NPM Installation
The easiest way to use this MCP server is via NPM:
# Install globally
npm install -g @drossman/contentstack-mcp
# Or use directly via npx
npx @drossman/contentstack-mcp
Manual Installation
-
Clone the repository:
git clone https://github.com/darekrossman/contentstack-mcp.git cd contentstack-mcp
-
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env
Edit the
.env
file with your Contentstack credentials:CONTENTSTACK_API_KEY=your_api_key_here CONTENTSTACK_MANAGEMENT_TOKEN=your_management_token_here # Optional: Specify branch if using branches CONTENTSTACK_BRANCH=your_branch_name
-
Build and start the server:
npm run build npm start
Installation via Smithery CLI
You can also install this MCP server using the Smithery CLI:
npx @smithery/cli install contentstack-mcp --client claude
See the Smithery CLI documentation for more details and advanced usage.
Development
Setup for Development
For development, you can use:
npm run dev
This starts the server using ts-node
for a faster development cycle.
Code Quality
This project uses Biome.js for linting and formatting. It provides a consistent code style and helps catch potential issues early.
Available Commands
-
Lint Code:
npm run lint
-
Lint and Fix:
npm run lint:fix
-
Format Code:
npm run format
-
Format and Fix:
npm run format:fix
Configuration
Authentication
This server requires authentication with Contentstack's API:
Management Token (Required):
- Stack-level token with predefined permissions
- Set via
CONTENTSTACK_MANAGEMENT_TOKEN
environment variable - Generate from Contentstack dashboard: Settings > Tokens > Management Tokens
API Key (Required):
- Stack API key for authentication
- Set via
CONTENTSTACK_API_KEY
environment variable
Branch Support
If your Contentstack account uses branches, you can specify a branch:
CONTENTSTACK_BRANCH=develop
Integration with AI Assistants
Claude for Desktop
To use this server with Claude for Desktop:
-
Edit your Claude for Desktop configuration file:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Mac:
-
Add this server to the
mcpServers
section:{ "mcpServers": { "contentstack": { "command": "npx", "args": ["-y", "@drossman/contentstack-mcp"], "env": { "CONTENTSTACK_API_KEY": "your_api_key_here", "CONTENTSTACK_MANAGEMENT_TOKEN": "your_management_token_here" } } } }
-
Restart Claude for Desktop
Cursor
To use this server with Cursor, add the Contentstack MCP server configuration:
{
"mcpServers": {
"contentstack": {
"command": "npx",
"args": ["-y", "@drossman/contentstack-mcp"],
"env": {
"CONTENTSTACK_API_KEY": "your_api_key_here",
"CONTENTSTACK_MANAGEMENT_TOKEN": "your_management_token_here",
}
}
}
}
Install with Smithery
You can also install this MCP server using the Smithery CLI using your client of choice:
npx -y @smithery/cli install @drossman/contentstack-mcp --client claude
Available clients include:
- claude
- cline
- windsurf
- roocode
- witsy
- enconvo
- cursor
- vscode
- vscode-insiders
- boltai
- amazon-bedrock
- amazonq
See the Smithery CLI documentation for more details and advanced usage.
Roadmap
- Enhanced AI Contextual Understanding: Improve context provisioning for complex queries
- Advanced Querying & Filtering: Support filtering by multiple criteria and custom fields
- Workflow & Publishing Automation: Enable AI-driven content workflow actions
- Asset Management Enhancements: Add direct asset manipulation capabilities
- Bulk Operations Support: Implement batch operations for entries and assets
- Improved Error Handling & AI Feedback: Refine error messages for AI consumption
- User-Specific Context & Permissions: Tailor actions based on user permissions
- Extensibility for Custom Tools: Create an extension framework
- Real-time Event Handling: Add webhook support for reactive AI behaviors
- Comprehensive Documentation: Develop detailed guides for AI interaction
Shoutout
Special thanks to Ivo Toby. This project and its author are heavily inspired by his work in this space.
License
MIT
Disclaimer: This project is not affiliated with, endorsed by, or supported by Contentstack. It is an independent open-source project designed to work with the Contentstack API.