Skip to content

feat(mcp-server): register MCP Server project type (PR1: registration)#457

Merged
zigrivers merged 26 commits into
mainfrom
feat/mcp-server-registration
May 31, 2026
Merged

feat(mcp-server): register MCP Server project type (PR1: registration)#457
zigrivers merged 26 commits into
mainfrom
feat/mcp-server-registration

Conversation

@zigrivers
Copy link
Copy Markdown
Owner

Summary

First of two PRs implementing the mcp-server project type, per the design in
docs/architecture/mcp-server-project-type-research.md (merged #451) and the
plan in docs/superpowers/plans/2026-05-30-mcp-server-project-type.md.

PR1 registers the type end-to-end (a working, selectable, detectable type),
mirroring the research precedent (commit 506a01f):

  • Schema: mcp-server enum value + McpServerConfigSchema (6 fields:
    language required; transport/primitives/auth/deployment/stateful
    defaulted) wired into ServiceSchema/ProjectSchema; McpServerConfig type +
    ServiceConfig/ProjectConfig/DetectedConfig.
  • Validator: mcpServerCouplingValidator (coupling + stdio⇒no-network-auth
    cross-field rule).
  • Detector: conservative detectMcpServer (SDK dep alone = medium; dep +
    entrypoint registering MCP primitives = high) + registration + preference.
  • CLI/wizard: wizard copy, --mcp-* flag family, interactive questions
    (auto-mode purity verified), adopt TYPE_KEY/schemaForType arms, init+adopt
    CLI options.
  • Overlay: thin mcp-server-overlay.yml (disables UI steps; database-schema
    if-needed). Knowledge injection + the mcp-tool-resource-contract step are
    PR2.
  • Docs: README updated.

Built via subagent-driven development (12 tasks, each spec- + quality-reviewed,
plus a final whole-branch review). No PR2 content included.

Test Plan

  • make check-all green on the rebased branch (vitest 3214 passed/1 skipped,
    lint, tsc, bats, mmr, guides drift + citation gates)
  • CI check job passes
  • Multi-model review (mandatory) clean

@zigrivers zigrivers force-pushed the feat/mcp-server-registration branch from fa3cbca to c261ada Compare May 31, 2026 16:15
zigrivers and others added 26 commits May 31, 2026 11:43
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tion=high)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds mcp-server to all five README locations (project-type enum, MCP
Server Config Flags section, overlay table, detection table + count,
and flag-family wiring prose). Also fixes 8 pre-existing ESLint errors
introduced by PR1 tasks (max-len, quotes, no-explicit-any).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tive wizard test

Mirror the coerceCSV convention used by backend-data-store, cli-distribution,
and ext-ui-surfaces: switch mcp-primitives from type:'array'+choices to
type:'string'+array:true+coerce:coerceCSV (no choices) in both init.ts and
adopt.ts so --mcp-primitives tools,resources parses to ['tools','resources'].
Add enum validation in applyFlagFamilyValidation for consistency. Add an
interactive-path test for the mcp-server wizard verifying that stdio transport
forces auth=none and deployment=local without prompting for those fields.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…primitives, schema refine, detector entrypoints, docs, tests)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…l PR2 labels from shipped content

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…rlay step-enablement E2E test

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…s wizard), local deploy default, docs + tests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lients); explicit-stdio coupling check; README family list
@zigrivers zigrivers force-pushed the feat/mcp-server-registration branch from 123fca0 to 88192fe Compare May 31, 2026 17:51
@zigrivers zigrivers merged commit e992967 into main May 31, 2026
1 check passed
@zigrivers zigrivers deleted the feat/mcp-server-registration branch May 31, 2026 17:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant