Skip to main content

Kiro MCP Integration with Claude

Kiro MCP Integration with Claude

Overview

Kiro is Amazon's agentic AI-powered IDE that uses Claude (via Amazon Bedrock) as its AI backbone. Kiro natively supports the Model Context Protocol (MCP), allowing it to connect to external tools and data sources during agentic coding sessions. This integration enables Kiro's AI agents to interact with APIs, databases, documentation systems, and other services — all from within your development workflow.


What is Kiro?

Kiro was launched by AWS in July 2025 as a spec-driven agentic IDE — a VS Code-based environment that brings structure to AI-assisted development. Rather than treating AI as a simple autocomplete tool, Kiro operates through a methodology of structured specifications, turning natural language prompts into comprehensive technical plans before writing a single line of code.

Kiro's three core concepts are:

  • Specs: A structured three-file system (requirements.md, design.md, tasks.md) that defines what to build, how to build it, and what steps are needed. Written using EARS (Easy Approach to Requirements Syntax).
  • Agent Hooks: Automated triggers that fire predefined agent actions when IDE events occur — such as auto-generating documentation on save, running quality checks on commit, or updating tests when code changes.
  • Steering Files: Persistent project knowledge stored in .kiro/steering/ as Markdown files. Steering gives Kiro's agents durable context about your tech stack, coding standards, and project structure that survives across sessions.

What is MCP?

Model Context Protocol (MCP) is an open standard developed by Anthropic that allows AI models like Claude to connect to external tools and data sources. MCP servers act as bridges between the AI and external services, exposing capabilities (tools) that the AI can invoke during a session.

In Kiro, MCP servers extend what Kiro's agents can do. With MCP configured, Kiro can:

  • Search and retrieve documentation from external knowledge bases
  • Read and write files via filesystem servers
  • Query GitHub repositories, issues, and pull requests
  • Interact with REST APIs and databases
  • Fetch live web content for research during a coding task
  • Connect to any MCP-compliant service (Slack, Jira, BookStack, etc.)

Claude as Kiro's AI Backend

Kiro uses Claude (licensed through Amazon Bedrock) as its underlying AI model. Users can select between:

  • Claude Sonnet 4.5 — the default model, optimized for reliable advanced coding and reasoning
  • Auto — a mixed-model mode that uses multiple frontier models for intent detection and caching to balance quality, latency, and cost

Because Kiro routes through Amazon Bedrock, it benefits from AWS's enterprise security, data residency controls, and compliance posture — making it suitable for organizations with strict data handling requirements.


Prerequisites

  • Kiro IDE installed (macOS Intel/Apple Silicon, Windows, or Linux)
  • An AWS account (required for Kiro authentication and Bedrock access)
  • Node.js 18+ (for running npm/npx-based MCP servers locally)
  • The MCP server package(s) you want to connect to Kiro
  • Any API credentials or tokens required by those MCP servers

Setup

1. Locate the MCP Configuration File

Kiro loads MCP server configuration from two locations:

  • Workspace-level: .kiro/settings/mcp.json (checked into your repo; applies to that project only)
  • User-level: ~/.kiro/settings/mcp.json (applies globally across all projects)

Workspace-level settings take precedence over user-level settings when both exist.

2. Configure an MCP Server

Edit the appropriate mcp.json file and add your server definition. Kiro uses the same JSON structure as other MCP-compatible hosts:

{
  "mcpServers": {
    "bookstack": {
      "command": "npx",
      "args": ["-y", "bookstack-mcp"],
      "env": {
        "BOOKSTACK_BASE_URL": "${BOOKSTACK_BASE_URL}",
        "BOOKSTACK_TOKEN_ID": "${BOOKSTACK_TOKEN_ID}",
        "BOOKSTACK_TOKEN_SECRET": "${BOOKSTACK_TOKEN_SECRET}"
      }
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}

Use ${VARIABLE_NAME} syntax to reference environment variables rather than hardcoding secrets directly in the config file.

3. Remote MCP Servers

Kiro also supports remote MCP servers via HTTP/SSE. Use the url property instead of command:

{
  "mcpServers": {
    "my-remote-server": {
      "url": "https://mcp.example.com/sse",
      "headers": {
        "Authorization": "Bearer ${MY_API_TOKEN}"
      }
    }
  }
}

4. Restrict Dangerous Tools

You can prevent Kiro from invoking specific MCP tools using the disabledTools property:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/project"],
      "disabledTools": ["delete_file", "move_file"]
    }
  }
}

5. Reload Kiro

After saving mcp.json, Kiro will detect the change and make the MCP tools available to agents in your next chat or spec session. No full restart is typically required.


Common MCP Servers for Kiro

Server Package What It Provides
Filesystem @modelcontextprotocol/server-filesystem Read/write files outside the workspace
GitHub @modelcontextprotocol/server-github Search repos, read issues and PRs, create comments
BookStack bookstack-mcp Read/write internal documentation in BookStack
Fetch / Web @modelcontextprotocol/server-fetch Retrieve live web pages and documentation
Brave Search @modelcontextprotocol/server-brave-search Web search results for research tasks
PostgreSQL @modelcontextprotocol/server-postgres Query and inspect a PostgreSQL database
Slack @modelcontextprotocol/server-slack Read and post Slack messages

A full community directory of available MCP servers is listed in the official Kiro documentation at kiro.dev/docs/mcp/servers/.


Example Use Cases

Pull documentation while writing code

"Implement a BookStack API client in Python. Use the BookStack MCP to look up the current API spec and generate a working client class."

Kiro will invoke the BookStack MCP to read your internal API docs and use that context to generate accurate implementation code — no copy-pasting required.

Spec-driven feature with GitHub context

"Read GitHub issue #142 and generate a Kiro spec for implementing the requested feature."

Kiro calls the GitHub MCP to fetch the issue body and comments, then generates requirements.md, design.md, and tasks.md grounded in the actual issue text.

Query a database to write a migration

"Inspect the current schema of the users table in our dev database and write a migration to add an audit_log column."

Kiro uses the PostgreSQL MCP to introspect the live schema, then writes a migration file that accurately targets existing columns and types.

Auto-update docs via Agent Hook

Configure an Agent Hook in .kiro/hooks/ to trigger on file save. When a function signature changes, the hook fires and Kiro uses the BookStack MCP to update the relevant internal documentation page automatically.


Security Considerations

  • Environment variables over hardcoded values: Always use ${VAR} references in mcp.json. Hardcoded secrets committed to version control are a significant risk.
  • Workspace vs. user config: Be careful about checking workspace-level mcp.json into shared repos if it contains server definitions that reference environment variables specific to individual developers.
  • disabledTools: Use the disabledTools field to limit what Kiro's agents can do with a given MCP server — especially for servers that can delete or overwrite data.
  • Trusted servers only: Only connect Kiro to MCP servers you trust. Remote servers receive requests that may include code context and file contents.
  • Bedrock data handling: Prompts sent to Claude through Kiro are processed via Amazon Bedrock. Review AWS Bedrock's data use and retention policies for compliance requirements.

Troubleshooting

Issue Resolution
MCP tools not available in Kiro chat Verify mcp.json is valid JSON; check Kiro's MCP panel for error messages
Environment variable not resolving Ensure the variable is exported in your shell environment before launching Kiro
MCP server exits immediately Run the server command manually in a terminal to check for missing dependencies or bad args
Remote server connection refused Confirm the URL is reachable; check firewall rules and any VPN requirements
Agent ignores MCP tools Mention the tool or data source explicitly in your prompt to guide Kiro's agent to use it
Steering files not applied Ensure files are in .kiro/steering/ with a .md extension; check for YAML front matter if using conditional inclusion

References