Local MCP server that gives ChatGPT read/write access to whitelisted project roots with task management and background process control
devbridge has 17 tools with explicit schemas and annotations, but quality is inconsistent. Strengths: all tools have descriptions (Italian, detailed); tool annotations present (readOnlyHint, destructiveHint, idempotentHint); input schemas defined for all tools. Weaknesses: descriptions are in Italian, making them inaccessible to English-speaking LLMs; parameter descriptions lack specificity (e.g., 'cwd' is just 'Cartella del progetto' with no format guidance); no output schemas documented; error handling is minimal (generic 'Nessun task attivo' responses); no pagination for list_dir or find_files despite potential large results; task tools conflate multi-step orchestration with file I/O, violating single-responsibility principle.
Cancella un file o una directory (ricorsivo).
Sostituzione esatta di stringa in un file. old_string deve comparire esattamente una volta (o usa replace_all).
Cerca file per nome (glob pattern). Esclude .git e node_modules.
Elenca il contenuto di una directory (non ricorsivo). Mostra tipo e dimensione.
Elenca le cartelle di progetto a cui hai accesso. Chiamalo per primo se non sai dove sei.
Legge un file di testo. Usa offset/limit (righe) per file grandi. Restituisce righe numerate.
Legge l output di un processo avviato con run_background.
Avvia un processo lungo in background (dev server, watch, suite di test) e torna subito con un id. Usa read_output per leggerne l output e stop_background per fermarlo. Serve per tutto cio che non finisce da solo.
All descriptions are in Italian, making them inaccessible to English-speaking LLMs and violating the principle that tool descriptions must be machine-readable and language-agnostic for cross-region deployment.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract structured data without knowing return types. E.g., run_command returns {stdout, stderr, exit_code} but this is not declared.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Esegue un comando shell nella cartella del progetto. Timeout 180s di default. Restituisce stdout, stderr, exit code.
Ferma un processo avviato con run_background. Senza nome, elenca quelli attivi.
Aggiunge passi al piano quando scopri che ne servono altri. Il piano si adatta al lavoro, non il contrario.
Chiude il task. Da chiamare SOLO quando l obiettivo e raggiunto e verificato, non quando sei stanco.
Annota una scoperta che ti servira nei passi successivi (un percorso, un comando che funziona, una causa trovata). Sopravvive al turno: e la tua memoria.
Apre un task di piu passi che sopravvive tra un messaggio e l altro. Usalo quando il lavoro non sta in una sola risposta: scrivi l obiettivo e i passi, poi lavorane UNO per volta chiudendolo con task_step_done. Il piano resta su disco.
Mostra il task in corso: obiettivo, passi fatti e da fare, appunti. CHIAMALO PER PRIMO a ogni messaggio, per sapere dove eri rimasto.
Chiude il passo corrente con il suo esito e restituisce il prossimo. Un passo per volta: e cosi che il lavoro avanza tra i turni.
Scrive (crea o sovrascrive) un file. Crea le directory mancanti. Per modifiche puntuali preferisci edit_file.
Parameter descriptions lack actionable constraints. E.g., 'cwd' is described as 'Cartella del progetto' (project folder) with no format guidance, path validation rules, or examples. 'limit' in read_file has no min/max bounds.
list_dir and find_files lack pagination. No limit parameter, no offset/cursor, no total count. Large directories or glob results could blow context window without pagination guidance.
Error handling is generic and non-actionable. E.g., 'Nessun task attivo' (no active task) does not guide the LLM on recovery. Should return 'No active task. Call task_start(goal, steps) to begin a new task.'