github / github/github-mcp-server

get_discussion and get_discussion_comments accept calls with missing required parameters instead of returning a validation error

Đang mở Phù hợp với người mới
#2,740 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Go
Star
33k
Fork
5k
Merge trung bình
2 ngày 1 giờ
Pull request đã merge (30 ngày)
52

Mô tả

### Describe the bug

When `get_discussion` or `get_discussion_comments` is called without one of the required parameters (`owner`, `repo`, or `discussionNumber`), the tool does not return a parameter-validation error. Instead it silently substitutes a zero value and issues a GraphQL request, which returns a confusing API-level error rather than a clear message identifying the missing field.

**Affected version:** current (tested against `ghcr.io/github/github-mcp-server` latest as of 2026-06)

### Steps to reproduce

1. Configure the MCP server normally.
2. Call `get_discussion` with only `{"repo": "myrepo", "discussionNumber": 1}` (omitting `owner`).
3. Observe that the tool returns a GraphQL error like `"Could not resolve to a Repository"` rather than a message indicating `owner` is required.

Repeat with `get_discussion_comments` and any missing required field.

### Expected behavior

The tool should return a structured error immediately: `"missing required parameter: owner"` (or equivalent), consistent with how `add_discussion_comment` and the other discussion write tools behave when a required parameter is absent.

### Actual behavior

The tool issues a GraphQL query with the missing field set to its zero value (`""` for strings, `0` for numbers) and returns whichever API error results from that invalid query.

### Additional context

The write handlers in the same file (`add_discussion_comment`, `reply_to_discussion_comment`, etc.) were updated in PR #2718 to use explicit parameter validation that returns named errors on missing input. The two read handlers were not included in that pass and still use the legacy decoding pattern.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start by locating the get_discussion and get_discussion_comments handlers and compare their parameter decoding with the validated discussion write handlers updated in PR #2718. Reproduce calls with each required field omitted, then confirm both read tools return a named missing-parameter validation error without issuing a GraphQL request.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
go
Lĩnh vực
api, backend-api-design
Loại issue
Lỗi
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
76/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.