Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Decocms Mcp Deploy

ASecurity

Understand and manage CI/CD for the decocms/mcps monorepo. Covers deploy.yml (Cloudflare Workers), publish-registry.yml (registry publish), checks.yml, and publish-jsr.yml. Explains the two deploy platforms and how detection works.

9 stars
0 votes
0 copies
0 views
Added 9/22/2026
devopssqlkubernetestestingdebuggingapici/cd

Works with

cliapimcp

Security Analysis

A100/100

Scanned 9/22/2026

Install to Claude Code

$npx -y skills add decocms/mcps --skill decocms-mcp-deploy --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Decocms Mcp Deploy?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Decocms Mcp Deploy
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/decocms-decocms-mcp-deploy/badge)](https://www.skillsdirectory.com/skills/decocms-decocms-mcp-deploy)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: decocms-mcp-deploy
description: Understand and manage CI/CD for the decocms/mcps monorepo. Covers deploy.yml (Cloudflare Workers), publish-registry.yml (registry publish), checks.yml, and publish-jsr.yml. Explains the two deploy platforms and how detection works.
---

# MCP Deploy Pipeline — decocms/mcps

## When to Use This Skill

- Understanding why a deploy/publish did not trigger
- Adding a new MCP to the CI/CD pipeline
- Debugging workflow failures
- Figuring out which workflow handles which MCP type

---

## Two Deployment Platforms

### kubernetes-bun (HTTP custom servers)

MCPs hosted on Deco infrastructure. Deployed by **publishing to the registry** — the platform auto-redeploys when registry is updated.

**Workflow**: `publish-registry.yml` → `scripts/publish-one.ts` → HTTP POST to `studio.decocms.com`

### cloudflare-workers (CF Worker MCPs)

MCPs hosted on Cloudflare Workers. Deployed via **deco CLI** (`deco deploy`).

**Workflow**: `deploy.yml` → `scripts/deploy.ts` → `deco deploy ./dist/server`

### Official external servers (app.json only)

MCPs pointing to external servers (Cloudflare official, Grain, Apify, etc.). No server deployment needed — only registry metadata published.

**Workflow**: `publish-registry.yml` only

---

## Workflow Summary

| Workflow | Trigger | What it does |
|----------|---------|--------------|
| `checks.yml` | push/PR | fmt, lint, typecheck changed MCPs |
| `publish-registry.yml` | push to main, manual | Publish app.json MCPs to Mesh registry |
| `deploy.yml` | push to main, manual | Build + `deco deploy` for CF Worker MCPs |
| `publish-jsr.yml` | push to main (shared/ or openrouter/) | Publish packages to JSR |

No `deploy-preview.yml` — preview deploys on PRs were removed.

---

## Detection Logic

### `detect-changed-mcps.ts`

Detects which MCPs have changed based on:
1. MCPs in `deploy.json` with `watch` patterns matching changed files
2. Registry-only MCPs (have `app.json` but NOT in `deploy.json`) — detected if any file in their dir changed

### `deploy.json` — controls what gets deployed

```json
{
  "mcp-name": {
    "site": "site-name",
    "entrypoint": "./dist/server/main.js",
    "platformName": "kubernetes-bun",
    "watch": ["mcp-name/**", "shared/**"]
  }
}
```

- **kubernetes-bun**: entry exists for detection, but `deploy.ts` exits early (publish-registry handles deploy)
- **cloudflare-workers**: entry triggers `deco deploy` via `deploy.ts`

---

## `deploy.ts` Logic

```
if wrangler.toml exists → CF Worker → build + deco deploy
else                    → kubernetes-bun → exit 0 (publish-registry handles it)
```

---

## CF Worker MCPs (platformName: cloudflare-workers)

sora, gemini-pro-vision, pinecone, reddit, replicate, readonly-sql, datajud, whisper

All have `wrangler.toml` in their directory.

---

## Adding a New MCP to the Pipeline

### Custom server (kubernetes-bun)
1. Add to `deploy.json` with `platformName: kubernetes-bun`
2. Add `app.json` — `publish-registry.yml` handles it automatically

### CF Worker MCP
1. Add to `deploy.json` with `platformName: cloudflare-workers`
2. Ensure `wrangler.toml` exists in the MCP dir
3. Optionally add `app.json` for registry metadata

### Official server (app.json only)
1. Just create `app.json` — no `deploy.json` entry needed
2. `publish-registry.yml` auto-detects it as a registry-only MCP

---

## publish-registry.yml

- Filters all changed MCPs that have an `app.json`
- Runs `scripts/publish-one.ts <mcp>` for each
- Posts to `studio.decocms.com/org/deco/registry/publish-request`
- Uses `PUBLISH_API_KEY` secret
- Has `dry_run` option for testing

## Manual Deploy / Publish

Both `deploy.yml` and `publish-registry.yml` support `workflow_dispatch` with a comma-separated `mcps` input:

```
# Deploy specific CF Worker MCPs manually
mcps: "pinecone,reddit"

# Publish specific MCPs to registry manually
mcps: "perplexity,slack-mcp"
```

## Secrets Required

| Secret | Used by |
|--------|---------|
| `DECO_DEPLOY_TOKEN` | deploy.yml (deco deploy CLI) |
| `PUBLISH_API_KEY` | publish-registry.yml |
| `OPENAI_API_KEY` + others | deploy.yml (env vars passed to CF Workers) |

Attribution

decocmsdecocms
View sourceMore from decocms →
SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Terraform Module Library

Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components.

397921 votes

sematext-otel

Wire a service's OpenTelemetry output to Sematext Cloud. Walks through region, App-type, instrumentation flow (managed OTLP endpoint vs Sematext Agent), and signal selection (traces/metrics/logs), then produces the exact env-var block and points at a runnable reference example in this repo. Invoke when instrumenting a new app for Sematext.

01 votes

Deployment Patterns

Deployment workflows, CI/CD pipeline patterns, Docker containerization, health checks, rollback strategies, and production readiness checklists for web applications. Use when setting up deployment infrastructure or planning releases.

2648130 votes

Babysit

Watch a pull request or review cycle until it is ready to merge. Use when asked to babysit, monitor, or keep checking PR comments, reviews, and CI until all actionable issues are resolved.

942310 votes

V7 Roster

Interact with the Paperclip control plane API for task coordination and governance. Use when checking assignments, updating issue status, posting comments, delegating work, managing routines, or calling Paperclip API endpoints.

805540 votes
View all in devops →