Skip to content

[Feature Request] Allow IDE Chat agent to autonomously read MCP resources without manual # injection #8148

Description

@cameldeng

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:

  1. Read gitnexus://repo/{name}/context to confirm index freshness and project scale
  2. Read gitnexus://repo/{name}/clusters to map requirements to existing functional modules
  3. Read gitnexus://repo/{name}/processes to identify related execution flows
  4. Read gitnexus://repo/{name}/process/{name} to trace step-by-step call chains
  5. 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:

  1. Aggregation differs: Resources often do post-processing (e.g. grouping sub-clusters by heuristicLabel) that Cypher doesn't replicate without manual sum/avg logic.
  2. Missing fields: Resources return curated, AI-friendly fields. Cypher only returns what you RETURN explicitly, so you lose hints/metadata.
  3. 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):

  1. 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.
  2. 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.
  3. 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:

  1. Read gitnexus://repo/{name}/context to confirm index freshness and project scale
  2. Read gitnexus://repo/{name}/clusters to map requirements to existing functional modules
  3. Read gitnexus://repo/{name}/processes to identify related execution flows
  4. Read gitnexus://repo/{name}/process/{name} to trace step-by-step call chains
  5. 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:

  1. Aggregation differs: Resources often do post-processing (e.g. grouping sub-clusters by heuristicLabel) that Cypher doesn't replicate without manual sum/avg logic.
  2. Missing fields: Resources return curated, AI-friendly fields. Cypher only returns what you RETURN explicitly, so you lose hints/metadata.
  3. 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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions