Short answer
- For one project, save the entry in .kiro/settings/mcp.json; for all projects, in ~/.kiro/settings/mcp.json. The builder below writes either file, or a custom agent.
- Kiro uses the same "mcpServers" shape as Claude Code: "command" plus "args". If both files exist, Kiro merges them and the workspace wins.
- Leave approvals on for anything that types or clicks. If you like, let Kiro read pages without asking through autoApprove (in mcp.json) or allowedTools (in an agent).
- For a CAPTCHA or 2FA step, let Kiro stop, finish the check yourself in the same tab, then continue the conversation: in the CLI with kiro-cli chat --resume.
- Kiro needs a sign-in for everything, including its MCP commands. We checked what works before that and that every file from the builder starts the browser server.
LaunchRepo works with any coding agent that can read and write files in your workspace and control a browser. Kiro does both. This page documents a configuration and our checks; it is not a certification or partnership.
Build your mcp.json
Three choices, one file. Everything runs in your browser; nothing is sent anywhere.
If a file already exists, add only the chrome-devtools entry inside its "mcpServers" object instead of replacing the file. Kiro picks up the change when you save.
- IDE: open the command palette, run “Kiro: Open workspace MCP config (JSON)” or “Kiro: Open user MCP config (JSON)”, and paste the entry. MCP support must be enabled in Settings.
- CLI: save the file at the path above; agents go in .kiro/agents/ and you start them with kiro-cli chat --agent launchrepo.
- Ask Kiro to open https://example.com and read the page title. A correct title means the browser is connected.
Where Kiro looks for MCP servers
Three layers, highest first. Different server names add up; the same name is taken from the highest layer only.
- Agent config
The mcpServers field of a custom agent in .kiro/agents/ or ~/.kiro/agents/.
- Workspace
.kiro/settings/mcp.json in the project.
- User
~/.kiro/settings/mcp.json in your home folder.
- An agent can switch a server off for itself by defining it with "disabled": true, even if the workspace file starts it.
- With "includeMcpJson": true, an agent also gets every server from both mcp.json files.
- KIRO_HOME moves the whole ~/.kiro folder, useful for a separate launch profile on the same machine.
Which Kiro reads what
| Kiro | MCP configuration it reads |
|---|---|
| IDE and CLI | User, workspace and agent files |
| Web | Only the project .kiro/settings/mcp.json from the cloned repository |
| Mobile | No MCP servers from the repository |
Who approves browser actions
Kiro stacks several controls. For launch work, the rule of thumb is simple: reading may be automatic, typing and clicking should wait for you.
| Control | Where you set it | What it does |
|---|---|---|
| autoApprove / disabledTools | Server entry in mcp.json | Runs the listed tools without a prompt, or hides tools from the agent |
| allowedTools | Custom agent | Tools the agent may use without a prompt, e.g. @chrome-devtools/take_snapshot |
| Permission rules | ~/.kiro/settings/permissions.yaml, per workspace outside the repo, or in the agent | deny, ask or allow per capability, including mcp; deny always wins |
| Autopilot or Supervised | IDE chat switch | Supervised yields after each turn with file edits |
| --trust-tools / --trust-all-tools | CLI flags | Pre-approve tool groups or everything for one run |
- Leave --trust-all-tools off whenever Kiro is connected to a signed-in Chrome.
- Workspace permission rules live in your home folder, not in the repository, so a cloned project cannot approve tools for you.
- The configuration reference shows plain tool names in autoApprove, which the builder uses. If Kiro still asks for a read-only tool, use the exact name Kiro shows in its approval prompt.
CAPTCHA, 2FA and resuming
When the form reaches a CAPTCHA, 2FA prompt or passkey, Kiro should stop and describe the one step you take. With approvals on, it cannot click past the check anyway.
Complete the check in the same Chrome tab. With your own Chrome (--autoConnect) the tab stays open even after the chat ends. The temporary Chrome (--isolated) closed together with the browser server in all 3 checks, so keep that chat open until you are done.
Then continue the same conversation. In the IDE it is the open chat. In the CLI, Kiro saves sessions per folder; resume the latest one, or pick one by ID.
Headless runs (kiro-cli chat --no-interactive) need a Kiro API key from a paid plan. For launch work with handoffs, the interactive session is the natural fit.
- Resume the latest session in this folder
kiro-cli chat --resume- Resume a specific session
kiro-cli chat --resume-id <SESSION_ID>- List saved sessions
kiro-cli chat --list-sessions
What we checked without an account
Kiro needs a sign-in with GitHub, Google, AWS Builder ID or an organization before it runs any chat. We did not create an account. Instead we checked Kiro CLI 2.26.1 as far as it goes without one, 3 times in a fresh home folder, and started every file from the builder exactly as written.
| Check | Result |
|---|---|
Add a server from the command linekiro-cli mcp add --name chrome-devtools --scope workspace … | Refused before sign-in (3/3) |
List configured serverskiro-cli mcp list | Refused before sign-in (3/3) |
Show a server’s statuskiro-cli mcp status --name chrome-devtools | Refused before sign-in (3/3) |
Import a server from a JSON filekiro-cli mcp import --file import.json workspace | Refused before sign-in (3/3) |
List agentskiro-cli agent list | Refused before sign-in (3/3) |
| Installer from Kiro’s official download, checksum matches the manifest | kiro-cli 2.26.1 |
| kiro-cli whoami | “Not logged in” (3/3) |
| mcp.json written by the refused commands | None (3/3) |
| Flags in kiro-cli chat --help | --resume, --resume-id, --list-sessions, --require-mcp-startup, --trust-tools (3/3) |
| Every builder file starts Chrome DevTools MCP 1.10.1 as written | 12 of 12 files, 30 tools each (3/3) |
| Temporary Chrome (--isolated) after the browser server stops | Closed with it (3/3) |
| kiro-cli chat --no-interactive without sign-in | Opens the browser sign-in instead of failing (seen once, then left out) |
Same server, three config dialects
Coming from another agent? The Chrome DevTools MCP entry carries over between Kiro and Claude Code almost unchanged. OpenCode needs a different shape.
| Topic | Kiro | OpenCode | Claude Code |
|---|---|---|---|
| File | .kiro/settings/mcp.json | opencode.json | .mcp.json |
| Key | mcpServers | mcp | mcpServers |
| Command | "command" + "args" | one "command" array | "command" + "args" |
| Read without asking | autoApprove or allowedTools | permission rule "allow" | allow rule mcp__chrome-devtools__… |
| Topic | Wording | What it means for launch work |
|---|---|---|
| Two mcp.json files | If both files exist, configurations are merged with workspace settings taking precedence. | A project entry overrides your personal one of the same name. |
| Highest priority | Agent Config - mcpServers field in agent JSON | A LaunchRepo agent can carry its own browser entry. |
| Applying changes | Changes to MCP configuration apply automatically when you save the file. | No restart: save the file and the server reconnects. |
| autoApprove | Tool names to auto-approve without prompting (use "*" to auto-approve all tools) | Never use "*" with a signed-in Chrome; list read-only tools only. |
| allowedTools in agents | The allowedTools field specifies which tools can be used without prompting the user for permission. | The agent version of autoApprove, written as @chrome-devtools/<tool>. |
| Workspace permission rules | A cloned repo cannot inject permission rules - trust is something you configure on your own machine. | Approvals stay on your machine, even in a shared repository. |
| deny beats allow | A deny rule in any scope blocks the action regardless of allow rules elsewhere. | A single deny rule is a reliable brake for risky tools. |
| Third-party servers | Kiro does not vet, sandbox, or restrict the behavior of third-party MCP servers. | Pin the version (we use 1.10.1) and install from the official package only. |
| Supervised mode | Kiro yields for your approval after each turn that contains file edits. | Covers file edits; browser actions are governed by the approvals above. |
| CLI sessions | To resume a specific session by ID: | The way back into the conversation after you finished a check. |
| Headless mode | Headless mode requires an API key set as the KIRO_API_KEY environment variable. | Unattended runs need an API key; interactive sessions do not. |
| API keys | API key authentication is only available for Kiro Pro, Pro+, Pro Max, and Power subscribers. | Headless needs a paid plan; this page does not require one. |
| Free tier | New users can start with the perpetual Kiro Free tier, which includes 50 credits. | Enough to try the setup interactively; credits and limits are Kiro’s. |
| Chrome DevTools MCP: Kiro section | In **Kiro Settings**, go to `Configure MCP` > `Open Workspace or User MCP Config` > Use the configuration snippet provided above. | The same two config files the builder writes. |
Start LaunchRepo in Kiro
Open your LaunchRepo private workspace in Kiro, or start kiro-cli chat there, and paste the start prompt. The kit then leads onboarding, tests your Chrome connection on Example Domain and builds the run.
- The start prompt recommends Claude Code or Codex CLI for the best results. Kiro works with the same kit because it has the two things the kit needs: file access in the workspace and a browser through MCP.
- The agent option of the builder points Kiro at the kit’s AGENTS.md as its prompt, so the rules travel with the agent.
- CAPTCHA and 2FA steps come back to you as handoffs; you resume the session as shown above.
LaunchRepo start prompt
Recommend Claude Code CLI or Codex CLI in a terminal instead of the desktop apps for best results. If session metadata confirms desktop hosting, explicitly advise me to switch to the CLI and resume this same private workspace. Do not infer the host from a CLI engine version alone.
Read AGENTS.md, then follow "Start the dashboard for the owner". Create my private
workspace if I do not have one yet, start the dashboard, and give me the link.
Then lead ONBOARDING.md one phase at a time. Reuse recorded permissions instead of
asking again unless their scope is missing or conflicting. Actually test my visible
existing Chrome profile and intended identity as BROWSER-SETUP.md requires; use the
OS fallback if needed. Use one platform/browser worker by default. Build the normal
run only from suitable free-ready routes, keep research separate, and preserve any
draft that needs one exact human CAPTCHA/2FA action. Never claim browser control
bypasses or reduces those challenges.Not covered by our checks
- Loading the files inside a signed-in Kiro IDE or CLI, the approval prompts and the handoff itself. Those steps follow Kiro’s docs; we did not create a Kiro account.
- Which autoApprove spelling Kiro expects for MCP tools. The docs show both plain and prefixed names.
- A real AI model, --autoConnect to an everyday Chrome profile, Windows and Linux, Kiro Web and paid plans.
Sources
Every quote above is copied word for word from these pages, read on October 1, 2026. Tested behavior comes from our own runs described on this page.
FAQ
- Where is the Kiro MCP config file?
- In .kiro/settings/mcp.json inside your project for workspace servers, and in ~/.kiro/settings/mcp.json for servers you want everywhere. Custom agents can define servers too, in .kiro/agents/ or ~/.kiro/agents/.
- What does the Kiro mcp.json for Chrome DevTools MCP look like?
- An "mcpServers" object with a chrome-devtools entry: "command": "npx" and "args": ["-y", "chrome-devtools-mcp@1.10.1", "--autoConnect", "--no-usage-statistics", "--no-performance-crux"]. The builder on this page writes it for you.
- Workspace or user config: which one wins in Kiro?
- Kiro merges both. For a server with the same name, the workspace file wins, and an agent’s own mcpServers entry beats both.
- Can Kiro use the browser without asking every time?
- Yes, list tools under autoApprove in mcp.json or under allowedTools in an agent. For launch work, keep that to read-only tools such as take_snapshot and let typing and clicking ask.
- How do I continue a Kiro session after a CAPTCHA?
- Finish the check in the same Chrome tab, then return to the open chat in the IDE, or run kiro-cli chat --resume (or --resume-id <SESSION_ID>) in the same folder and ask Kiro to re-read the form before it submits.
- Is Kiro officially supported by LaunchRepo?
- LaunchRepo supports coding agents that have file and browser access; Kiro has both. This page documents a configuration and our checks without an account; it is not a certification or partnership, and the start prompt still recommends Claude Code or Codex CLI for the best results.
Give Kiro a launch plan
LaunchRepo gives your agent the platform list, the runbook and a tracker it keeps up to date. Kiro does the work in your browser; you keep the final say.
See pricing