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
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ả
Summary
Two defects in how the MCP server is launched from installed configs:
darnit servewith no--frameworkand no config path serveslist_available_frameworks()[0], which is sorted by name. With the publisheddarnit-mcpmeta-package (darnit-baseline, darnit-gittuf, darnit-reproducibility) that isgittuf, notopenssf-baseline.darnit installwrites exactly that bare command into the client config, so the skills'audit_openssf_baselinetool is absent. In the dev workspace it resolves tocommunity-spec.- The Claude Code plugin runner executes
uvx --from darnit-mcp==$V darnit-mcp(andpipx run darnit-mcp==$V).darnit-mcpis a metadata-only wheel with no console scripts; the only script,darnit, lives indarnit-core. The runner also passes noservesubcommand (plugin.jsonargs 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
- Default selection: cli.py#L948-L952; sorted list: registry.py#L378
darnit installentry: cli.py#L616-L619- Runner: darnit-mcp-runner#L30, #L36; plugin.json#L15-L16
- Only script defined: packages/darnit/pyproject.toml#L49-L50; meta-package has none: pyproject.toml#L32-L41
release-smoke.ymlL573 runsdarnit-mcp-runner --helpand would fail on the next plugin release.
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
servewithout--frameworkeither fail with the list of choices or serve all installed frameworks; havedarnit installwrite an explicit--framework(or config path). - Give
darnit-mcpadarnit-mcpconsole 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
- Không có Dockerfile hay tệp Docker Compose
- 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 darnitdevorg/darnit
-
ci needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
darnitdevorg/darnit#607 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
dependencies module-baseline needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
darnitdevorg/darnit#606 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
A test starts real Sigstore signing (interactive OIDC login) when the attestation extra is installedĐang mởmodule-baseline needs triage testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
darnitdevorg/darnit#604 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`darnit validate` crashes on openssf-baseline.toml summarising levelsCó thể đã có người làm @i-am-paradox đã nhận 3 ngày trước. Đang mởinterface-cli module-core
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
darnitdevorg/darnit#589 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Plugins hard-code version "0.1.0" while the packages are at 0.1.1Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởgood first issue maintenance
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
darnitdevorg/darnit#587 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của darnitdevorg/darnit
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
EchoTools/nevr-runtime#651 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug frontend rt sev-3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/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 65/100
noontide-co/mainbranch#1211 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[1.x Bug] run-operation --sql reports success but rolls back writes on transaction-capable adaptersĐang mởtriage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
dbt-labs/dbt#16784 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày