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

@elmapicms/mcp-server

v1.1.0

Published

MCP server for ElmapiCMS - manage collections, fields, content, and assets via AI agents

Downloads

212

Readme

ElmapiCMS MCP Server

An MCP (Model Context Protocol) server that connects AI agents like Cursor and Claude Code to your ElmapiCMS instance. Manage collections, fields, content entries, and assets programmatically through natural language.

Installation

npm install -g @elmapicms/mcp-server

Or install locally:

npm install @elmapicms/mcp-server

Configuration

The server requires three environment variables:

| Variable | Description | |---------------------|----------------------------------------------------| | ELMAPI_API_URL | Base API URL (e.g., https://your-domain.com/api) | | ELMAPI_API_KEY | API token with the required abilities | | ELMAPI_PROJECT_ID | Project UUID |

Usage with Cursor

Add this to your Cursor MCP settings (~/.cursor/mcp.json):

{
  "mcpServers": {
    "elmapicms": {
      "command": "npx",
      "args": ["@elmapicms/mcp-server"],
      "env": {
        "ELMAPI_API_URL": "https://your-domain.com/api",
        "ELMAPI_API_KEY": "your-api-key",
        "ELMAPI_PROJECT_ID": "your-project-uuid"
      }
    }
  }
}

Usage with Claude Code

Add the MCP server using the Claude Code CLI:

claude mcp add elmapicms \
  -e ELMAPI_API_URL=https://your-domain.com/api \
  -e ELMAPI_API_KEY=your-api-key \
  -e ELMAPI_PROJECT_ID=your-project-uuid \
  -- npx @elmapicms/mcp-server

Local Development (Laravel Herd / .test domains)

If your ElmapiCMS instance runs on a .test domain with a self-signed SSL certificate (e.g., via Laravel Herd), add this to your env config:

"env": {
  "ELMAPI_API_URL": "https://myproject.test/api",
  "ELMAPI_API_KEY": "your-api-key",
  "ELMAPI_PROJECT_ID": "your-project-uuid",
  "NODE_TLS_REJECT_UNAUTHORIZED": "0"
}

Note: Only use NODE_TLS_REJECT_UNAUTHORIZED=0 for local development. Do not use this in production.

Available Tools (17)

Project

  • get_project — Get project information

Collections

  • list_collections — List all collections
  • get_collection — Get a collection with its full field schema
  • create_collection — Create a collection (with optional batch field creation)
  • update_collection — Update a collection's name and slug
  • reorder_collections — Reorder collections

Fields

  • create_field — Add a field to a collection
  • update_field — Update a field
  • reorder_fields — Reorder fields within a collection

Content Entries

  • list_entries — List entries with advanced filtering (where with 13 operators, OR groups, relation filtering), sorting, pagination, count, and first
  • get_entry — Get a single content entry
  • create_entry — Create a content entry
  • update_entry — Update a content entry
  • delete_entry — Soft-delete a content entry (moves to trash)

Assets

  • list_assets — List assets with pagination
  • get_asset — Get an asset by UUID or filename
  • upload_asset — Upload a file as an asset
  • delete_asset — Delete an asset

Resources

The server exposes three reference resources that AI agents can read for context:

  • Field Types Reference (elmapicms://field-types) — Complete reference of all 16 field types, their options, validations, and common patterns.
  • Collections Guide (elmapicms://collections-guide) — Guide for working with collections, singletons, reserved slugs, and best practices.
  • Query Reference (elmapicms://query-reference) — Full documentation for content queries: where filters with 13 operators, OR groups, relation filtering, sorting, pagination, and examples.

Token Abilities

Your API token needs the appropriate abilities for the tools you want to use:

| Ability | Tools | |----------|-------------------------------------------------------------| | read | list/get collections, entries, assets | | create | create entries, upload assets | | update | update entries | | delete | delete entries, delete assets | | admin | create/update/reorder collections and fields |

You can generate API tokens from your project's Settings > API Access page.

Using Multiple Projects

Each MCP server instance connects to a single project. To work with multiple projects, add separate entries in your MCP config:

{
  "mcpServers": {
    "elmapicms-blog": {
      "command": "npx",
      "args": ["@elmapicms/mcp-server"],
      "env": {
        "ELMAPI_API_URL": "https://your-domain.com/api",
        "ELMAPI_API_KEY": "blog-project-api-key",
        "ELMAPI_PROJECT_ID": "blog-project-uuid"
      }
    },
    "elmapicms-store": {
      "command": "npx",
      "args": ["@elmapicms/mcp-server"],
      "env": {
        "ELMAPI_API_URL": "https://your-domain.com/api",
        "ELMAPI_API_KEY": "store-project-api-key",
        "ELMAPI_PROJECT_ID": "store-project-uuid"
      }
    }
  }
}

License

MIT