Developer Tools

Claude MCP

Connect Claude to your Cellpy Workspace and author blocks in plain language.

The Cellpy MCP server is a hosted Model Context Protocol server at https://mcp.cellpy.com. Connect it to Claude Desktop once and you can describe blocks in natural language, push them to your Workspace, and iterate — all inside a conversation.

Nothing to install
The MCP server is fully hosted. No npm packages, no local process to run.
Claude & VS Code Copilot
Works with Claude Desktop, Claude.ai, VS Code Copilot, and any MCP-compatible client.
Push straight to Workspace
Blocks land in your dashboard for review before anything goes live.
Iterative by design
Each conversation turn can refine and push a new version — history is preserved.

Prerequisites

What you need before connecting.

  • Cellpy accountsign up free if you don't have one.
  • API token — created in the Cellpy dashboard under Account → API Tokens.
  • Claude Desktop (or any MCP-compatible client) — download from claude.ai/download.

Connect: Claude

Point Claude Desktop at the Cellpy MCP server.

1
Create an API token

In the Cellpy dashboard go to Account → API Tokens → New token. Name it something like claude-desktop. Copy the token — it is shown only once.

Treat your API token like a password. Never share it or commit it to source control.
2
Add Cellpy in Claude Desktop settings

Open Claude Desktop → Settings → Integrations → Add MCP Server. Enter the server URL and paste your token:

Claude Desktop — Add MCP Server
Server URL
https://mcp.cellpy.com
API Token
your_token_here

Prefer editing the config file directly? Open claude_desktop_config.json (found in Claude Desktop → Settings → Developer) and add:

json
{
  "mcpServers": {
    "cellpy": {
      "url": "https://mcp.cellpy.com",
      "headers": {
        "Authorization": "Bearer your_token_here"
      }
    }
  }
}
3
Restart Claude Desktop and verify

Quit and reopen Claude Desktop. The Cellpy tools will appear in the conversation toolbar (look for the plug icon). Verify by asking Claude: "List my Cellpy containers."


Connect: VS Code Copilot

Add the Cellpy MCP server to GitHub Copilot in VS Code 1.102+.

Three things that cause silent failures:
  • Config root key must be "servers"not "mcpServers" (the Claude Desktop key). VS Code ignores "mcpServers" entirely.
  • Config file is mcp.jsonnot settings.json. Entries in settings.json are ignored by the MCP subsystem.
  • Tools only appear in Agent Mode. Open Copilot Chat (Ctrl+Alt+I) and switch the mode dropdown to Agent — tools are invisible in Ask or Edit modes.
1
Option A — Command Palette (recommended)

The easiest path. VS Code writes mcp.json for you, then you add your token.

  1. Open Command Palette — Ctrl+Shift+P
  2. Type MCP: Add Server and select it
  3. Choose HTTP or Server Sent Events
  4. Paste the URL: https://mcp.cellpy.com/mcp
  5. Enter a name: cellpy
  6. Choose Global (all projects) or Workspace
  7. Open the generated mcp.json via MCP: Open User Configuration and add your token under headers (see Option B below)
2
Option B — Edit mcp.json directly

Open Command Palette → MCP: Open User Configuration and add:

json
{
  "servers": {
    "cellpy": {
      "type": "http",
      "url": "https://mcp.cellpy.com/mcp",
      "headers": {
        "Authorization": "Bearer cpy_YOUR_API_TOKEN"
      }
    }
  }
}

Replace cpy_YOUR_API_TOKEN with a token from Account → API Tokens.

3
Verify in Copilot Chat
  1. Open Copilot Chat — Ctrl+Alt+I
  2. Switch the mode dropdown to Agent
  3. Click the plug icon (Select Tools) — confirm list_blocks and push_to_workspace appear under Cellpy
  4. Type "List my Cellpy blocks" to confirm the connection works
Model choice: Cellpy's MCP server is model-agnostic. Switch freely between GPT-4.1, Claude Sonnet/Opus, Gemini 2.5, or local Ollama models in Copilot Chat — the server responds identically regardless of which model initiates the tool call.
Copilot Business / Enterprise: An organization administrator must enable MCP support before tools appear for members. Path: github.com → Your organization → Settings → Copilot → Policies → MCP servers. It is disabled by default.

Available tools

The MCP server exposes these tools to Claude automatically.

NameTypeDescription
list_blockstoolReturns all blocks in your Workspace, including status, name, and creation date.
get_blocktoolReturns full HTML, CSS, and metadata for a specific block by ID or name.
push_blocktoolPushes a new block (name, HTML, CSS) to your Workspace. Returns the new block ID.
update_blocktoolReplaces the HTML and/or CSS of an existing Workspace block by ID.
list_containerstoolLists all containers in your organization with their current assigned block.
get_containertoolReturns the current state of a container including the live block version.
list_block_rulestoolReturns the block rules (CSS custom properties) exposed by a block.
Claude discovers all available tools automatically when connected — you don't need to reference them by name. Just describe what you want to do.

Creating blocks

Ask Claude to design a block and push it to your Workspace.

1
Start with a clear description

Begin a conversation and describe the block you need. Include the purpose, key content areas, visual style, and explicitly ask Claude to push it to your Workspace:

"Create a Cellpy block — a pricing card section with three tiers: Free ($0), Pro ($29/mo), and Enterprise (custom). Use an indigo accent color and highlight the Pro tier with a subtle background. Expose the accent color as a CSS variable. Push it to my Cellpy Workspace."
2
Claude generates and pushes

Claude writes the HTML and CSS, then calls push_block to send it to your Workspace. It will confirm with the block ID and a link to review it in the dashboard.

3
Review in Workspace

Open Workspace in the Cellpy dashboard. The block appears with status pending. Preview it at different container widths. When satisfied, click Save Block.

4
Assign to a container

Go to Containers, open your target container, assign the new block, and click Publish. The embed tag on your live page updates immediately — no code changes needed.


Iterating & refining

Conversationally refine a block across multiple turns.

Claude maintains context across the conversation. You can refine a block across many turns — each refinement pushes a new version to your Workspace while preserving the history.

You
Create a Cellpy block — a team member card grid with a photo placeholder, name, title, and LinkedIn link. Push to Workspace.
Claude
Done — pushed as 'team-member-grid' (block ID: x7qP2k). I've added stub placeholders for the photos and exposed --cellpy-primary for the accent color.
You
Make the cards taller and add a short bio field below the title. Also make the hover state lift the card slightly.
Claude
Updated — pushed a new version. Cards are 40px taller, bio text uses a lighter color, and hover adds transform: translateY(-3px) with a box-shadow.

Prompting tips

Get better results with clearer prompts.

Always say it's a Cellpy block

Start with 'Create a Cellpy block —'. This cues Claude to use HTML + CSS only (no JavaScript), use :host selectors, and expose CSS custom properties.

Specify what to expose as CSS variables

Ask Claude to 'expose the primary color, background, and font as CSS variables with sensible defaults'. This makes your block themeable from the embed tag.

Ask for placeholder images

If the design needs photos, ask Claude to 'use placeholder images for now' — it will use placeholder.co-style stubs that you can replace in Workspace.

Include content, not just layout

Give Claude the actual copy: headings, button labels, pricing numbers. Placeholder text leads to generic designs. Real content leads to usable blocks.

Reference existing blocks

Ask Claude to 'list my Cellpy blocks' and then 'make this new block match the style of my existing hero-section block' for visual consistency.


Troubleshooting

Cellpy tools don't appear in Claude

Restart Claude Desktop fully (quit, not just close). Check that the server URL is exactly https://mcp.cellpy.com and your token is correct. In Claude Desktop → Settings → Developer, verify the JSON config is valid.

Claude says it can't push the block

Your API token may be expired or revoked. Go to Account → API Tokens in the dashboard, revoke the old token, and create a new one. Update the Claude Desktop config.

Block shows in Workspace but looks wrong

Claude may have generated JavaScript (which is stripped at runtime) or used external images. Ask Claude to 'fix the block without JavaScript' or 'replace external images with CSS backgrounds or placeholder.co URLs'.

I want to push to production, not staging

By default, blocks pushed via MCP land in staging. Ask Claude to 'push this to my production Workspace' — it will use the production environment flag.

Cellpy tools don't appear in VS Code Copilot

Check three things in order: (1) the config root key is "servers", not "mcpServers" — VS Code ignores the wrong key silently; (2) the config is in mcp.json, not settings.json; (3) you are in Agent Mode in Copilot Chat (Ctrl+Alt+I) — tools are invisible in Ask and Edit modes.

VS Code Copilot tools appear but calls return 401

The Authorization header is missing or wrong in mcp.json. Open Command Palette → MCP: Open User Configuration and confirm the headers block contains: "Authorization": "Bearer cpy_YOUR_TOKEN". The Command Palette wizard does not add this automatically.