Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de 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

Abierto
#478 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python
Área
build-system, cli

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.
Lenguaje dominante
Python
Estrellas
22
Forks
27
Merge medio
2 d 28 min
PR fusionados (30 d)
40

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de darnitdevorg/darnit

Todos los issues de darnitdevorg/darnit

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.