Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

mcp: a non-object tools/call arguments crashes the handler and is reported as an internal error to retry

Đang mở Phù hợp với người mới
#2,981 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@kjgggggg đang làm issue này rồi.

Từ ngày 28/10/2026.

  • #2986 của @kjgggggg — đang mở

Đánh giá

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

Hướng nghiên cứu

Bắt đầu tại src/mcp/session.ts quanh L297, nơi params.arguments || {} được lấy, và đọc phần kiểm tra thiếu tên công cụ liền kề vốn đã trả về JSON-RPC -32602 — phản chiếu đúng hình dạng của nó. Sau đó xem src/mcp/tools.ts quanh L3074 để thấy nơi EXPLORE_SESSION_VIEW_ARG in args nổ ra trên một chuỗi. Hoàn thành nghĩa là arguments kiểu chuỗi, số hoặc mảng cho ra lỗi invalid-params trong khi null vẫn dự phòng về {}; tái hiện bằng yêu cầu stdio serve --mcp từ báo cáo.

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

Mô tả

A tools/call whose arguments is not an object (a string, number or array) crashes inside the tool handler. It comes back as isError: true with "This is an internal codegraph error — retry the call once", where a client bug should get a JSON-RPC invalid-params error.

{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"codegraph_explore","arguments":"alpha"}}

→

{"isError":true,"text":"Error: Tool execution failed: Cannot use 'in' operator to search for '_cgExploreSession' in alpha. This is an internal codegraph error — retry the call once; …"}

Cause. mcp/session.ts#L297 takes params.arguments || {} without checking it is a plain object, and mcp/tools.ts#L3074 then runs EXPLORE_SESSION_VIEW_ARG in args on a string. arguments: null works (falls back to {}).

Reproduced on main at 77ee3484 (serve --mcp over stdio, Linux/WSL2, Node 22.23.2).

Expected. Reject a non-object arguments with JSON-RPC -32602 ("arguments must be an object"), as the missing-tool-name check next to it does. Per AGENTS.md ("Errors teach abandonment"), an "internal error, retry" for a caller mistake is the response most likely to make an agent give up on codegraph.

Ngôn ngữ chính
C
Star
73.2k
Fork
4.7k
Merge trung bình
3 giờ 13 phút
Pull request đã merge (30 ngày)
579

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của colbymchenry/codegraph

Tất cả issue của colbymchenry/codegraph

Issue tương tự

Thêm issue về C

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.