decocms-mcp-development

Build and maintain MCP servers in the decocms/mcps monorepo using the deco HTTP runtime pattern.

9|4|Updated Nov 5, 2025
One-click install
npx skills add https://github.com/decocms/mcps --skill decocms-mcp-development-decocms
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: decocms-mcp-development
Source: https://github.com/decocms/mcps/tree/main/.claude/skills/decocms-mcp-development
Command: npx skills add https://github.com/decocms/mcps --skill decocms-mcp-development-decocms

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers working in the decocms/mcps monorepo need to follow strict conventions for creating MCP servers, including mandatory authentication, specific tool definition patterns, and registry configuration, and this Skill encodes all of those rules so new MCPs are built correctly the first time. ## Core Features & Use Cases - Custom Server Scaffolding: Provides the complete deco HTTP server pattern with withRuntime, createPrivateTool, withAuth, and the required file layout (server/, shared/, app.json). - Official Server Migration: Guides converting a custom-hosted MCP to an official external server by updating app.json and removing server code, deploy entries, and workspace references. - Registry Configuration: Defines the app.json schema including connection URL, auth headers, categories, and mesh_description metadata. - Use Case: When asked to add a new weather API MCP to the monorepo, this Skill produces the correct directory structure, authenticated server entry point, zod-validated tools, and deploy.json registration. ## Quick Start Create a new MCP called weather-api in the decocms/mcps monorepo with an authenticated deco HTTP server and one example tool.

Frequently Asked Questions about decocms-mcp-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a new MCP in the decocms/mcps monorepo?▼

Create a directory with app.json, package.json, tsconfig.json, and a server/ folder containing main.ts with withRuntime and tools. Then add it to the root package.json workspaces array, add a deploy.json entry, and run bun install.

How do I add authentication to a deco MCP server?▼

Wrap the runtime fetch handler with withAuth from @decocms/mcps-shared/auth before serving. It compares request credentials against the AUTH_TOKEN environment variable in constant time, and the server fails to boot if the variable is missing.

What is the difference between custom and official MCP servers?▼

Custom servers are deco HTTP servers you build and host with server code, package.json, and deploy.json entries. Official servers run externally and only need an app.json with the connection URL and official set to true, with no auth field.

How do MCP tools read the user's API key in deco runtime?▼

Tools read the key from env.MESH_REQUEST_CONTEXT.authorization, stripping the Bearer prefix. The Env interface comes from shared/deco.gen.ts, and a getApiKey helper in server/lib/env.ts centralizes this logic.

Why does my MCP fail the check:auth CI validation?▼

The check fails if the server handler is not wrapped in withAuth or if tools use plain createTool instead of createPrivateTool. Legacy MCPs are listed in auth-exemptions.json, but adding entries requires reviewer sign-off.

How do I migrate a custom MCP to an official external server?▼

Update app.json with the official connection URL and set official to true, then delete the server/, shared/, package.json, and tsconfig.json files. Finally remove its entries from deploy.json and the root workspaces, and run bun install.