npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@drossman/contentstack-mcp

v1.1.0

Published

MCP server for interacting with the Contentstack Management API

Readme

Contentstack MCP Server

smithery badge

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

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

  1. Clone the repository:

    git clone https://github.com/darekrossman/contentstack-mcp.git
    cd contentstack-mcp
  2. Install dependencies:

    npm install
  3. 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
  4. 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:

  1. Edit your Claude for Desktop configuration file:

    • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. 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"
          }
        }
      }
    }
  3. 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.