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

@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 tools create-content-island-content and update-content-island-field-value write to the working state, and list-content-island-contents / get-content-island-project read from that same working state.
  • publish-content-island-content runs a server-side preflight before publishing and refuses the call when the content is not valid: every isRequired field must have a non-empty value in every project language, and populated values must satisfy their min-length, max-length and media-type validations. unique is enforced by the backend. If the preflight fails, the response lists every problem in one pass so the caller can fix them via update-content-island-field-value and 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:

Install MCP Server

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 |