github / github/github-mcp-server
Consolidated `method`-dispatch tools return unhelpful "unknown method" errors (don't list supported methods)
- Vorherrschende Sprache
- Go
- Sterne
- 33k
- Forks
- 5k
- Ø Merge
- 2 T. 1 Std.
- Gemergte PRs (30 T.)
- 52
Beschreibung
### 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
Beitragsleitfaden
Rechercherichtung
Beginnen Sie mit labels.go, um dessen Fehler beim Methodendispatch zu vergleichen, und untersuchen Sie anschließend die Handler für pull_request_read, pull_request_review_write, issue_read, sub-issue write, actions, projects und ui_get. Stellen Sie sicher, dass nicht erkannte Methoden unterstützte Werte auflisten und dass eine ausgelassene Methodeneingabe als erforderlich gemeldet wird; überprüfen Sie die resultierenden Tool-Fehlermeldungen für beide Fälle.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- go
- Bereich
- api, backend
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 55/100