github / github/github-mcp-server
Hosted search_issues silently returns incorrect keyword results
- Langage dominant
- Go
- Étoiles
- 33k
- Forks
- 5k
- Merge moyen
- 2 j 1 h
- PR mergées (30 j)
- 52
Description
## 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.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- github, go
- Domaine
- backend-api-design, search
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 48/100