Repeated MCP discovery reports "Found 0 tools" for an already-loaded namespace
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
Summary
Repeated model-side MCP tool discovery reports "Found 0 tools" for a namespace whose tool definitions were already loaded. This misleading result caused the agent to declare a working integration unavailable and skip a required workflow step.
Environment
- Copilot CLI 1.0.84-2
- Windows
- Local stdio MCP server exposing four tools
Reproduction
- In a fresh session, discover the configured MCP namespace. In this case, the call was
api_tool.list_resources({"paths":["pr-copilot"]}). - Observe "Found 4 tools" and all four tool definitions being loaded.
- Repeat the identical discovery call without changing MCP configuration.
- Observe "Found 0 tools", despite the previously loaded definitions remaining in context.
This was reproduced in a separate session after investigating the original failure.
Actual behavior and impact
The affected session already had all four schemas in its request history. Two later discovery responses completed with tools: []. The agent then reported: "The PR-monitor integration currently exposes no tools, so I can't start it."
The empty responses were real; the incorrect inference was that no tools were available. This report concerns model-side discovery, not a claim that the MCP server's raw tools/list returned an empty list. No stateful monitor invocation was needed to reproduce the discovery behavior.
Expected behavior
A repeated lookup should either return the existing tool definitions or explicitly report that the tools are already loaded, including their names/count. "No additional definitions to load" must be distinguishable from "no matching or available tools", so the agent does not abandon an available integration.
🤖 m-nash-copilot
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the model-side handling of repeated api_tool.list_resources calls for an MCP namespace, comparing the first response with later responses. Done means repeated discovery clearly distinguishes already-loaded tools from no available or matching tools and includes the existing names or count.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100