@content-island/mcp
v0.3.1
Published
Content Island - MCP (Model Context Protocol) server
Readme
@content-island/mcp
Content Island MCP
A Model Context Protocol (MCP) server that enables seamless integration between modern web frameworks and Content Island headless CMS. This server empowers LLMs to scaffold, configure, and build web applications using frameworks like Astro, Next.js, Nuxt, and others while automatically integrating with Content Island's content management capabilities.
Key Features
- Modern framework support. Scaffold projects with Astro, Next.js, Nuxt, SvelteKit, and other popular frameworks.
- Headless CMS integration. Seamlessly connect to your Content Island project, retrieve content models, and configure data fetching.
- Content-driven development. Generate components, pages, and data fetching logic based on your Content Island schema.
- Type-safe integration. Generate TypeScript types from your Content Island content models.
- Zero-config setup. Streamlined project initialization with pre-configured build tools and settings.
- LLM-optimized workflow. Purpose-built for AI-assisted development with clear, structured commands.
- Content authoring. Create content entries and upload media files directly from your LLM.
Available Tools
| Tool | Description | Token required |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ----------------- |
| get-content-island-project | Get project details (languages, content types, fields) | Read or Write |
| list-content-island-contents | List content entries with filters, sort and pagination (returns hasMore) | Read or Write |
| create-content-island-content | Create a new content entry with fields per language | Write |
| update-content-island-field-value | Update or insert a field value identified by (fieldName, language) | Write |
| publish-content-island-content | Promote a content's current draft to the live state (preflight-gated) | Write |
| upload-content-island-media | Upload a media file from a local path or URL | Write |
| create-content-island-model | Create an Entity (content type) with a structured field list | Write |
| update-content-island-model | Edit an Entity with declarative ops (rename / add / update / remove fields); destructive removals are dry-run-gated | Write |
| delete-content-island-model | Delete an Entity (dry-run by default; confirm: true to apply; 409 if referenced) | Write |
| create-content-island-enum | Create an Enum (a closed list of string values) | Write |
| update-content-island-enum | Edit an Enum with declarative ops (rename / add / rename / remove values); destructive removals are dry-run-gated | Write |
| delete-content-island-enum | Delete an Enum (dry-run by default; confirm: true to apply; 409 if referenced) | Write |
Note: A read token is sufficient for read-only tools. Tools that create or upload data require a write token. A write token also works for read-only tools.
Behavior notes
- The MCP server always reads in preview mode, so drafts and unpublished field values are visible. The configured access token is automatically prefixed with
PREVIEW_before it reaches the API. This keeps reads and writes consistent: the toolscreate-content-island-contentandupdate-content-island-field-valuewrite to the working state, andlist-content-island-contents/get-content-island-projectread from that same working state. publish-content-island-contentruns a server-side preflight before publishing and refuses the call when the content is not valid: everyisRequiredfield must have a non-empty value in every project language, and populated values must satisfy theirmin-length,max-lengthandmedia-typevalidations.uniqueis enforced by the backend. If the preflight fails, the response lists every problem in one pass so the caller can fix them viaupdate-content-island-field-valueand retry.
Requirements
- Node.js 18 or newer
- VS Code, Cursor, Windsurf, Claude Desktop or any other MCP client
Getting started
First, install the Content Island MCP server with your client. A typical configuration looks like this:
{
"mcpServers": {
"contentIsland": {
"command": "npx",
"args": [
"@content-island/mcp@latest"
],
"env": {
"CONTENT_ISLAND_ACCESS_TOKEN": "<YOUR_CONTENT_ISLAND_ACCESS_TOKEN>"
}
}
}
}Note: Replace
<YOUR_CONTENT_ISLAND_ACCESS_TOKEN>with your actual Content Island project token. You can get it from the Content Island account.
You can also install the Content Island MCP server using the VS Code CLI:
# For VS Code
code --add-mcp '{"name":"contentIsland","command":"npx","args":["@content-island/mcp@latest"],"env": {"CONTENT_ISLAND_ACCESS_TOKEN":"<YOUR_CONTENT_ISLAND_ACCESS_TOKEN>"}}'Note: Replace
<YOUR_CONTENT_ISLAND_ACCESS_TOKEN>with your actual Content Island project token. You can get it from the Content Island account.
After installation, the Content Island MCP server will be available for use with your GitHub Copilot agent in VS Code.
Click the button to install:
Or install manually:
Go to Cursor Settings -> MCP -> Add new MCP Server. Name to your liking, use command type with the command npx @content-island/mcp@latest. You can also verify config or add command like arguments via clicking Edit.
{
"mcpServers": {
"contentIsland": {
"command": "npx",
"args": ["@content-island/mcp@latest"],
"env": {
"CONTENT_ISLAND_ACCESS_TOKEN": "<YOUR_CONTENT_ISLAND_ACCESS_TOKEN>"
}
}
}
}Note: Replace
<YOUR_CONTENT_ISLAND_ACCESS_TOKEN>with your actual Content Island project token. You can get it from the Content Island account.
Follow Windsurf MCP documentation. Use following configuration:
{
"mcpServers": {
"contentIsland": {
"command": "npx",
"args": ["@content-island/mcp@latest"],
"env": {
"CONTENT_ISLAND_ACCESS_TOKEN": "<YOUR_CONTENT_ISLAND_ACCESS_TOKEN>"
}
}
}
}Note: Replace
<YOUR_CONTENT_ISLAND_ACCESS_TOKEN>with your actual Content Island project token. You can get it from the Content Island account.
Follow the MCP install guide, use following configuration:
{
"mcpServers": {
"contentIsland": {
"command": "npx",
"args": ["@content-island/mcp@latest"],
"env": {
"CONTENT_ISLAND_ACCESS_TOKEN": "<YOUR_CONTENT_ISLAND_ACCESS_TOKEN>"
}
}
}
}Note: Replace
<YOUR_CONTENT_ISLAND_ACCESS_TOKEN>with your actual Content Island project token. You can get it from the Content Island account.
Environment Variables
You can configure the MCP server using environment variables. The following variables are available:
| name | required | description |
| -------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CONTENT_ISLAND_ACCESS_TOKEN | true | Your project’s access token. A read token is sufficient for get-content-island-project. A write token is required for create-content-island-content and upload-content-island-media.You can find this token in the General tab. |
| CONTENT_ISLAND_DOMAIN | false | Domain used for requests. Useful if you're using Content Island On Premise.Default: api.contentisland.net |
| CONTENT_ISLAND_SECURE_PROTOCOL | false | Whether to use HTTPS for requests.Default: true (use HTTPS) |
| CONTENT_ISLAND_API_VERSION | false | Version of the REST API.Default: 1.0 |
