Skip to Content
Agents & CLIMCP Plugin

MCP Plugin

The Model Context Protocol (MCP) plugin exposes a subset of Payload operations to MCP-capable agent clients (Claude Code, Claude Desktop, etc.) on top of the same service layer the CLI and REST API use.

What’s enabled

ShipMore ships a set of custom MCP tools that thinly wrap the same service layer the CLI and REST API use. Tool names are the public surface — an agent can also enumerate the live list directly from the MCP server at connect time. The tools fall into three groups:

  • page_* — page composition and lifecycle: page_create, page_add_block, page_update_block, page_remove_block, page_publish, page_unpublish, page_get, page_get_block, page_list, page_delete, plus page_add_pricing_section_for_subscription (creates a subscription product and injects a pricing-section-block).
  • tenant_* — tenant management: tenant_create, tenant_get, tenant_list, tenant_update_branding, tenant_assign_domain.
  • Composerpage_build (build a full page from a blocks spec) and block_schema (discover block schemas).

The generic collection find is intentionally disabled — full-page reads can blow MCP context. Use the scoped page_* / tenant_* read tools instead.

How agents connect

ShipMore’s MCP server runs in-process on the deployed box. Point your MCP client at:

https://<your-shipmore-box>/api/mcp

Authentication is separate from the CLI. The MCP plugin authenticates against its own payload-mcp-api-keys collection — generate a key in the Payload admin panel and pass it as a bearer token. (The CLI, by contrast, uses a standard Payload user API key — a different system.)

For Claude Desktop, add to your config:

{ "mcpServers": { "shipmore": { "url": "https://your-shipmore-box/api/mcp", "headers": { "Authorization": "Bearer YOUR_MCP_API_KEY" } } } }

Adapter rule

Each MCP tool is a thin wrapper: it validates its inputs against a schema and performs one operation. Tools hold no business logic of their own, so the same operation behaves identically whether it’s invoked over MCP, the CLI, or the admin.

Extending the MCP surface

The MCP surface is extensible — more of the platform’s operations can be exposed as tools over time. Agents discover whatever is available from the live tool list and from SKILL.md, so new operations show up without client changes.

When to add custom MCP tools vs. generic CRUD

Add a custom MCP tool when…Use generic CRUD when…
The operation has business logic (composition, multi-step orchestration, validation beyond field-level)Plain create/update/delete is enough and access control is sufficient
Generic find would return too much context (e.g. full pages with all blocks)Reads are small and well-bounded
There’s a CLI counterpart that already encapsulates the operationThe collection is simple and admin-managed

Reference