github / github/github-mcp-server

Hosted search_issues silently returns incorrect keyword results

オープン
#3,188 コメント 1 件 リアクション 2 件 担当者 0 名 GitHub で見る
bug
主要言語
Go
スター
33k
フォーク
5k
平均マージ
2日 1時間
マージ済み PR(30日)
52

説明

## 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.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
github, go
領域
backend-api-design, search
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
48/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。