mcp: a non-object tools/call arguments crashes the handler and is reported as an internal error to retry
Maintainer thường phản hồi trong vòng 1 ngày
Đá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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của colbymchenry/codegraph
-
mcp: a projectPath naming a file inside a project returns isError ("Path is not a directory")Có thể đã có người làm @maxmilian đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
colbymchenry/codegraph#2982 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
colbymchenry/codegraph#2974 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
search: FTS special characters are deleted, not separated, so leaf(entry) matches nothingCó thể đã có người làm @kjgggggg đã nhận 1 ngày trước. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
colbymchenry/codegraph#2971 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Security Vulnerabiliy] Vulnerable bundled `node.exe` detected (Node2Shell - CVE-2026-111497)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
colbymchenry/codegraph#2959 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
TypeScript: an import resolves to a same-named method of an exported object literal instead of the exported functionCó thể đã có người làm @inth3shadows đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
colbymchenry/codegraph#2945 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của colbymchenry/codegraph
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
zephyrproject-rtos/zephyr#123881 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
eclipse-zenoh/zenoh-pico#1354 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
ly05010419/MacNativeGames#1252 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 2 ngày