Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

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

未关闭
#478 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 2 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
python
领域
build-system, cli

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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.
主要语言
Python
星标
22
派生
27
平均合并
2 天 19 小时
30 天内合并 PR
51

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

darnitdevorg/darnit 的其他 Issue

查看 darnitdevorg/darnit 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。