github / github/github-mcp-server

Consolidated `method`-dispatch tools return unhelpful "unknown method" errors (don't list supported methods)

未關閉
#2,712 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
bug request ai review
主要語言
Go
星號
33k
分支
5k
平均合併
2 天 1 小時
30 天內合併 PR
52

描述

### Describe the bug

The consolidated tools that dispatch on a method argument return a bare unknown method: when the method is unrecognized, without listing the valid methods. `labels.go` already does the helpful thing ("... Supported methods are: create, update, delete"); the other method-dispatch tools don't, so the behavior is inconsistent.

Separately, `pull_request_review_write` decodes arguments with `mapstructure.WeakDecode` (it does not use RequiredParam like the other tools), so omitting the required method produces "unknown method: " with an empty value — instead of telling the caller that method is required.

Affected tools: `pull_request_read`, `pull_request_review_write`, `issue_read`, sub-issue write, actions (list/get/run), projects (list/get/write), ui_get.

### Affected version

Version: v1.3.0
Commit: 34227037fc48771baea9af7163e28cb6556ef287
Build Date: 2026-06-11T14:16:55Z

### Steps to reproduce the behavior

1. Call `pull_request_review_write` with the required method omitted, e.g. `{ "owner": "o", "repo": "r", "pullNumber": 42 }`.
2. View the output.
3. Server returns (tool-result error, HTTP 200 `isError`):

`unknown method: `
(empty after the colon — method was never supplied, but the error doesn't say it's required or what the valid values are).

Or, with an unrecognized value `{ "method": "bogus", ... }`:

`unknown method: bogus`
No list of supported methods. The same bare error occurs on pull_request_read, issue_read, actions_*, projects_*, and ui_get for any unrecognized method.

### Expected vs actual behavior

Expected: the error names the supported methods (matching labels.go, e.g. unknown method: bogus. Supported methods are: create, submit_pending, delete_pending, resolve_thread, unresolve_thread), and an omitted required method reports method is required. Supported methods are: ....

Actual: a bare unknown method: with no guidance; for pull_request_review_write an omitted method yields unknown method: (empty), which reads like a routing bug rather than a missing required argument.

Logs
Tool-result error text returned by the server:

unknown method:
unknown method: bogus

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。