mcp-app-builder
MCP App Builder
Use when
- Build a hosted MCP server or ChatGPT app.
- Add or refine widget UI for an MCP tool flow.
- Wrap an API or product surface with MCP.
- Choose between
server-only,server + UI, andMCPB. - Add auth, testing, troubleshooting, or submission readiness to an existing app.
Do not use when
- The task is generic non-OpenAI MCP work where ChatGPT and Apps SDK compatibility do not matter.
- The task is only about Codex plugin packaging, local skill packaging, or Cursor configuration.
- The job is already a known MCPB packaging task with platform-specific distribution details that exceed these references.
Defaults
- Classify first:
server-only,server + UI, orMCPB. - Prefer hosted HTTPS MCP servers for anything shared, reviewable, or ChatGPT-facing.
- Add UI only when inline interaction materially improves the user job.
- Use the MCP Apps bridge by default; treat
window.openaias an optional ChatGPT-only enhancement. - Keep tool boundaries narrow, annotations accurate, and payloads split cleanly across
structuredContent,content, and_meta. - Prefer separate data tools and render tools when that reduces widget remounts or gives the model better control.
- Escalate to
MCPBonly for filesystem, desktop, localhost, or OS-bound requirements.
Required workflow
- Read
references/source-of-truth.mdfirst and choose the correct branch:server-only,server + UI, orMCPB. - Define the user job, golden prompts, tool surface, and metadata before writing implementation advice.
- Pick transport and SDK deliberately, with hosted HTTPS as the default and local stdio only for short-lived spikes.
- Specify each tool with intent, schema, annotations, and result shape before discussing handlers.
- If UI exists, require a versioned
text/html;profile=mcp-appresource, MCP Apps bridge messaging, and explicit CSP/domain decisions. - Cover auth, state, testing, troubleshooting, and submission readiness before finalizing the recommendation.
Output contract
- Always produce a concrete build spec, not generic advice.
- Include the chosen branch and why it wins over the alternatives.
- Include transport and hosting choice, SDK/runtime choice, and the tool inventory with argument and result shapes.
- Include annotation decisions, payload boundaries, and any auth or storage requirements.
- Include the UI strategy when relevant: resource URI, bridge pattern, state approach, CSP, domain, and any
window.openaiusage. - Include the test path: unit coverage, MCP Inspector, ChatGPT developer mode, and mobile checks when UI exists.
- Include release-readiness notes: troubleshooting risks, submission blockers, or why submission is out of scope.
Load references
- Read
references/source-of-truth.mdfirst for the canonical OpenAI page order. - Read
references/patterns-and-decisions.mdfor branch selection, tool rules, payload design, UI architecture, and MCPB escalation. - Read
references/release-checklist.mdbefore finalizing auth, testing, troubleshooting, or submission guidance.
More from mylesmcook/mcook-skills
adversarial-review
Use this skill when you need a serious code review, diff review, or implementation-plan review from independent reviewers. In Codex hosts, prefer a fresh Codex subagent for the Codex reviewer; otherwise use the Codex, Claude Code, and Gemini reviewer paths when available. Return a PASS, CONTESTED, or REJECT verdict.
13subagent-driven-development
Use after an implementation plan is approved to execute mostly independent tasks through fresh subagents with scoped context, harness-aware model routing, proportional review gates, and mandatory controller verification.
10brainerd
>
10simple-code
Reduce incidental complexity in code and design. Use when shaping APIs, module boundaries, refactors, tests, naming, and architecture tradeoffs with a bias toward concrete, local, reversible solutions.
7git-it-out
Use this skill when the user explicitly wants final end-of-session closeout and no more branch or PR limbo: proper verification, proper commits, main/mainline landing, push, repo-native merge/release/deploy/publish steps, tracker updates, Entire/checkpoint handling when configured, and a concise handoff. Reach for it on prompts like 'git it out', 'get it out', 'ship this', 'I'm done', 'I'm going to bed', 'take this off my plate', 'finish the session', or 'get this into production'. Do not use it for greenfield implementation, open-ended debugging, broad refactors, or inventing a release process from scratch.
7laws-of-taste
>-
6