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

Installed MCP entry points serve the wrong framework or nothing: `darnit serve` picks the alphabetically first framework, and the plugin runner calls a nonexistent `darnit-mcp` executable

Đang mở
#478 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

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
48/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ệ
python
Lĩnh vực
build-system, cli

Hướng nghiên cứu

Start by tracing the default selection in packages/darnit/src/darnit/cli.py and the runner commands in packaging/claude-plugin/templates/darnit-mcp-runner and plugin.json; compare them with the console-script declaration in packages/darnit/pyproject.toml and the meta-package pyproject.toml. Reproduce the reported commands, then check release-smoke.yml’s runner check; done means installed configs launch successfully and bare serve has an intentional framework-selection behavior.

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

Mô tả

infrastructure interface-cli interface-mcp

Summary

Two defects in how the MCP server is launched from installed configs:

  1. darnit serve with no --framework and no config path serves list_available_frameworks()[0], which is sorted by name. With the published darnit-mcp meta-package (darnit-baseline, darnit-gittuf, darnit-reproducibility) that is gittuf, not openssf-baseline. darnit install writes exactly that bare command into the client config, so the skills' audit_openssf_baseline tool is absent. In the dev workspace it resolves to community-spec.
  2. The Claude Code plugin runner executes uvx --from darnit-mcp==$V darnit-mcp (and pipx run darnit-mcp==$V). darnit-mcp is a metadata-only wheel with no console scripts; the only script, darnit, lives in darnit-core. The runner also passes no serve subcommand (plugin.json args are []).

Impact

A user following either install path gets an MCP server for the wrong framework, or none. The skills then report "no audit tools" or audit against an unintended standard.

Evidence

Reproduction

$ uvx --from darnit-mcp==0.1.0 darnit-mcp --help
Package `darnit-mcp` does not provide any executables.        (exit 1)

$ uvx --from darnit-mcp==0.1.0 python -c "from darnit.config import list_available_frameworks as f; print(f())"
['gittuf', 'openssf-baseline', 'reproducibility']

The published darnit_mcp-0.1.0-py3-none-any.whl contains only dist-info files and no entry_points.txt. Expected: the runner starts a server, and a bare darnit serve serves an intended framework. Actual: the runner fails; darnit serve serves gittuf.

Suggested direction

  • Make serve without --framework either fail with the list of choices or serve all installed frameworks; have darnit install write an explicit --framework (or config path).
  • Give darnit-mcp a darnit-mcp console script (or change the runner to --from darnit-mcp==$V darnit serve --framework ...), and add a smoke test that runs the runner against a built wheel before release.
  • Related: #229, #231, #389.
Ngôn ngữ chính
Python
Star
22
Fork
27
Merge trung bình
1 ngày 19 giờ
Pull request đã merge (30 ngày)
39

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 darnitdevorg/darnit

Tất cả issue của darnitdevorg/darnit

Issue tương tự

Thêm issue về Python

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.