Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Claude plugin .mcp.json declarations are ignored at runtime

Aperta Adatta ai principianti
#148 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
70/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
node.js, typescript
Ambito
backend, cli, tooling

Direzione di ricerca

Il problema si trova nella funzione di scoperta a runtime discoverStepMcpServers(). Esamina il codice del caricatore di plugin che normalizza .mcp.json in una dichiarazione di stringa. La correzione implica la modifica della logica di scoperta per gestire le dichiarazioni di stringa (percorsi di file) e analizzare il file .mcp.json referenziato. Controlla i test esistenti per le diagnostiche dei plugin e la scoperta a runtime per comprendere il comportamento atteso e aggiungi un test di regressione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
TypeScript
Stelle
54
Fork
20
Merge medio
23m
PR unite (30g)
7

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di stepfun-ai/Step-Code

Tutte le issue di stepfun-ai/Step-Code

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.