Kiro Product
IDE
Feature Description
Summary
Currently, Kiro IDE Chat restricts MCP resources (including resource templates) to be injected only via the # context menu by the user. The chat agent itself cannot read a resource URI even when the task clearly calls for it. Kiro CLI, by contrast, allows the agent to read resources directly (e.g. READ gitnexus://repo/{name}/context).
This behavior gap makes it impossible to build agentic workflows in IDE Chat that depend on MCP resources, forcing users to either (a) manually inject every resource via # at each step, or (b) fall back to Tool-only workarounds that can't always reproduce the same data.
Current Behavior
- IDE Chat: Agent has access to MCP Tools only. Resources and resource templates are surfaced in the
# context provider menu, requiring manual user action to inject content into the conversation.
- CLI: Agent can read MCP resources directly by URI (e.g.
READ gitnexus://repo/my-repo/context), and the resolved content is used as context automatically.
Use Case
I'm building an orchestration Skill called pre-code-analysis that runs before any non-trivial code change. The skill uses GitNexus MCP server to:
- Read
gitnexus://repo/{name}/context to confirm index freshness and project scale
- Read
gitnexus://repo/{name}/clusters to map requirements to existing functional modules
- Read
gitnexus://repo/{name}/processes to identify related execution flows
- Read
gitnexus://repo/{name}/process/{name} to trace step-by-step call chains
- Combine with Tools (
query, context, impact) to produce a structured analysis document
In CLI this workflow runs end-to-end. In IDE Chat, steps 1–4 all require the user to manually open the # menu, find the resource template, fill in parameters, and submit — breaking the agentic loop. A multi-iteration workflow (e.g. "analyze and plan 3 new features") becomes unusable because the user must babysit every resource read.
Current Workaround (and its limits)
I've been using the cypher tool to simulate resource content via raw graph queries:
MATCH (c:Community) WHERE c.symbolCount > 0
RETURN c.heuristicLabel AS module, sum(c.symbolCount) AS total_symbols,
avg(c.cohesion) AS avg_cohesion
ORDER BY total_symbols DESC
But this has three drawbacks:
- Aggregation differs: Resources often do post-processing (e.g. grouping sub-clusters by
heuristicLabel) that Cypher doesn't replicate without manual sum/avg logic.
- Missing fields: Resources return curated, AI-friendly fields. Cypher only returns what you
RETURN explicitly, so you lose hints/metadata.
- No extra context: Resources like
context ship with a resources_available section and re-index hints. Cypher results don't have that meta info.
Proposed Solution
Expose a tool-level capability in IDE Chat that allows the agent to read MCP resources autonomously. Options (in order of preference):
- Built-in
readMcpResource(uri: string) tool — available in agent/autopilot mode, gated by the same auto-approve / per-tool toggle UI that already exists for MCP tools.
readResource as a special pseudo-tool per MCP server — the chat UI already lists resources in the # menu; make them callable from the agent side too, with explicit approval prompts if needed.
- Autopilot-only autoread — when the user is in Autopilot mode (which already grants broader autonomy), allow resource reads without manual injection.
Safety considerations
I understand the MCP spec explicitly positions resources as "user-controlled context." Any of the above should:
- Respect the MCP
autoApprove pattern already used for tools
- Show the resolved content in the execution timeline so the user sees what was injected
- Allow per-server and per-resource-URI denylist
- Default to "requires approval" for resources that haven't been auto-approved
Why this matters
Agentic workflows are the direction Kiro is moving toward (Autonomous Agent, Plan Agent, Sub-agents, Powers). MCP resources are a core building block of the MCP protocol for passing structured context to an agent. The current IDE Chat restriction creates a productivity cliff compared to CLI and competing IDE agents (Claude Code, Cursor) that do support autonomous resource reads.
Environment
- Kiro IDE version: 0.11.133
- Kiro CLI version: 0.11.132
- OS: macOS (Darwin)
- MCP servers used: GitNexus, AWS MCP server
Related
Use Case
I'm building an orchestration Skill called pre-code-analysis that runs before any non-trivial code change. The skill uses GitNexus MCP server to:
- Read
gitnexus://repo/{name}/context to confirm index freshness and project scale
- Read
gitnexus://repo/{name}/clusters to map requirements to existing functional modules
- Read
gitnexus://repo/{name}/processes to identify related execution flows
- Read
gitnexus://repo/{name}/process/{name} to trace step-by-step call chains
- Combine with Tools (
query, context, impact) to produce a structured analysis document
In CLI this workflow runs end-to-end. In IDE Chat, steps 1–4 all require the user to manually open the # menu, find the resource template, fill in parameters, and submit — breaking the agentic loop. A multi-iteration workflow (e.g. "analyze and plan 3 new features") becomes unusable because the user must babysit every resource read.
Current Workaround (and its limits)
I've been using the cypher tool to simulate resource content via raw graph queries:
MATCH (c:Community) WHERE c.symbolCount > 0
RETURN c.heuristicLabel AS module, sum(c.symbolCount) AS total_symbols,
avg(c.cohesion) AS avg_cohesion
ORDER BY total_symbols DESC
But this has three drawbacks:
- Aggregation differs: Resources often do post-processing (e.g. grouping sub-clusters by
heuristicLabel) that Cypher doesn't replicate without manual sum/avg logic.
- Missing fields: Resources return curated, AI-friendly fields. Cypher only returns what you
RETURN explicitly, so you lose hints/metadata.
- No extra context: Resources like
context ship with a resources_available section and re-index hints. Cypher results don't have that meta info.
Additional Context
No response
Kiro Product
IDE
Feature Description
Summary
Currently, Kiro IDE Chat restricts MCP resources (including resource templates) to be injected only via the
#context menu by the user. The chat agent itself cannot read a resource URI even when the task clearly calls for it. Kiro CLI, by contrast, allows the agent to read resources directly (e.g.READ gitnexus://repo/{name}/context).This behavior gap makes it impossible to build agentic workflows in IDE Chat that depend on MCP resources, forcing users to either (a) manually inject every resource via
#at each step, or (b) fall back to Tool-only workarounds that can't always reproduce the same data.Current Behavior
#context provider menu, requiring manual user action to inject content into the conversation.READ gitnexus://repo/my-repo/context), and the resolved content is used as context automatically.Use Case
I'm building an orchestration Skill called
pre-code-analysisthat runs before any non-trivial code change. The skill uses GitNexus MCP server to:gitnexus://repo/{name}/contextto confirm index freshness and project scalegitnexus://repo/{name}/clustersto map requirements to existing functional modulesgitnexus://repo/{name}/processesto identify related execution flowsgitnexus://repo/{name}/process/{name}to trace step-by-step call chainsquery,context,impact) to produce a structured analysis documentIn CLI this workflow runs end-to-end. In IDE Chat, steps 1–4 all require the user to manually open the
#menu, find the resource template, fill in parameters, and submit — breaking the agentic loop. A multi-iteration workflow (e.g. "analyze and plan 3 new features") becomes unusable because the user must babysit every resource read.Current Workaround (and its limits)
I've been using the
cyphertool to simulate resource content via raw graph queries:But this has three drawbacks:
heuristicLabel) that Cypher doesn't replicate without manualsum/avglogic.RETURNexplicitly, so you lose hints/metadata.contextship with aresources_availablesection and re-index hints. Cypher results don't have that meta info.Proposed Solution
Expose a tool-level capability in IDE Chat that allows the agent to read MCP resources autonomously. Options (in order of preference):
readMcpResource(uri: string)tool — available in agent/autopilot mode, gated by the same auto-approve / per-tool toggle UI that already exists for MCP tools.readResourceas a special pseudo-tool per MCP server — the chat UI already lists resources in the#menu; make them callable from the agent side too, with explicit approval prompts if needed.Safety considerations
I understand the MCP spec explicitly positions resources as "user-controlled context." Any of the above should:
autoApprovepattern already used for toolsWhy this matters
Agentic workflows are the direction Kiro is moving toward (Autonomous Agent, Plan Agent, Sub-agents, Powers). MCP resources are a core building block of the MCP protocol for passing structured context to an agent. The current IDE Chat restriction creates a productivity cliff compared to CLI and competing IDE agents (Claude Code, Cursor) that do support autonomous resource reads.
Environment
Related
#menu injectionUse Case
I'm building an orchestration Skill called
pre-code-analysisthat runs before any non-trivial code change. The skill uses GitNexus MCP server to:gitnexus://repo/{name}/contextto confirm index freshness and project scalegitnexus://repo/{name}/clustersto map requirements to existing functional modulesgitnexus://repo/{name}/processesto identify related execution flowsgitnexus://repo/{name}/process/{name}to trace step-by-step call chainsquery,context,impact) to produce a structured analysis documentIn CLI this workflow runs end-to-end. In IDE Chat, steps 1–4 all require the user to manually open the
#menu, find the resource template, fill in parameters, and submit — breaking the agentic loop. A multi-iteration workflow (e.g. "analyze and plan 3 new features") becomes unusable because the user must babysit every resource read.Current Workaround (and its limits)
I've been using the
cyphertool to simulate resource content via raw graph queries:But this has three drawbacks:
heuristicLabel) that Cypher doesn't replicate without manualsum/avglogic.RETURNexplicitly, so you lose hints/metadata.contextship with aresources_availablesection and re-index hints. Cypher results don't have that meta info.Additional Context
No response