Bug description
The hosted GitHub MCP search_issues tool silently returns materially incorrect keyword search results while reporting incomplete_results: false.
This reproduces when calling the hosted endpoint directly, without an MCP aggregator.
Environment
- Endpoint:
https://api.githubcopilot.com/mcp
- Server:
github-mcp-server
- Reported version:
github-mcp-server/remote-34ac9c16f8fd3e2a5af74929de89de3a11e98f9b
- Protocol negotiated:
2025-11-25
- Date verified: 2026-08-31
Reproduction
Call search_issues with ordinary GitHub issue search syntax already scoped to issues.
| Query |
Hosted MCP total_count |
GitHub REST GET /search/issues |
repo:modelcontextprotocol/python-sdk transport |
0 |
410 |
repo:modelcontextprotocol/python-sdk windows |
0 |
95 |
repo:anthropics/claude-code hooks |
3 |
8016 |
memory leak |
40 |
407744 at verification time |
The three returned hooks results were titled plugins, trap, and Hook before Exit, which also does not match normal GitHub full-text search behavior.
Passing owner and repo separately with a keyword-only query produced the same incorrect results, so this is not limited to embedding repo: in query.
Qualifier-only searches such as repo:modelcontextprotocol/python-sdk label:bug return plausible counts, which makes the keyword failure easy for an agent to trust silently.
Expected behavior
search_issues should preserve GitHub issue search semantics and return counts/results consistent with the GitHub REST Search API for the same effective query, or return an explicit error/unsupported-query signal.
Actual behavior
The tool returns a successful response with incomplete_results: false, but keyword matches are missing or unrelated.
Impact
Agents can incorrectly conclude that an issue, bug report, or prior discussion does not exist. This is a correctness failure rather than only a ranking-quality difference.
Bug description
The hosted GitHub MCP
search_issuestool silently returns materially incorrect keyword search results while reportingincomplete_results: false.This reproduces when calling the hosted endpoint directly, without an MCP aggregator.
Environment
https://api.githubcopilot.com/mcpgithub-mcp-servergithub-mcp-server/remote-34ac9c16f8fd3e2a5af74929de89de3a11e98f9b2025-11-25Reproduction
Call
search_issueswith ordinary GitHub issue search syntax already scoped to issues.total_countGET /search/issuesrepo:modelcontextprotocol/python-sdk transportrepo:modelcontextprotocol/python-sdk windowsrepo:anthropics/claude-code hooksmemory leakThe three returned
hooksresults were titledplugins,trap, andHook before Exit, which also does not match normal GitHub full-text search behavior.Passing
ownerandreposeparately with a keyword-onlyqueryproduced the same incorrect results, so this is not limited to embeddingrepo:inquery.Qualifier-only searches such as
repo:modelcontextprotocol/python-sdk label:bugreturn plausible counts, which makes the keyword failure easy for an agent to trust silently.Expected behavior
search_issuesshould preserve GitHub issue search semantics and return counts/results consistent with the GitHub REST Search API for the same effective query, or return an explicit error/unsupported-query signal.Actual behavior
The tool returns a successful response with
incomplete_results: false, but keyword matches are missing or unrelated.Impact
Agents can incorrectly conclude that an issue, bug report, or prior discussion does not exist. This is a correctness failure rather than only a ranking-quality difference.