Best MCP Servers for Kiro in 2026
Firecrawl, Bright Data, Zyte, and Crawlora as MCP servers for Kiro: mcp.json syntax, Tool Search, the trust gate, and which vendor documents Kiro.
Kiro is AWS's agent-driven development tool: an IDE built on VS Code plus a terminal client, kiro-cli, that replaced the Amazon Q Developer CLI. Its changelog moved quickly in the last three weeks of October 2026 on exactly the things that matter when you wire in a web-data server: on-demand tool loading, a trust prompt for project config, MCP elicitation, and organization-level MCP settings.
That is why the vendor choice here is less about setup syntax (all four are a few lines of JSON) and more about what each server looks like to a client that defers tool definitions and gates project config behind trust.
Kiro's MCP config
Kiro uses the same mcpServers JSON shape as most clients, in two files:
~/.kiro/settings/mcp.json: user level, applies to every workspace..kiro/settings/mcp.json: workspace level. If both exist they are merged and the workspace entry wins.
The full precedence, highest first, is the agent's own mcpServers block, then the workspace file, then the user file. Same-name servers are replaced by the higher-priority definition; differently named ones are combined. Saving the file reconnects the changed servers.
- Local (stdio):
command(required),args,env,disabled,autoApprove,disabledTools. - Remote:
url(HTTPS, or HTTP for localhost),headers,oauth,oauthScopes, plus the samedisabled,autoApproveanddisabledTools.
Two details decide whether a key-based server works at all. First, ${VAR} references in env and headers are expanded only for variables you have approved in the "Mcp Approved Env Vars" setting; an unapproved one raises a warning popup. Second, OAuth is automatic: Kiro tries Dynamic Client Registration and falls back to a default client, and the CLI has /mcp auth and /mcp logout for the session.
{
"mcpServers": {
"example": {
"url": "https://mcp.example.com/mcp",
"headers": { "Authorization": "Bearer ${EXAMPLE_API_KEY}" }
}
}
}
kiro-cli mcp add takes --name, --command, --scope (workspace or global), --env, --timeout and --force. The reference page documents no --url or header flags, so for remote servers with a header, edit the JSON (Firecrawl's quickstart does show a --url form, which we flag below). kiro-cli mcp list and kiro-cli mcp status --name <server> show what connected.
What changed in V3, and why it matters for these four
- On-demand tool loading. Kiro's Tool Search page says IDE 1.3 and later use it automatically, and local V3 sessions in CLI 2.31 and later use it by default. The model sees a compact catalog and a
tool_loadstep brings in a tool's full definition beforetool_callruns it. In V2 it is opt-in (toolSearch.enabled, activating past 5 percent of the context window or 50,000 tokens of tool definitions). The documentation does not say how tools are ranked when the model searches the catalog, and gives no limit on how many tools a server may expose. - Workspace trust (CLI 2.33.0, October 20). Kiro asks you to trust a folder before it loads that folder's hooks, agents and MCP servers. For this comparison it means a project-level
.kiro/settings/mcp.jsonis inert in an untrusted clone. Put shared team servers in the workspace file and expect each teammate to see the prompt once. - Sandbox (CLI 2.31.0).
/sandboxputs agent shell commands and their child processes in an operating-system sandbox. Kiro's changelog says local stdio MCP servers can run inside the same sandbox, and that the agent, built-in file tools and remote MCP servers stay outside it. So a stdio server like Bright Data's is containable; a hosted one is not, and relies on the vendor's own controls. - Elicitation (2.34.0) and org settings (2.35.0). V3 MCP tools can pause for a form or link, and V3 sessions follow your organization's MCP and web-tool settings. Enterprise teams can also manage servers through an MCP registry.
- Timing. The changelog said V3 becomes the default with CLI 3.0 "at the end of October". As of November 2 the latest CLI entry is 2.36.0 and none is named 3.0, so check which engine your install runs before relying on any of the above.
What to evaluate in Kiro specifically
- Auth fit. A server that offers OAuth with Dynamic Client Registration needs no key in mcp.json. A key-based server needs the variable approved in Kiro's settings before ${VAR} expands.
- Catalog size. With on-demand loading Kiro does not put every definition in the prompt, but it still indexes every name and description. A very large server is only as good as the search over its catalog, and Kiro does not document that ranking.
- Stdio or remote. Only local servers can sit inside the /sandbox boundary. A hosted server is a network dependency outside it.
- Trust. A project-scoped mcp.json will not load until the folder is trusted. Keep credentials out of any file you commit.
- Vendor documentation for Kiro. A setup page written against today's Kiro is a better sign than a generic MCP snippet or a guide from the waitlist era.
The contenders
| Tool | Format | Kiro-specific documentation | Auth in Kiro | Best for |
|---|---|---|---|---|
| Firecrawl MCP | Hosted, https://mcp.firecrawl.dev/v2/mcp-oauth | Yes: an official Kiro quickstart | Browser sign-in (OAuth); API key via header as an alternative | Reading arbitrary pages with a one-line config |
| Bright Data | Local stdio, npx @brightdata/mcp | Yes, but dated September 17, 2025 (modified October 9, 2025) | API_TOKEN in env | Hard, anti-bot-protected sites |
| Zyte | Hosted, https://mcp.zyte.com/v1/mcp | No: Kiro is not in Zyte's client list | OAuth sign-in with a Zyte account | Zyte API and Scrapy Cloud users |
| Crawlora | Hosted, https://mcp.crawlora.net/mcp and narrower views | No Kiro-specific page; generic remote server | Bearer header, or OAuth 2.1 (untested in Kiro) | Structured records from named platforms |
Firecrawl MCP: the only current Kiro setup page
Firecrawl documents Kiro in its quickstarts, and the config is one entry that works for both the IDE and the CLI:
{
"mcpServers": {
"firecrawl": {
"url": "https://mcp.firecrawl.dev/v2/mcp-oauth"
}
}
}
On save, Kiro reconnects and opens Firecrawl's authorization page. The quickstart lists search, scrape, interact (navigate, click, fill forms) and Alexandria (discover and run structured-data tools) as the tools, and gives an API-key variant (https://mcp.firecrawl.dev/v2/mcp with an Authorization: Bearer ${FIRECRAWL_API_KEY} header) that it recommends for unattended use. It also documents kiro-cli mcp add --name firecrawl --url ... --scope global, a --url flag that Kiro's own CLI reference does not list; we did not run it. If an OAuth scope error appears, the quickstart suggests adding "oauth": { "oauthScopes": [] }. Choose it when the job is reading a page or a doc site into context and you want the shortest path.
Bright Data: a local server and a guide from the waitlist era
Bright Data publishes a Kiro guide, "Integrating Bright Data MCP with Kiro", first published September 17, 2025 and last modified October 9, 2025. It describes Kiro as a VS Code-based IDE that required a waitlist, pastes an entry that runs npx @brightdata/mcp with an API_TOKEN in env, and shows tools such as search_engine, scrape_as_markdown and scrape_batch (its own run shows scrape_batch timing out before falling back to scrape_as_markdown). It does not mention the CLI, Powers or Tool Search.
{
"mcpServers": {
"brightdata": {
"command": "npx",
"args": ["-y", "@brightdata/mcp"],
"env": { "API_TOKEN": "${BRIGHT_DATA_API_TOKEN}" }
}
}
}
The entry above is our adaptation, not Bright Data's text: we swapped the pasted token for a ${VAR} reference, which in Kiro only works once that variable is approved. Bright Data's server changed after the guide was written (its v3 and v4 releases in October 2026 removed PRO_MODE and the named-platform web_data_* extractors, and the current README lists 32 tools), so the tool names in the 2025 guide may not match what you install. Being a stdio process, it is the one server here that can run inside Kiro's /sandbox. Choose it when the target is a protected site and you accept running a local process.
Zyte: hosted, but not on Zyte's Kiro list
Zyte launched a hosted MCP server at https://mcp.zyte.com/v1/mcp on September 30, 2026. Zyte's documentation gives install steps for Claude Code, Codex CLI, GitHub Copilot CLI, VS Code and claude.ai, plus a generic JSON block for "other" clients: {"mcpServers":{"zyte":{"type":"http","url":"https://mcp.zyte.com/v1/mcp"}}}. Kiro is not named. Kiro's configuration reference lists url for remote servers and does not list a type field, so the likeliest entry is the same block without type, with Kiro's OAuth flow handling the Zyte sign-in. We did not test it, and we did not create a Zyte account. The server exposes fetch_http, fetch_page, extract_from_http, extract_from_browser, search and Scrapy Cloud tools; new accounts get a $5 trial credit for a month. Choose it if you already pay for Zyte API or Scrapy Cloud.
Crawlora: pick a narrow endpoint
Crawlora's MCP server is hosted streamable HTTP with three views of the same tools. The default endpoint exposes 4,204 tools, and we checked it on November 2: it answers tools/list in pages of 1000. Two narrower views are better suited to a client that indexes everything it is given:
/mcp/family/webserves 9 tools (web_search,web_scrape,web_crawl,web_mapand their status and result companions). Every platform has its own family;GET https://mcp.crawlora.net/mcp/family/lists them./mcp/agentserves 3 tools (search_tools,get_tool,call_tool) and reaches the whole catalog through search.
{
"mcpServers": {
"crawlora-web": {
"url": "https://mcp.crawlora.net/mcp/family/web",
"headers": { "Authorization": "Bearer ${CRAWLORA_API_KEY}" }
}
}
}
Get a free key at crawlora.net (2,000 credits a month, no card), export CRAWLORA_API_KEY, and approve that variable in Kiro's "Mcp Approved Env Vars" setting before saving. The server also advertises OAuth 2.1 with Dynamic Client Registration and PKCE, which is the path Kiro tries by default when no header is set; we have not completed that flow in Kiro. Billing is per successful call only. Choose it when you want one specific record from a named platform (a price, a ranking, a listing, a filing) rather than a page to read.
How to choose, by job
- Reading docs or an article into context, with the least setup? Firecrawl, using the OAuth URL from its quickstart.
- Scraping a protected site and happy to run a process? Bright Data, with the caveat that its Kiro guide is a year old.
- Already on Zyte API or Scrapy Cloud? Zyte's hosted server, via Kiro's OAuth sign-in.
- Structured data from many named platforms? Crawlora through a family endpoint, or
/mcp/agentif you want one connection for all of them. - In a team repo? Put shared servers in
.kiro/settings/mcp.json, keep keys as approved${VAR}references, and expect the trust prompt on first open.
Add structured web data to Kiro
One API key, billed only on success. 2,000 free credits a month, no card.
Sources
Related reading
- Best MCP Servers for Grok Build in 2026 · Best MCP Servers for Pi in 2026: two other clients that defer or search tools instead of declaring them.
- Best MCP Servers for OpenAI Codex in 2026 · Best MCP Servers for Warp in 2026 · Best MCP Servers for JetBrains IDEs in 2026.
- Crawlora vs Firecrawl · Crawlora vs Bright Data · Crawlora vs Zyte.
- Give your AI agent live web data with MCP: how MCP works and how to connect in three minutes.
Frequently asked questions
Does Kiro support MCP servers?
Yes. Kiro reads MCP servers from ~/.kiro/settings/mcp.json (all workspaces) and .kiro/settings/mcp.json (one workspace), merged with the workspace entry winning, under a top-level mcpServers key. It supports local stdio servers and remote HTTPS servers, and the IDE and kiro-cli share the same files.
How do I add an MCP server with an API key to Kiro?
Add a remote entry with url and headers, for example "Authorization": "Bearer ${MY_API_KEY}", export the variable, and approve it in Kiro's Mcp Approved Env Vars setting. Kiro only expands environment variables you have approved and shows a warning popup for others. Saving the file reconnects the server.
Why isn't my project's Kiro MCP config loading?
Since Kiro CLI 2.33.0 (October 20, 2026), interactive V3 sessions ask you to trust a folder before loading that folder's hooks, agents and MCP servers. Until you approve the folder, a .kiro/settings/mcp.json in a cloned repo is not loaded. Move servers you always want to the user-level file.
Does Kiro load every MCP tool into the model's context?
Not by default in current versions. Kiro IDE 1.3 and later, and local V3 sessions in CLI 2.31 and later, index tool names and descriptions, give the model a compact catalog and load a tool's full definition on demand. V2 CLI sessions use it only when toolSearch.enabled is set. Kiro does not document how the catalog is ranked.
Which web-data MCP servers work with Kiro?
Firecrawl publishes a current Kiro quickstart using its OAuth URL. Bright Data has a Kiro guide from September 2025 for its local npx server. Zyte's hosted server and Crawlora's hosted server are generic remote entries that Kiro's docs do not mention; Crawlora takes a Bearer header and is best used through /mcp/family/<family> or /mcp/agent rather than the full tool list.
