Hosted search_issues silently returns incorrect keyword results
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.
Source: github/github-mcp-server