github / github/github-mcp-server
Hosted search_issues silently returns incorrect keyword results
- Lingua principale
- Go
- Stelle
- 33k
- Fork
- 5k
- Merge medio
- 2g 1h
- PR unite (30g)
- 52
Descrizione
## 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.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Start by reproducing the listed search_issues queries against the hosted MCP endpoint and compare them with GitHub REST GET /search/issues. Then trace the search_issues implementation and hosted request path; done means keyword queries preserve GitHub search semantics or return an explicit unsupported-query/error signal instead of silently incorrect successful results.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- github, go
- Ambito
- backend-api-design, search
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 48/100