@8ux-co/eelzap-mcp-server

@8ux-co/eelzap-mcp-server

Connect your AI assistant to Eel Zap CMS to create collections, manage content, upload media, and publish through natural language.

Category
Visit Server

README

@8ux-co/eelzap-mcp-server

Connect your AI assistant to Eel Zap CMS. Create collections, manage content, upload media, and publish — all through natural language.

Works with Claude Code, Cursor, VS Code, Codex, and Claude Desktop.

Quick Start

With the CLI (recommended):

npx @8ux-co/eelzap-mcp-server install

With Claude Code:

claude mcp add --transport stdio eelzap \
  --env EELZAP_API_KEY=secret_your_key_here \
  -- npx -y @8ux-co/eelzap-mcp-server

For other tools, see the Installation Guides below.

Installation Guides

Claude Code

CLI method:

npx @8ux-co/eelzap-mcp-server install --tool claude-code

Manual method — Project scope (.mcp.json):

Create .mcp.json in your project root:

{
  "mcpServers": {
    "eelzap": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@8ux-co/eelzap-mcp-server"],
      "env": {
        "EELZAP_API_KEY": "secret_your_key_here"
      }
    }
  }
}

Manual method — User scope (~/.claude.json):

Add to the mcpServers section in ~/.claude.json:

{
  "mcpServers": {
    "eelzap": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@8ux-co/eelzap-mcp-server"],
      "env": {
        "EELZAP_API_KEY": "secret_your_key_here"
      }
    }
  }
}

Using claude mcp add:

claude mcp add --transport stdio eelzap \
  --env EELZAP_API_KEY=secret_your_key_here \
  -- npx -y @8ux-co/eelzap-mcp-server

Cursor

CLI method:

npx @8ux-co/eelzap-mcp-server install --tool cursor

Manual method — Project scope:

Create .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "eelzap": {
      "command": "npx",
      "args": ["-y", "@8ux-co/eelzap-mcp-server"],
      "env": {
        "EELZAP_API_KEY": "secret_your_key_here"
      }
    }
  }
}

Manual method — Global scope:

Create or edit ~/.cursor/mcp.json with the same structure.

VS Code

CLI method:

npx @8ux-co/eelzap-mcp-server install --tool vscode

Manual method:

Create .vscode/mcp.json in your project root:

{
  "servers": {
    "eelzap": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@8ux-co/eelzap-mcp-server"],
      "env": {
        "EELZAP_API_KEY": "secret_your_key_here"
      }
    }
  }
}

Important: VS Code uses "servers" as the top-level key, not "mcpServers".

Codex

CLI method:

npx @8ux-co/eelzap-mcp-server install --tool codex

Manual method:

Add to ~/.codex/config.toml (or .codex/config.toml for project scope):

[mcp_servers.eelzap]
command = "npx"
args = ["-y", "@8ux-co/eelzap-mcp-server"]
enabled = true

[mcp_servers.eelzap.env]
EELZAP_API_KEY = "secret_your_key_here"

Claude Desktop

CLI method:

npx @8ux-co/eelzap-mcp-server install --tool claude-desktop

Manual method:

Edit the config file at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/claude/claude_desktop_config.json

Add to the mcpServers section:

{
  "mcpServers": {
    "eelzap": {
      "command": "npx",
      "args": ["-y", "@8ux-co/eelzap-mcp-server"],
      "env": {
        "EELZAP_API_KEY": "secret_your_key_here"
      }
    }
  }
}

Restart Claude Desktop after saving.

CLI Commands

Command Description
npx @8ux-co/eelzap-mcp-server install Interactive setup for any supported tool
npx @8ux-co/eelzap-mcp-server switch-key Change the API key for an existing installation
npx @8ux-co/eelzap-mcp-server uninstall Remove the eelzap entry from a tool's config
npx @8ux-co/eelzap-mcp-server status Show all detected installations and their connection status
npx @8ux-co/eelzap-mcp-server doctor Diagnose common configuration issues

Examples:

# Install with flags (non-interactive):
npx @8ux-co/eelzap-mcp-server install \
  --tool claude-code \
  --scope project \
  --api-key secret_xxx

# Update the API key for a specific tool:
npx @8ux-co/eelzap-mcp-server switch-key --tool cursor

# Check what's configured and whether it's working:
npx @8ux-co/eelzap-mcp-server status

# Run diagnostics:
npx @8ux-co/eelzap-mcp-server doctor

Configuration

Environment Variables

Variable Required Default Description
EELZAP_API_KEY Yes Your API key. Starts with secret_ (full access) or public_ (read-only). Get it from your Eel Zap dashboard under Settings > API Keys.
EELZAP_BASE_URL No https://api.eelzap.com API base URL. Override for self-hosted or local development.
EELZAP_PATH_PREFIX No /v1 Path prefix. Set to /api/public/v1 for local dev against the Next.js dev server.

API Key Types

Key prefix Access level Use case
secret_ Full read/write Creating content, managing collections, uploading media, publishing
public_ Read-only Querying published content via the delivery API only

For MCP server usage, you almost always want a secret key since the whole point is to manage content through your AI assistant.

Local Development

If you're running the CMS locally:

"env": {
  "EELZAP_API_KEY": "secret_your_key",
  "EELZAP_BASE_URL": "http://localhost:5041",
  "EELZAP_PATH_PREFIX": "/api/public/v1"
}

Available Tools

Sites (1 tool)

Tool Description
get_site Get the current site associated with your API key

Collections (5 tools)

Tool Description
list_collections List all collections in the site
get_collection Get a collection by ID
create_collection Create a new collection
update_collection Update a collection's name or key
delete_collection Delete a collection and all its items

Collection Fields (5 tools)

Tool Description
list_collection_fields List all fields in a collection
create_collection_field Add a new field to a collection
update_collection_field Update a field's configuration
delete_collection_field Remove a field from a collection
reorder_collection_fields Change the display order of fields

Collection Sections (4 tools)

Tool Description
list_collection_sections List all sections in a collection
create_collection_section Create a new section to group fields
update_collection_section Update a section's name
delete_collection_section Delete a section

Items (7 tools + 7 versioning tools)

Tool Description
list_items List items in a collection (with pagination and search)
get_item Get a single item by ID
create_item Create a new item in a collection
update_item Update an item's field values
delete_item Delete an item
publish_item Publish an item (makes it available via delivery API)
unpublish_item Unpublish an item

Item Versioning (7 tools)

Tool Description
list_item_versions List version history for an item
get_item_version Get details of a specific version
create_item_draft Create a draft from the current published version
update_item_draft Update draft field values
discard_item_draft Discard the current draft (non-destructive)
publish_item_draft Publish the draft as the live version
rollback_item_version Create a draft from a historical version

Documents (5 tools + 7 versioning tools)

Tool Description
list_documents List all documents (singletons like homepage, about page)
get_document Get a document by ID
create_document Create a new document
update_document Update a document's name or key
delete_document Delete a document

Document Fields (5 tools)

Tool Description
list_document_fields List all fields in a document
create_document_field Add a new field to a document
update_document_field Update a field's configuration
delete_document_field Remove a field from a document
reorder_document_fields Change the display order of fields

Document Sections (4 tools)

Tool Description
list_document_sections List all sections in a document
create_document_section Create a new section to group fields
update_document_section Update a section's name
delete_document_section Delete a section

Document Values (2 tools)

Tool Description
get_document_values Get all field values for a document
set_document_values Set field values for a document

Document Publishing (2 tools)

Tool Description
publish_document Publish a document
unpublish_document Unpublish a document

Document Versioning (7 tools)

Tool Description
list_document_versions List version history for a document
get_document_version Get details of a specific version
create_document_draft Create a draft from the current published version
update_document_draft Update draft field values
discard_document_draft Discard the current draft (non-destructive)
publish_document_draft Publish the draft as the live version
rollback_document_version Create a draft from a historical version

Media (7 tools)

Tool Description
list_media List all media assets
get_media Get a media asset by ID
upload_media_from_url Upload media from a URL
update_media Update media metadata (alt text, title)
delete_media Delete a media asset
publish_media Publish a media asset
unpublish_media Unpublish a media asset

SEO (4 tools)

Tool Description
get_item_seo Get SEO metadata for a collection item
set_item_seo Set SEO metadata for a collection item, including Schema.org structured data
get_document_seo Get SEO metadata for a document
set_document_seo Set SEO metadata for a document, including Schema.org structured data

Delivery API (5 tools)

Tool Description
delivery_list_collections List published collections (public API)
delivery_get_collection Get a published collection (public API)
delivery_list_items List published items in a collection (public API)
delivery_get_item Get a published item (public API)
delivery_get_document Get a published document (public API)

What Can You Do?

Once connected, try asking your AI assistant:

Content Creation

  • "Create a blog collection with title, content, author, and featured image fields"
  • "Add 5 blog posts about web development best practices"
  • "Create an About page document with hero title, description, and team section"

Content Management

  • "List all my collections and their field schemas"
  • "Update the hero title on my homepage to 'Build faster with AI'"
  • "Publish all draft items in the blog collection"

Media

  • "Upload this image from URL and set it as the featured image for my latest blog post"
  • "List all media assets and show me which ones are unpublished"

SEO

  • "Set SEO metadata for all blog posts — generate meta titles and descriptions based on the content"
  • "Check which items are missing SEO metadata"

Site Discovery

  • "Show me the structure of my site — all collections, documents, and their fields"
  • "What content types do I have? List everything."

Content Delivery

  • "Fetch my published blog posts and show me what the delivery API returns"
  • "Check if the homepage document is published and what data it serves"

Troubleshooting

"EELZAP_API_KEY is required"

The server can't find your API key. Make sure it's set in the env section of your MCP config (all tools, including Codex via [mcp_servers.eelzap.env]).

"Connection refused" or "ECONNREFUSED"

The server can't reach the API. Check:

  • Your EELZAP_BASE_URL is correct (default: https://api.eelzap.com)
  • If using local dev, ensure the CMS app is running on the expected port

"401 Unauthorized"

Your API key is invalid or expired. Generate a new one from the Eel Zap dashboard (Settings > API Keys) and run eelzap-mcp switch-key.

"403 Forbidden"

You're using a public key (public_) for a write operation. Switch to a secret key (secret_).

Server not appearing in your tool

  • Claude Code: Restart Claude Code or run /mcp to check server status
  • Cursor: Restart Cursor; check Settings > Tools & MCP for server status
  • VS Code: Check the MCP panel; try "MCP: List Servers" from the command palette
  • Codex: Restart Codex; ensure the TOML config is at ~/.codex/config.toml
  • Claude Desktop: Fully quit and reopen Claude Desktop (config changes require restart)

Tools not loading / "No tools available"

The server starts but tools aren't registered. Run eelzap-mcp doctor to diagnose, or check the server logs for errors during startup.

Development

git clone https://github.com/8ux-co/eelzap-mcp-server.git
cd eelzap-mcp-server
npm install
npm run build
npm test

Run locally during development:

EELZAP_API_KEY=secret_... npx tsx src/index.ts

Test with MCP Inspector:

EELZAP_API_KEY=secret_... npx @modelcontextprotocol/inspector npx tsx src/index.ts

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured