github / github/github-mcp-server

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

Open
#2,712 0 comments 0 reactions 0 assignees View on GitHub
bug request ai review
Dominant language
Go
Stars
33k
Forks
5k
Avg merge
2d 1h
Merged PRs (30d)
52

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.