mcp: stdio MCP server wrapping dispatch() as generate_app tool#60
Merged
Conversation
Phase 2 distribution surface from MONETIZATION.md — same dispatch() core, exposed over stdio so any MCP-compatible AI assistant (Claude Code, Cursor, Cline, Continue, Goose, ...) can invoke the agent without the user dropping to a terminal. Ships as a second bin (nativeapptemplate-agent-mcp) so MCP clients can wire it up via `npx -y nativeapptemplate-agent-mcp`. Promotes the previously transitive @modelcontextprotocol/sdk and zod to direct deps so the bin keeps working after publish. Streaming progress is intentionally deferred — dispatch() doesn't emit events yet, and adding that is a separate task. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
dadachi
added a commit
that referenced
this pull request
May 24, 2026
…erred (#99) The Claude Code plugin was named as a packaging surface across SPEC, ROADMAP, README, and CLAUDE.md but never built, while the MCP server (PR #60) shipped and isn't a like-for-like replacement (wider reach, but today a single generate_app tool). Align all four docs on one story: - Shipped surfaces: CLI (primary) + `nativeapptemplate-agent-mcp` (multiplier). - Plugin → ROADMAP Post-v0.1 backlog, gated on streaming out of dispatch() + an orchestration skill (chain mobile-mcp walkthrough + validation), since against the single-tool MCP a plugin is a thin wrapper. - SPEC §8 historical prose left frozen per the doc's own convention; the addendum now corrects the record. - MONETIZATION.md already aligned (leans on MCP, silent on plugin) — unchanged. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
src/mcp.ts— stdio MCP server exposingdispatch()as a singlegenerate_apptool. Same backend as the CLI; different wire format. Phase 2 distribution surface perdocs-private/MONETIZATION.md§"MCP as a distribution surface".nativeapptemplate-agent-mcpso MCP clients (Claude Code, Cursor, Cline, Continue, Goose, …) can wire it up vianpx -y nativeapptemplate-agent-mcp. Promotes@modelcontextprotocol/sdkandzodfrom transitive to direct deps so the bin keeps working after publish.createMcpServer()and routestools/call generate_appthrough the stub dispatch end-to-end.Streaming progress is intentionally deferred —
dispatch()doesn't emit events yet, and that's a separate task.Test plan
npm run ci— 20/20 tests green, including the new MCP roundtripdist/mcp.js—initialize+tools/listreturn correctserverInfoand thegenerate_appschemanpx -y nativeapptemplate-agent-mcpinto a Claude Code.mcp.jsonand rungenerate_appagainst a stub spec from a real MCP client🤖 Generated with Claude Code