Harness Integrations
July 8, 2026 ยท View on GitHub
Cloudwright ships an MCP server (cloudwright mcp), a CLI, and a GitHub Action. Most AI coding
harnesses in 2026 are MCP clients, so one server reaches almost all of them, but each harness
wants the server entry in a different file, under a different JSON (or TOML) key, and each has
its own convention for the plain-text rules file that steers agent behavior. This page is the
per-harness wiring reference. Run cloudwright integrate --list for the same table from the
terminal, and cloudwright integrate --harness <name> for the exact snippet plus --write to
drop it straight into the right file.
Related: MCP Reference | CLI Reference | GitHub Action | README
How the MCP server launches
There is no separate console script for the MCP server. Every harness below launches it the same
way: command cloudwright, args ["mcp"] (the server defaults to stdio transport; pass
["mcp", "--transport", "stdio"] if a harness wants that spelled out explicitly). The differences
between harnesses are entirely in where that command/args pair goes and what key it sits under.
Harness table
| Harness | MCP client? | Config file and key | Rules file | How to wire |
|---|---|---|---|---|
| Claude Code | Yes | .mcp.json (project) or ~/.claude.json (user), key mcpServers | CLAUDE.md (does not read AGENTS.md) | cloudwright integrate --harness claude-code --write |
| Cursor | Yes | .cursor/mcp.json (project) or ~/.cursor/mcp.json, key mcpServers | AGENTS.md (native) plus .cursor/rules/*.mdc | cloudwright integrate --harness cursor --write |
| Cline | Yes | cline_mcp_settings.json under the VS Code extension's global storage, key mcpServers | .clinerules (AGENTS.md support is global-only and contested) | cloudwright integrate --harness cline --write --output <path> |
| Windsurf | Yes | ~/.codeium/windsurf/mcp_config.json, key mcpServers | .windsurfrules (also reads AGENTS.md) | cloudwright integrate --harness windsurf --write |
| GitHub Copilot | Yes | .vscode/mcp.json, key servers (not mcpServers), entries need "type": "stdio" | .github/copilot-instructions.md plus native AGENTS.md | cloudwright integrate --harness copilot --write |
| Zed | Yes | .zed/settings.json (project) or ~/.config/zed/settings.json, key context_servers | .rules (falls back to AGENTS.md) | cloudwright integrate --harness zed --write |
| OpenAI Codex CLI | Yes | ~/.codex/config.toml, TOML table [mcp_servers.cloudwright] | AGENTS.md (canonical origin of the convention) | cloudwright integrate --harness codex --write |
| JetBrains Junie | Yes | .junie/mcp/mcp.json, key mcpServers | AGENTS.md (primary), .junie/guidelines.md (legacy fallback) | cloudwright integrate --harness junie --write |
| Kiro | Yes | .kiro/settings/mcp.json (project) or ~/.kiro/settings/mcp.json, key mcpServers | .kiro/steering/*.md (own convention); list AGENTS.md too | cloudwright integrate --harness kiro --write |
| Antigravity | Yes | ~/.gemini/config/mcp_config.json, key mcpServers | AGENTS.md; confirm whether GEMINI.md still applies | cloudwright integrate --harness antigravity --write |
| Aider | No | n/a | AGENTS.md | See "Not an MCP client" below |
Not an MCP client: Aider
Aider has no shipped MCP integration. Use the CLI pipe path instead: from an Aider session, run
/run cloudwright design "<description>" --json
and parse the structured output directly. cloudwright integrate --harness aider prints this
guidance along with the rules-file note (Aider reads AGENTS.md natively, same as most of the
harnesses above). Unofficial third-party MCP bridges for Aider exist (mcpm-aider,
aider-mcp-server) but are not something cloudwright depends on for a supported path.
Discontinued or superseded (not generated by integrate)
cloudwright integrate does not generate configs for these; asking for one by name returns a
message pointing at the live successor instead.
- Roo Code was sunset in April 2026 and its repo was archived in May 2026. No successor is tracked here.
- Continue.dev was acquired by Cursor in June 2026; its repo is now read-only. Wire Cursor instead.
- Amazon Q Developer is being sunset by AWS in favor of Kiro, which carries over MCP
support. Use
cloudwright integrate --harness kiro. - Google Gemini CLI stopped serving individual/free-tier users in June 2026 in favor of
Antigravity. Use
cloudwright integrate --harness antigravity.
The rules-file block
cloudwright integrate --rules emits a short, harness-agnostic block that tells an agent to gate
infrastructure work through cloudwright:
## Cloudwright gate
Before proposing, generating, or applying cloud infrastructure or Terraform, Pulumi, or
CloudFormation changes, run cloudwright first:
- `cloudwright design "<description>" --json` for a typed architecture spec
- `cloudwright review <spec.yaml>` for an offline architecture critique (no LLM, free)
- `cloudwright cost <spec.yaml>` for a per-component cost estimate
- `cloudwright compliance <spec.yaml> --frameworks <hipaa,soc2,...>` for control-mapped findings
Treat any high or critical review or compliance finding as a blocker. Fix it before writing
Terraform, Pulumi, or CloudFormation.
Use --agent-file to pick which file it targets:
--agent-file value | File | Why it exists as a separate target |
|---|---|---|
agents (default) | AGENTS.md | Read natively by Cursor, Windsurf, Copilot, Codex, Junie, Aider, and Kiro; Zed falls back to it |
claude | CLAUDE.md | Claude Code does not read AGENTS.md at all, so it needs its own copy |
gemini | GEMINI.md | Gemini CLI's default context file; AGENTS.md is not read unless manually reconfigured |
--write appends the block to the target file (creating it if missing) behind an HTML comment
marker so a second run does not duplicate it; pass --force to replace an already-installed
block in place.
Quick start
# See every supported harness and what it needs
cloudwright integrate --list
# Wire Claude Code and Cursor in one repo
cloudwright integrate --harness claude-code --write
cloudwright integrate --harness cursor --write
# Add the gate instructions everywhere AGENTS.md is read, plus a CLAUDE.md copy for Claude Code
cloudwright integrate --rules --write
cloudwright integrate --rules --agent-file claude --write
# Machine-readable output for scripting
cloudwright --json integrate --harness codex