Support MCP resources/read primitive
- Lenguaje dominante
- Shell
- Estrellas
- 11.2k
- Forks
- 1.9k
- Merge medio
- 14 h 16 min
- PR fusionados (30 d)
- 6
Descripción
### Describe the feature or problem you'd like to solve
MCP servers can expose data through the `resources` primitive (`resources/list`, `resources/read`). This is one of the three core MCP primitives alongside tools and prompts.
Currently, Copilot CLI only supports MCP **tools**. When an MCP tool returns a resource URI (e.g. `knowledge://domain/version/topic`), the agent has no way to read it and falls back to `web_fetch`, which fails on custom URI schemes:
```
✓ search_topics: pekko kafka consumer actor ordering sharding entity
└ Found 5 results for "pekko kafka consumer actor ordering sharding entity":
✗ Fetching web content: knowledge://hyraco/2.2.2/support/pekko
TypeError: fetch failed
✗ Fetching web content: knowledge://hyraco/2.2.2/support/kafka
TypeError: fetch failed
```
### Proposed solution
Implement MCP `resources/list` and `resources/read` support so the agent can:
1. Discover available resources from connected MCP servers
2. Read resource content by URI when tools return resource references
This would bring Copilot CLI's MCP support in line with Claude Code, which already supports all three MCP primitives.
### Additional context
- MCP spec: https://modelcontextprotocol.io/docs/concepts/resources
- The workaround for MCP server authors is to inline content in tool responses, but this increases token usage and loses the two-step search-then-read pattern that resources enable.
Guía de contribución
Línea de trabajo
Start by locating the existing MCP tool support in Copilot CLI and read the MCP resources specification linked in the issue. Trace how tool-returned resource URIs are handled, then implement discovery and URI reads so custom resource content is available to the agent instead of web_fetch; verify both resources/list and resources/read behavior.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- shell
- Área
- api, cli
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100