github / github/github-mcp-server

Hosted search_issues silently returns incorrect keyword results

未關閉
#3,188 1 則留言 2 個 reaction 已指派 0 人 在 GitHub 檢視
bug
主要語言
Go
星號
33k
分支
5k
平均合併
2 天 1 小時
30 天內合併 PR
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 摘要。