Claude plugin .mcp.json declarations are ignored at runtime
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue nà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
- 70/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ệ
- node.js, typescript
Hướng nghiên cứu
Vấn đề nằm trong hàm khám phá thời gian chạy discoverStepMcpServers(). Hãy xem xét mã trình tải plugin để chuẩn hóa .mcp.json thành một khai báo chuỗi. Bản sửa lỗi liên quan đến việc sửa đổi logic khám phá để xử lý các khai báo chuỗi (đường dẫn tệp) và phân tích tệp .mcp.json được tham chiếu. Kiểm tra các bài kiểm tra hiện có cho chẩn đoán plugin và khám phá thời gian chạy để hiểu hành vi dự kiến và thêm một bài kiểm tra hồi quy.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What happened?
Claude-style plugins with a root .mcp.json are recognized and installed by Step, but their MCP servers are not discovered after restart.
The plugin loader normalizes a Claude plugin with .mcp.json to mcpServers: ".mcp.json", and the diagnostics path accepts that file-backed declaration. The runtime path in discoverStepMcpServers() currently skips string declarations entirely:
if (!declared || typeof declared === "string") continue;
So the plugin appears under /plugin as installed, but its MCP server never starts. An otherwise equivalent plugin with inline mcpServers starts normally.
Steps to reproduce
- Create a Claude-style plugin with
.claude-plugin/plugin.json. - Add a root
.mcp.jsoncontaining a stdio MCP server, for example a tiny Node process that writes a marker file when it starts. - Add the plugin through a local marketplace and install it with
/plugin install. - Restart Step.
- The plugin is still listed as installed, but the marker from the
.mcp.jsonserver is never created.
As a control, moving the same server declaration inline into plugin.json -> mcpServers creates the marker after the same restart.
I have a local fix that resolves inline and file-backed declarations through one parser and added regression coverage for runtime discovery and plugin diagnostics. The focused tests pass, pnpm run check passes, and pnpm run build:offline passes. Happy to submit the fix if this direction looks good.
Expected behavior
A Claude-style plugin's root .mcp.json should be discovered and started after restart the same way as inline mcpServers.
Version
StepCode 0.1.0, main @ cb5fc1456d49d49c62e072bfed2926220083214e
AI-assisted wording; the repro, code path, fix, and tests were verified locally.
- Ngôn ngữ chính
- TypeScript
- Star
- 654
- Fork
- 55
- Merge trung bình
- 1 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 36
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
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 stepfun-ai/Step-Code
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
stepfun-ai/Step-Code#218 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area/build bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
stepfun-ai/Step-Code#190 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area/tools bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
stepfun-ai/Step-Code#186 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area/tools bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
stepfun-ai/Step-Code#185 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area/tools bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
stepfun-ai/Step-Code#184 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của stepfun-ai/Step-Code
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Agenta-AI/agenta#7542 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
code quality security
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
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 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
-
feat(icons): add [solidping]Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
homarr-labs/dashboard-icons#2939 ·
Maintainer thường phản hồi trong vòng 1 ngày