{"id":28207770,"url":"https://github.com/darekrossman/contentstack-mcp","last_synced_at":"2025-10-29T07:09:48.424Z","repository":{"id":293708454,"uuid":"984899561","full_name":"darekrossman/contentstack-mcp","owner":"darekrossman","description":"An MCP server for interacting with Contentstack's Content Management API","archived":false,"fork":false,"pushed_at":"2025-07-05T02:26:26.000Z","size":198,"stargazers_count":1,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-12T02:34:55.127Z","etag":null,"topics":["cms","content-management-system","contentstack","mcp","mcp-server"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/darekrossman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-16T17:44:05.000Z","updated_at":"2025-09-03T21:01:18.000Z","dependencies_parsed_at":"2025-06-30T16:34:09.134Z","dependency_job_id":null,"html_url":"https://github.com/darekrossman/contentstack-mcp","commit_stats":null,"previous_names":["darekrossman/contentstack-mcp"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/darekrossman/contentstack-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darekrossman%2Fcontentstack-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darekrossman%2Fcontentstack-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darekrossman%2Fcontentstack-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darekrossman%2Fcontentstack-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darekrossman","download_url":"https://codeload.github.com/darekrossman/contentstack-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darekrossman%2Fcontentstack-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281577959,"owners_count":26524925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-29T02:00:06.901Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cms","content-management-system","contentstack","mcp","mcp-server"],"created_at":"2025-05-17T13:12:38.611Z","updated_at":"2025-10-29T07:09:48.418Z","avatar_url":"https://github.com/darekrossman.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/cs-logo.png\" /\u003e\n\u003c/p\u003e\n\n# Contentstack MCP Server\n[![smithery badge](https://smithery.ai/badge/@darekrossman/contentstack-mcp)](https://smithery.ai/server/@darekrossman/contentstack-mcp)\n\nThis 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.\n\n\u003e **Note:** This is an early version of Contentstack MCP Server. See the [Roadmap](#roadmap) for upcoming improvements and planned features.\n\n\u003ca href=\"https://glama.ai/mcp/servers/@darekrossman/contentstack-mcp\"\u003e\n  \u003cimg width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@darekrossman/contentstack-mcp/badge\" alt=\"contentstack-mcp MCP server\" /\u003e\n\u003c/a\u003e\n\n## Table of Contents\n- [Features](#features)\n- [Installation](#installation)\n- [Development](#development)\n- [Configuration](#configuration)\n- [Integration with AI Assistants](#integration-with-ai-assistants)\n- [Usage Examples](#usage-examples)\n- [Roadmap](#roadmap)\n- [License](#license)\n\n## Features\n\n### Available Resources\n- **`content-types`**: List all content types (URI: `contentstack://content-types`)\n- **`content-type`**: Get content type by UID (URI: `contentstack://content-type/{uid}`)\n- **`entries`**: Get entries by content type (URI: `contentstack://entries/{content_type_uid}`)\n- **`entry`**: Get specific entry (URI: `contentstack://entry/{content_type_uid}/{entry_uid}`)\n- **`assets`**: List all assets (URI: `contentstack://assets`)\n\n### Content Type Management\n- Create, update, and delete content types\n- Define schemas, options, field rules, and taxonomies\n- Manage global fields\n\n### Entry Management\n- Create, update, and delete entries\n- Publish and unpublish entries across environments\n- Query entries with filtering, pagination, and sorting options\n\n### Global Field Management\n- Create and update global fields for reuse across content types\n- Retrieve global fields with pagination options\n\n### Content Workflows\n- Guided content creation workflows\n- Content analysis and insights\n- Migration planning assistance\n\n## Installation\n\n### Prerequisites\n- Node.js (v16.0.0 or higher)\n- A Contentstack account\n- API credentials (API Key and Management Token)\n\n### NPM Installation\nThe easiest way to use this MCP server is via NPM:\n\n```bash\n# Install globally\nnpm install -g @drossman/contentstack-mcp\n\n# Or use directly via npx\nnpx @drossman/contentstack-mcp\n```\n\n### Manual Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/darekrossman/contentstack-mcp.git\n   cd contentstack-mcp\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Set up environment variables:\n   ```bash\n   cp .env.example .env\n   ```\n   \n   Edit the `.env` file with your Contentstack credentials:\n   ```\n   CONTENTSTACK_API_KEY=your_api_key_here\n   CONTENTSTACK_MANAGEMENT_TOKEN=your_management_token_here\n   # Optional: Specify branch if using branches\n   CONTENTSTACK_BRANCH=your_branch_name\n   ```\n\n4. Build and start the server:\n   ```bash\n   npm run build\n   npm start\n   ```\n\n### Installation via Smithery CLI\n\nYou can also install this MCP server using the [Smithery CLI](https://github.com/smithery-ai/cli):\n\n```bash\nnpx @smithery/cli install contentstack-mcp --client claude\n```\n\nSee the [Smithery CLI documentation](https://github.com/smithery-ai/cli) for more details and advanced usage.\n\n## Development\n\n### Setup for Development\nFor development, you can use:\n```bash\nnpm run dev\n```\n\nThis starts the server using `ts-node` for a faster development cycle.\n\n### Code Quality\n\nThis project uses [Biome.js](https://biomejs.dev/) for linting and formatting. It provides a consistent code style and helps catch potential issues early.\n\n#### Available Commands\n\n- **Lint Code**:\n  ```bash\n  npm run lint\n  ```\n\n- **Lint and Fix**:\n  ```bash\n  npm run lint:fix\n  ```\n\n- **Format Code**:\n  ```bash\n  npm run format\n  ```\n\n- **Format and Fix**:\n  ```bash\n  npm run format:fix\n  ```\n\n## Configuration\n\n### Authentication\n\nThis server requires authentication with Contentstack's API:\n\n**Management Token (Required)**:\n- Stack-level token with predefined permissions\n- Set via `CONTENTSTACK_MANAGEMENT_TOKEN` environment variable\n- Generate from Contentstack dashboard: Settings \u003e Tokens \u003e Management Tokens\n\n**API Key (Required)**:\n- Stack API key for authentication\n- Set via `CONTENTSTACK_API_KEY` environment variable\n\n### Branch Support\n\nIf your Contentstack account uses branches, you can specify a branch:\n\n```\nCONTENTSTACK_BRANCH=develop\n```\n\n## Integration with AI Assistants\n\n### Claude for Desktop\n\nTo use this server with Claude for Desktop:\n\n1. Edit your Claude for Desktop configuration file:\n   - Mac: `~/Library/Application Support/Claude/claude_desktop_config.json`\n   - Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n2. Add this server to the `mcpServers` section:\n   ```json\n   {\n     \"mcpServers\": {\n       \"contentstack\": {\n         \"command\": \"npx\",\n         \"args\": [\"-y\", \"@drossman/contentstack-mcp\"],\n         \"env\": {\n           \"CONTENTSTACK_API_KEY\": \"your_api_key_here\",\n           \"CONTENTSTACK_MANAGEMENT_TOKEN\": \"your_management_token_here\"\n         }\n       }\n     }\n   }\n   ```\n\n3. Restart Claude for Desktop\n\n### Cursor\n\nTo use this server with Cursor, add the Contentstack MCP server configuration:\n```json\n{\n   \"mcpServers\": {\n      \"contentstack\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@drossman/contentstack-mcp\"],\n      \"env\": {\n         \"CONTENTSTACK_API_KEY\": \"your_api_key_here\",\n         \"CONTENTSTACK_MANAGEMENT_TOKEN\": \"your_management_token_here\",\n      }\n      }\n   }\n}\n```\n\n### Install with Smithery\n\nYou can also install this MCP server using the [Smithery CLI](https://github.com/smithery-ai/cli) using your client of choice:\n\n```bash\nnpx -y @smithery/cli install @drossman/contentstack-mcp --client claude\n```\n\n#### Available clients include:\n\n- claude\n- cline\n- windsurf\n- roocode\n- witsy\n- enconvo\n- cursor\n- vscode\n- vscode-insiders\n- boltai\n- amazon-bedrock\n- amazonq\n\nSee the [Smithery CLI documentation](https://github.com/smithery-ai/cli) for more details and advanced usage.\n\n## Roadmap\n\n- [ ] **Enhanced AI Contextual Understanding**: Improve context provisioning for complex queries\n- [ ] **Advanced Querying \u0026 Filtering**: Support filtering by multiple criteria and custom fields\n- [ ] **Workflow \u0026 Publishing Automation**: Enable AI-driven content workflow actions\n- [ ] **Asset Management Enhancements**: Add direct asset manipulation capabilities\n- [ ] **Bulk Operations Support**: Implement batch operations for entries and assets\n- [ ] **Improved Error Handling \u0026 AI Feedback**: Refine error messages for AI consumption\n- [ ] **User-Specific Context \u0026 Permissions**: Tailor actions based on user permissions\n- [ ] **Extensibility for Custom Tools**: Create an extension framework\n- [ ] **Real-time Event Handling**: Add webhook support for reactive AI behaviors\n- [ ] **Comprehensive Documentation**: Develop detailed guides for AI interaction\n\n## Shoutout\n\nSpecial thanks to [Ivo Toby](https://github.com/ivo-toby). This project and its author are heavily inspired by his work in this space.\n\n## License\n\nMIT\n\n---\n\n**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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarekrossman%2Fcontentstack-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarekrossman%2Fcontentstack-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarekrossman%2Fcontentstack-mcp/lists"}