Kiro MCP Server
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Kiro MCP Server
MCP server that lets AI agents with an always-on computer (Grok Bot, Claude, Cursor, Codex, and other MCP clients) orchestrate Kiro CLI V3 coding sessions through typed tools instead of shell commands. It is the Kiro sibling of claude-code-mcp-server.
Requires
kiro-cliwith the V3 engine, installed and signed in, on the machine that runs this server.
Install it:
curl -fsSL https://cli.kiro.dev/install | bash(orbrew install kiro-clion macOS).Sign in: run
kiro-cli loginin a terminal (kiro-cli login --use-device-flowon a machine without a browser).Trust each workspace once: run
kiro-cli --v3in the folder and choose Trust, continue (see Workspace trust).Without the CLI, tools return
CLI_NOT_FOUNDwith the install command, and the server prints the same warning on stderr at startup. A signed-out CLI givesCLI_NOT_SIGNED_IN. This server never logs in for you.
The server drives Kiro three ways: one long-lived ACP host (kiro-cli acp --agent-engine=v3 --auth-method=cli, newline-delimited JSON-RPC) for sessions, prompts, streaming, permissions, and Kiro's extension methods; headless runs (kiro-cli chat --v3 --no-interactive --output-format stream-json) for fire-and-forget work; and a few fixed-argv subcommands (whoami, settings, agent, mcp, powers). It exposes 32 tools and one subscribable transcript resource. The full feature-parity matrix, with what is exposed, composed, gated, withheld, or impossible and why, is in .kiro/specs/kiro-v3-orchestration/requirements.md.
Design
Strict schemas, typed results. Every tool has a strict input schema (
additionalProperties: false) and anoutputSchema, and returnsstructuredContent. Errors are{ "error": { "code", "message", "details" } }with a code from the error table.No escape hatch. No shell tool, no raw argv, no field that forwards free-form CLI flags, and no "send any ACP method" tool. Kiro commands that only exist in the terminal UI are mapped to typed tools, or listed as not possible.
Fixed argv. The only place
kiro-cliargv is built issrc/argv.ts. Values are attached as--flag=valueor follow--; prompts go on stdin. The v2-only--agent,--model,--effort, and--trust-*flags are never passed toacp: agent mode, model, and effort are set through session options.Operator policy. Kiro runs only inside
KIRO_MCP_ROOTS(checked withrealpath). Shell approvals, persistent consent, headless trust flags, and config writes each need an explicit opt-in.Bounded processes. Every child is spawned detached in its own process group and tracked. Closing stdin, SIGINT, SIGTERM, or SIGHUP cancels running turns, closes the host's stdin, and stops every process group.
In memory. Event feeds, jobs, tangent trees, pending permissions, and queued prompts live in memory. The server never writes Kiro's session files. No telemetry; no tokens,
KIRO_API_KEY, or authorization URLs in output or logs.
Related MCP server: AKIMCP
Prerequisites
Node.js 20 or later.
kiro-cli2.37 or later with the V3 engine (kiro-cli acp --agent-engine=v3must start), signed in. SetKIRO_BINwhenkiro-cliis not on the server'sPATH.
Install
npx -y @sohampatwardhan/kiro-mcp-server@latestClaude Code
claude mcp add kiro -e KIRO_MCP_ROOTS=$HOME/code -- npx -y @sohampatwardhan/kiro-mcp-server@latestCursor, Claude Desktop, and other JSON configs
{
"mcpServers": {
"kiro": {
"command": "npx",
"args": ["-y", "@sohampatwardhan/kiro-mcp-server@latest"],
"env": { "KIRO_MCP_ROOTS": "/Users/me/code" }
}
}
}Codex
[mcp_servers.kiro]
command = "npx"
args = ["-y", "@sohampatwardhan/kiro-mcp-server@latest"]
env = { KIRO_MCP_ROOTS = "/home/me/code" }Install the skills
The repository ships agent skills that teach agents when and how to use these tools: delegating a task to Kiro, choosing mode, model, effort, and permission handling, following a run live, collecting results and patches, and recovering from failures. Install them with the skills CLI:
npx skills add sohampatwardhan/kiro-mcp-server -gInstall one skill, or only for some agents:
npx skills add sohampatwardhan/kiro-mcp-server -g --skill kiro-orchestration
npx skills add sohampatwardhan/kiro-mcp-server -g -a claude-code -a codexEach skill's SKILL.md carries a SemVer metadata.version, checked in CI by scripts/check-skill-versions.mjs, and CI installs the skills from the checkout into a throwaway HOME to test this exact path.
Environment variables
All are optional. An invalid value makes the server print the variable name and reason on stderr and exit with code 2. Booleans accept 1, true, yes, 0, false, no.
Variable | Default | Effect |
|
| CLI path or name |
| process cwd | Default root when |
|
| Comma-separated absolute directories Kiro may run in. |
|
|
|
|
| Unanswered permissions are rejected after this long |
| off | Lets shell-command requests be approved. Off: they are rejected at once |
| off | Allows |
|
|
|
| off | Allows headless |
| off | Allows agent, MCP config, settings, and powers writes |
|
| Subcommand timeout |
|
| ACP request timeout (prompts have none) |
|
| Headless job timeout; |
KIRO_API_KEY, when set in the server's environment, is inherited by headless runs only. No tool can read or set it.
Workspace trust
ACP has no method for trusting a workspace. Until a folder is trusted, Kiro does not load its custom agents, steering, MCP servers, skills, or workflows, and asks before every shell and MCP call. Trust each root once: run kiro-cli --v3 in the folder and choose Trust, continue. kiro_status reports the saved trust for every root (read-only, from Kiro's per-workspace permissions file) and warns for each untrusted one. Kiro never saves trust for your home directory.
Shell approvals
Shell approvals are off by default, as in claude-code-mcp-server: Kiro's requests to run commands (including tests and builds) are rejected at once and recorded as policy: "shell_disabled". To let the calling agent approve them one at a time, set KIRO_MCP_ALLOW_SHELL=1. To approve every non-shell request automatically as well, add KIRO_MCP_PERMISSIONS=allow.
Typical flow
kiro_statuschecks the CLI, sign-in, V3 engine, trust, and policy.kiro_session_new(orkiro_session_load) attaches a session;kiro_session_configurepicks mode (vibe,plan,spec,quick-spec,bug-fix,autonomous, or a custom agent), model, and effort.kiro_promptsends a prompt and waits up towait_s. If the turn is still running, pollkiro_events(orkiro_stream_session) with the returned cursor until the status iscompleted,cancelled, orfailed.Answer
pending_permissionswithkiro_permission_respond. When the client supports MCP elicitation, the request is also shown to its user.Steer with
kiro_steer, stop withkiro_cancel, branch withkiro_session_forkorkiro_tangent, and close withkiro_session_close.
Tool reference
Tool | What it does |
| CLI path and version, V3 engine, capabilities, sign-in (account type, email, profile), roots and trust, policy, log paths, optional diagnostics |
| Plan usage and credits ( |
| New local or cloud session, with mode, model, effort, title |
| Saved sessions by workspace or user scope, with source, title, and limit filters |
| Resume a session by id, or the latest for a workspace, with replay |
| Mode, model, effort, other advertised options, title |
| MCP servers, tools, steering, skills, powers, governance, agent errors, commands, modes, config, context, |
| Paged transcript and rewind points |
| Fork, optionally at a user message ( |
| Export to a file inside the roots |
| Compact an idle session's context |
| Close a session (cancels its turn, rejects its permissions) |
| Delete a session from Kiro's store ( |
| Prompt with text, files, images, or an advertised command; wait or queue |
| Cursor-based event feed for a session or headless job, with long-poll |
| Steer a running turn |
| Cancel a running turn, or stop a headless job |
| Pending permission requests |
| Answer one with an offered option |
| Branch, merge, and list tangents |
| List and read |
| List, read, create, update, delete memories; sync status |
| Knowledge base subcommands |
| Code intelligence subcommands |
| Workflow recipes and runs |
| Connected source providers and repositories |
| Headless run as a job |
| List and validate custom agents; create, set default, upgrade (gated) |
| List and status of MCP config; add HTTP servers and remove (gated) |
| List and get settings; set and delete (gated, sensitive keys withheld) |
| List powers; install and uninstall (gated) |
| Follow any session's transcript live with a cursor |
Resource: kiro-session://<session_id>/transcript returns a session's newest events as JSON. Subscribe with resources/subscribe to get notifications/resources/updated within a second of new events.
Errors
Code | Meaning |
|
|
| Kiro reports a missing login; run |
|
|
| The ACP host exited during the call; the session re-attaches on next use and the prompt is not resent |
| Kiro does not advertise or implement the method or target |
| Other Kiro JSON-RPC error; |
| Kiro answered |
| CLI or Kiro output could not be parsed |
| A subcommand, request, or job passed its timeout; its process group was stopped |
| A subcommand exited nonzero; |
| A path resolves outside |
| Export destination exists and |
| A file or image is too large, not UTF-8, or not an allowed image type |
| The session is unknown to Kiro or not attached here |
| The session already has a running turn |
| Steering needs a running turn |
| Five prompts already wait for this session |
| Mode, option, value, command, or recipe input is not advertised; lists the allowed values |
| The permission is not pending |
| The option id was not offered |
|
|
| Shell approvals need |
| A headless trust flag is not allowed by the operator |
| Config writes need |
| Stdio MCP servers run arbitrary commands and cannot be added |
| The setting key is withheld |
| The call needs |
| Unknown or expired headless job |
| The spec or document does not exist |
| Not part of a tangent tree, or no tangent with that name |
| The merge destination resolves to the tangent itself or nothing |
| The session has no messages yet |
Development
npm ci
npm run build # strict tsc is the static check
npm test # builds, then node --test against the fake kiro-cliTests never run a real kiro-cli: test/fixtures/fake-kiro.mjs stands in for it through KIRO_BIN. See AGENTS.md for the architecture and rules.
Releasing
Bump version in package.json, merge, then push a matching tag (git tag v0.1.0 && git push origin v0.1.0). The release workflow checks the tag against package.json, builds, tests, publishes to npm with provenance through trusted publishing (GitHub OIDC, no NPM_TOKEN), creates a GitHub release, and mirrors the package to GitHub Packages.
Credits
Inspired by vanphappi/kiro-cli-mcp. No code was copied.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Hosted runtime for persistent agent teams, durable workflows, memory, schedules, and goals.
Build, validate, deploy — HTTP APIs, cron jobs, webhooks and MCP tools — from your AI client.
Persistent cloud workspaces for AI agents: run commands, edit files, use git and a browser.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables local, permissioned development workflows from compatible AI clients, including filesystem editing, interactive terminals, durable jobs, Git operations, and semantic browser testing.27 npm1Apache 2.0
- FlicenseNot gradedqualityAmaintenanceExposes a governed suite of 38 tools through a single OAuth-gated MCP endpoint, letting web-based AI chats (Claude, ChatGPT, Grok) and local IDEs read and edit files, run whitelisted shell commands, search content, use Git, inspect SQLite and localhost APIs, drive browser automation and DevTools, manage background tasks and ports, and access clipboard or desktop notifications on your own machine. A strict command whitelist and folder-level access controls keep the sessions safe by default.-
- FlicenseNot gradedqualityAmaintenanceExposes a governed, OAuth-gated suite of 38 tools that let web AI assistants like Claude, ChatGPT, and Grok work directly on your local machine — reading and editing files, running whitelisted shell commands, searching, querying SQLite, driving browsers and DevTools, managing background tasks and localhost services, and controlling Git, clipboard, notifications, and Postman. This lets users build, debug, and maintain projects, inspect databases and local APIs, and check on long-running jobs from a browser or phone without granting unrestricted shell access.-
- AlicenseNot gradedqualityAmaintenanceEnables web-based AI clients like Claude, ChatGPT, and Grok to securely operate a local machine through an OAuth-gated MCP endpoint, covering files, shell commands, search, Git, SQLite, browser automation, DevTools, background tasks, ports, clipboard, notifications, and Postman. Exposes 38 governed tools with a strict command whitelist, folder allowlisting, and rate limiting so browser chats can build projects, inspect databases and local APIs, and manage long-running jobs without granting unrestricted shell access.MIT