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

Claude plugin .mcp.json declarations are ignored at runtime

Đang mở Phù hợp với người mới
#148 2 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

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
Lĩnh vực
backend, cli, tooling

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ả

untriaged
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
  1. Create a Claude-style plugin with .claude-plugin/plugin.json.
  2. Add a root .mcp.json containing a stdio MCP server, for example a tiny Node process that writes a marker file when it starts.
  3. Add the plugin through a local marketplace and install it with /plugin install.
  4. Restart Step.
  5. The plugin is still listed as installed, but the marker from the .mcp.json server 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

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 stepfun-ai/Step-Code

Tất cả issue của stepfun-ai/Step-Code

Issue tương tự

Thêm issue về TypeScript

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.