Skip to content

feat(templates): add MCP HTTP server template — #96 follow-on#33

Merged
Shooksie merged 3 commits intomainfrom
feat/http-mcp-templates
Apr 1, 2026
Merged

feat(templates): add MCP HTTP server template — #96 follow-on#33
Shooksie merged 3 commits intomainfrom
feat/http-mcp-templates

Conversation

@Shooksie
Copy link
Copy Markdown
Contributor

@Shooksie Shooksie commented Apr 1, 2026

Summary

  • Adds mcp-server-http as a first-class project type, enabling ao init to auto-detect and scaffold MCP HTTP server projects
  • Auto-detection checks for @modelcontextprotocol/sdk in package.json + HTTP transport indicators (StreamableHTTPServerTransport, SSEServerTransport, or HTTP server deps like express/fastify/hono)
  • New agent roles: mcp-implementer, transport-engineer, quality-engineer, type-safety-engineer
  • New phase pipeline: tool-design → transport-setup → implementation → type-checking → tool-validation → integration-testing → documentation
  • Template listed in ao templates output with description and suitable-for metadata

Test plan

  • pnpm build — tsc clean, zero type errors
  • pnpm test — 259/259 tests pass (all pre-existing suites green)
  • Manual: run ao init in an MCP HTTP server project (with @modelcontextprotocol/sdk + express dep) and verify .ao/agents-mcp-http.yaml + .ao/phases-mcp-http.yaml are generated
  • Manual: run ao templates and verify mcp-server-http appears in the list

Context

Part of #96 follow-on work. ao-cli#96 shipped HTTP/remote MCP server support in the core engine; this PR ensures ao-starter can scaffold the corresponding .ao/ config for teams building those servers.

🤖 Generated with Claude Code

Shooksie and others added 3 commits April 1, 2026 08:37
Adds `mcp-server-http` as a first-class project type in ao-starter.
Teams building MCP servers with StreamableHTTP or SSE transport can now
run `ao init` and get purpose-built agent + phase configs out of the box.

Changes:
- New project type `mcp-server-http` in ProjectType union (types/index.ts)
- Auto-detection in ProjectDetector: looks for @modelcontextprotocol/sdk
  dependency + HTTP transport indicators (express/fastify/hono deps or
  StreamableHTTPServerTransport / SSEServerTransport in source files)
- mcp-server-http-agents.yaml.hbs: mcp-implementer, transport-engineer,
  quality-engineer, type-safety-engineer agents
- mcp-server-http-phases.yaml.hbs: tool-design → transport-setup →
  implementation → type-checking → tool-validation → integration-testing
  → documentation pipeline
- template-generator.ts: outputs agents-mcp-http.yaml + phases-mcp-http.yaml
- templates.ts: adds entry to AVAILABLE_TEMPLATES list

Build: tsc clean. Tests: 259/259 pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The repo uses pnpm (pnpm-lock.yaml) but CI was configured for npm,
causing all CI jobs to fail with "Dependencies lock file is not found".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Lock files should be committed to ensure reproducible builds in CI
and across development environments.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Shooksie
Copy link
Copy Markdown
Contributor Author

Shooksie commented Apr 1, 2026

CI Status

CI is now running with the correct package manager (pnpm). Two fixes pushed:

  1. fix(ci): Switch CI workflow from npm to pnpm
  2. fix: Commit pnpm-lock.yaml and remove lock files from .gitignore

Remaining CI failures are pre-existing (all 3 recent main branch CI runs also fail):

  • Lint: _value unused in src/utils/prompts.ts:132 — existing code, not from this PR
  • Tests: TypeError: The "directory" argument must be of type string in logger.test.ts and cli.integration.test.ts — existing test issues

The PR's new code (templates, detector, types) builds and type-checks cleanly.

@Shooksie Shooksie merged commit 261c034 into main Apr 1, 2026
4 of 9 checks passed
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