From 71b2756fd75981830158b0a9a83430561dd0598a Mon Sep 17 00:00:00 2001 From: Tim Benniks Date: Tue, 3 Nov 2026 11:43:19 +0100 Subject: [PATCH] feat: bundle the Contentstack MCP Profile Hub server with every plugin Installing the plugin now gives the agent the skills and the Contentstack tools together, from the hosted server at https://mcp-profile-hub.contentstack.com/api/mcp (OAuth in the browser on first use, no API key, the user's own roles). Each client reads its own file, in the format its docs define (checked 3 Nov 2026): - Claude Code / claude.ai: .mcp.json, type http. - Codex, ChatGPT and Agent Plugins clients: mcp.json, type streamable-http with the agent-plugins.org schema. - Cursor: inline mcpServers in .cursor-plugin/plugin.json (url only), which overrides Cursor's default mcp.json discovery. - Gemini CLI: mcpServers in gemini-extension.json, httpUrl. Also adds the docs, support, privacy and terms URLs to the Claude manifest: claude plugin validate flags a plugin that connects to a remote MCP server without a privacy policy. Ships in 0.3.1, which is on next and not yet released. Verified: node scripts/validate.mjs passes; claude plugin validate passes with the same two warnings as before (no icon, root CLAUDE.md). Co-Authored-By: Claude Opus 5.5 --- .claude-plugin/plugin.json | 4 ++++ .cursor-plugin/plugin.json | 5 ++++- .mcp.json | 8 ++++++++ CHANGELOG.md | 9 +++++++++ README.md | 10 +++++++++- gemini-extension.json | 7 ++++++- mcp.json | 9 +++++++++ 7 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 .mcp.json create mode 100644 mcp.json diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 5872c20..6ed7772 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -6,5 +6,9 @@ "homepage": "https://developers.contentstack.com", "repository": "https://github.com/contentstack/contentstack-agent-skills", "license": "MIT", + "documentationUrl": "https://www.contentstack.com/docs/developers/mcp-profile-hub", + "supportUrl": "https://www.contentstack.com/support", + "privacyPolicyUrl": "https://www.contentstack.com/legal/privacy", + "termsOfServiceUrl": "https://www.contentstack.com/legal/terms-of-service", "keywords": ["contentstack", "cms", "headless-cms", "delivery-sdk", "live-preview", "studio", "launch"] } diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json index f857a31..9302242 100644 --- a/.cursor-plugin/plugin.json +++ b/.cursor-plugin/plugin.json @@ -3,5 +3,8 @@ "version": "0.3.1", "description": "Contentstack agent skills for CMS modeling, Delivery SDK, Live Preview, Studio, Brand Kit, Developer Hub apps, Launch, and migrations.", "author": { "name": "Contentstack", "url": "https://www.contentstack.com" }, - "skills": "./skills/" + "skills": "./skills/", + "mcpServers": { + "contentstack": { "url": "https://mcp-profile-hub.contentstack.com/api/mcp" } + } } diff --git a/.mcp.json b/.mcp.json new file mode 100644 index 0000000..9faf817 --- /dev/null +++ b/.mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "contentstack": { + "type": "http", + "url": "https://mcp-profile-hub.contentstack.com/api/mcp" + } + } +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 21a0902..c84c559 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to the Contentstack agent skills bundle. Versions match the ## 0.3.1 +### Contentstack MCP server bundled with the plugin + +- Every plugin now connects the hosted Contentstack MCP Profile Hub (`https://mcp-profile-hub.contentstack.com/api/mcp`), so the skills and the Contentstack tools install together. Sign-in is OAuth in the browser on first use, with no API key. + - Claude Code and claude.ai: `.mcp.json` (`type: http`). + - Codex, ChatGPT and other Agent Plugins clients: `mcp.json` (`type: streamable-http`). + - Cursor: `mcpServers` in `.cursor-plugin/plugin.json`, which Cursor reads in place of `mcp.json`. + - Gemini CLI: `mcpServers` in `gemini-extension.json` (`httpUrl`). +- Existing installs get the server on their next update and are asked to sign in the first time a Contentstack tool runs. + ### New studio guides - **`csr-and-ssr-requirements`:** what a Studio page needs as CSR or SSR on the visitor site, the Live Preview pane, Visual Editor and the canvas. diff --git a/README.md b/README.md index 1840166..c0a95b1 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,12 @@ npx skills add contentstack/contentstack-agent-skills --skill cms-entries --skil Use `--list` to see every skill, or leave out `--skill` to install them all. The CLI installs into the right folder for Claude Code, Cursor, Codex, Copilot, Gemini, Windsurf, Cline and others. +## Contentstack MCP server + +Every plugin manifest here also connects the hosted [Contentstack MCP Profile Hub](https://www.contentstack.com/docs/developers/mcp-profile-hub) at `https://mcp-profile-hub.contentstack.com/api/mcp`, so installing the plugin gives the agent the skills and the Contentstack tools together. The server signs you in with OAuth in the browser the first time a tool is used: there is no API key to configure, and every call runs with your own Contentstack roles. At sign-in you pick your region, a profile and a stack. + +If you only want the skills, disable the `contentstack` MCP server in your tool's MCP settings after installing. + ## Skills included | Slug | Title | Product | What it helps with | @@ -101,7 +107,9 @@ skills//SKILL.md Source of truth: one folder per skill .cursor-plugin/ Cursor plugin and marketplace .agents/plugins/marketplace.json Codex marketplace plugin.json Agent Plugins manifest (Codex, VS Code) -gemini-extension.json Gemini CLI extension +mcp.json MCP server for Agent Plugins (Codex, ChatGPT) +.mcp.json MCP server for Claude Code and claude.ai +gemini-extension.json Gemini CLI extension (skills and MCP server) docs/ Documentation: install, architecture, contributing, skill reference scripts/validate.mjs Validates skills and manifests (runs in CI) ``` diff --git a/gemini-extension.json b/gemini-extension.json index b70efab..a940652 100644 --- a/gemini-extension.json +++ b/gemini-extension.json @@ -1,5 +1,10 @@ { "name": "contentstack-skills", "version": "0.3.1", - "description": "Contentstack agent skills for CMS modeling, Delivery SDK, Live Preview, Studio, Brand Kit, Developer Hub apps, Launch, and migrations." + "description": "Contentstack agent skills for CMS modeling, Delivery SDK, Live Preview, Studio, Brand Kit, Developer Hub apps, Launch, and migrations.", + "mcpServers": { + "contentstack": { + "httpUrl": "https://mcp-profile-hub.contentstack.com/api/mcp" + } + } } diff --git a/mcp.json b/mcp.json new file mode 100644 index 0000000..f1b93c1 --- /dev/null +++ b/mcp.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json", + "mcpServers": { + "contentstack": { + "type": "streamable-http", + "url": "https://mcp-profile-hub.contentstack.com/api/mcp" + } + } +}