Getting Started with Kiro and MCP Servers: Connect Your AI IDE to Real-World Tools
Kiro is an AI-powered IDE that becomes significantly more capable when connected to MCP (Model Context Protocol) servers. This guide walks developers through installing, configuring, and verifying MCP servers in Kiro, and covers building first automations using steering files and hooks.
If you've installed Kiro and found yourself wondering why the AI agent feels limited, the answer is almost certainly MCP servers. Out of the box, Kiro can read and write files and run terminal commands — useful, but not transformative. MCP servers are what unlock its real potential. This guide walks you through installing, configuring, and verifying MCP servers in Kiro, then shows you how to build your first automation. No prior experience with MCP is required.
What Is Kiro?
Kiro is an AI-powered IDE built on a familiar editor experience. Unlike traditional AI assistants that only generate text, Kiro's agent can take actions — reading emails, searching messages, querying APIs, and writing files — all from a single chat interface.
What Are MCP Servers?
MCP stands for Model Context Protocol, an open standard that allows AI agents to communicate with external tools and services. MCP servers are lightweight processes that run locally on your machine and expose specific capabilities to Kiro. Think of them like plugins. Each server connects Kiro to a different system:
| MCP Server Type | What It Unlocks |
|---|---|
| Email MCP | Read and search your inbox, calendar, and contacts |
| Messaging MCP | Search and post to Slack or Microsoft Teams |
Without MCP servers, Kiro is a capable code editor. With them, it becomes a workflow automation platform.
Prerequisites Before configuring MCP servers, ensure the following are installed on your machine.
Kiro IDE Download Kiro from the official Kiro website or your organization's approved distribution channel.
Python 3.11 or Later
python3 --version # macOS: brew install python@3.12 # Ubuntu/Debian: sudo apt install python3.12
Node.js 22 or Later
node --version # macOS: brew install node@22 # Linux (via nvm): nvm install 22
Authentication MCP servers connect to external services on your behalf. Before proceeding, ensure you are authenticated with the relevant services — whether through OAuth, API keys, SSO, or your organization's identity provider.
Step 1: Install MCP Server Binaries
MCP servers are command-line binaries that Kiro launches as background processes. Installation method depends on the server:
For example
# Via npm (most common for community MCP servers) npm install -g @modelcontextprotocol/server-slack # Via pip pip install mcp-server-filesystem # Via your organization's internal package manager # Refer to your internal tooling documentation
After installing, verify each binary is accessible:
which my-mcp-server # Expected output: /usr/local/bin/my-mcp-server
Note the full path for each server — you will need these in the next step.
Step 2: Configure MCP in Kiro
Kiro reads MCP server configuration from a JSON file. This file tells Kiro where to find each binary and what environment to pass to it.
Locate Your Binary Paths
which my-email-mcp # e.g., /Users/yourname/.local/bin/my-email-mcp which my-slack-mcp # e.g., /usr/local/bin/my-slack-mcp # Get your Node.js bin directory dirname $(which node) # e.g., /opt/homebrew/opt/node@22/bin
Create the Configuration File
Create ~/.kiro/settings/mcp.json with the following structure:
{ "mcpServers": { "my-email-mcp": { "command": "/full/path/to/my-email-mcp", "args": [], "env": { "PATH": "/opt/homebrew/opt/node@22/bin:/usr/local/bin:/usr/bin:/bin" } "disabled": false }, "my-slack-mcp": { "command": "/full/path/to/my-slack-mcp", "args": [], "env": { "PATH": "/opt/homebrew/opt/node@22/bin:/usr/local/bin:/usr/bin:/bin" } "disabled": false } } }
Replace each path with the actual output from your which commands.
Why These Settings Matter
- Full paths are required. Kiro does not inherit your shell's
PATHvariable. If you write only the binary name, Kiro cannot locate it. Always use the absolute path returned bywhich. env.PATHis necessary for Node-based servers. Some MCP servers callnodeinternally. Because Kiro runs with a minimal environment, you must explicitly include the Node.js bin directory inenv.PATH.disabled: truekeeps startup fast. You do not need every server running at all times. Disabled servers are skipped at startup and can be re-enabled when needed.
Configuration File Scope
| File Location | Scope |
|---|---|
~/.kiro/settings/mcp.json | User-level — applies to all workspaces |
.kiro/settings/mcp.json | Workspace-level — overrides user-level for this project |
Use workspace-level configs when a project requires a specific set of MCP servers that differ from your defaults.
Step 3: Verify the Connection
- Open Kiro and open any workspace folder.
- Wait approximately 15 seconds for MCP servers to initialize.
- In the Kiro chat, test each server:
List my email folders
Search Slack for "standup"
If these return real data from your connected services, the MCP servers are working correctly.
Troubleshooting Common Errors
Access MCP logs at: View → Output → "Kiro - MCP Logs"
| Error | Likely Cause | Resolution |
|---|---|---|
ENOENT | Binary path is incorrect | Re-run which and update the path in your config |
Node.js not found | Node not in env.PATH | Add the Node.js bin directory to env.PATH |
401 Unauthorized | Authentication token expired | Re-authenticate with your identity provider |
MCP Connection not found | Server process crashed | Restart Kiro |
disabled by organization | Policy restriction | Contact your Kiro administrator |
Step 4: Build Your First Automation.
With MCP servers connected, Kiro supports three approaches to building automations.
Steering Files
Steering files are Markdown documents that define how Kiro should behave. They require no code — just plain instructions. Create .kiro/steering/my-workflow.md in your workspace:
for example: If one wants to prepare for daily standup
--- inclusion: auto --- **Daily Standup Prep** When the user says "prep standup", follow these steps: 1. Use the email MCP to find emails received in the last 24 hours. 2. Use the Slack MCP to find messages mentioning my name from the last 24 hours. 3. Compile the results into a bullet-point standup summary. 4. Save the output to output/standup.md.
Kiro reads this file automatically and follows the instructions when triggered. This is the recommended starting point for most workflows.
Hooks
Hooks trigger automatically when specific events occur. Create .kiro/hooks/my-hook.json:
{ "name": "Lint on Save", "version": "1.0.0", "when": { "type": "fileEdited", "patterns": ["*.py"] }, "then": { "type": "runCommand", "command": "python3 -m pylint ${file}" } }
Use hooks for repetitive, event-driven tasks that should run without manual prompting.
Specs
For larger features, use Kiro's spec workflow. In the chat, describe what you want to build:
I want to build a tool that summarizes my open support tickets by priority
Kiro will guide you through requirements, design, and implementation tasks step by step.
Workflow Ideas
| Workflow | MCP Servers Needed | Description |
|---|---|---|
| Daily standup prep | Email, Slack | Summarizes yesterday's activity across channels |
| Meeting preparation | Email, Calendar | Pulls context for upcoming meetings |
| Weekly status report | Ticketing, Messaging | Rolls up completed work for the week |
| Incident triage | Ticketing, Infrastructure | Surfaces related tickets and service health data |
| Code review reminder | Ticketing, Messaging | Flags pull requests awaiting review |
| Account summary | CRM, Support | Compiles open issues and health metrics |
Tips for a Reliable Setup
- Start with one MCP server. Get a single integration working before adding more. Debugging one server at a time is significantly easier.
- Use steering files first. They are the lowest-friction way to define workflows — no code, just Markdown.
- Re-authenticate when things break. The majority of MCP failures are caused by expired credentials, not misconfiguration.
- Disable servers you are not using. Fewer active servers means faster startup and fewer potential failure points.
- Check MCP Logs before assuming a bug. The log output at View → Output → "Kiro - MCP Logs" usually identifies the exact issue.
- Use workspace-level configs for project-specific setups. Keep your user-level config minimal and override it per project as needed.
Additional Resources
- MCP Server Registry on GitHub — community-built MCP servers across dozens of integrations
- Kiro Documentation — official docs for steering files, hooks, and specs
- Model Context Protocol Specification — the open standard behind MCP
- Language
- English
Relevant content
- asked a year ago
AWS OFFICIALUpdated 2 years ago