SocratiCode

Server MCP di giancarloerra

Indicizza grandi codebase in locale e cercale in modo semantico, con grafi delle dipendenze e analisi d’impatto a livello di simbolo.

Gira in locale (Gira sul tuo computer: la sua pagina riporta il comando di installazione)Gira con npxServe una chiave API

Installa SocratiCode

Gira sul tuo computer. Il tuo client lo avvia con questo comando:

npx -y socraticode

Richiede Node.js sul tuo computer. I passaggi qui sotto mostrano dove va il comando in ogni client.

  • EMBEDDING_PROVIDER facoltativo Embedding provider to use: ollama (default), openai, google, lmstudio, or litellm
  • OPENAI_API_KEY segreto facoltativo API key for OpenAI embeddings (required only when EMBEDDING_PROVIDER=openai)
  • GOOGLE_API_KEY segreto facoltativo API key for Google embeddings (required only when EMBEDDING_PROVIDER=google)
  • OLLAMA_URL facoltativo URL of the Ollama server (default: auto-detected; Docker-managed or http://localhost:11434)
  • EMBEDDING_MODEL facoltativo Embedding model name (defaults per provider; required for lmstudio and litellm)
  • EMBEDDING_DIMENSIONS facoltativo Embedding vector dimensions (defaults per provider; required for lmstudio and litellm)

Condividi questo server

Apre questa pagina, con il comando di installazione e i passaggi di configurazione.

mcp.tc/i/socraticode

Descrizione

SocratiCode indicizza una codebase e offre a un assistente AI una ricerca del codice ibrida semantica e BM25, grafi delle dipendenze poliglotti e analisi d’impatto a livello di simbolo con tracciamento del flusso delle chiamate. Può anche indicizzare artefatti di contesto come schemi di database, specifiche API e configurazioni dell’infrastruttura, e offre un visualizzatore interattivo dei grafi in HTML. Un file watcher mantiene aggiornato l’indice.

Funziona in locale tramite stdio con npx (pacchetto npm socraticode). Servono Node.js 18.17 o successivo, più Docker per lo stack locale predefinito con Qdrant e Ollama. Per impostazione predefinita non servono chiavi API. Gli embedding di OpenAI, Google, LM Studio o LiteLLM si possono selezionare tramite variabili d’ambiente.

Cosa puoi fare

  • Indicizzare una codebase locale con chunking basato sull’AST
  • Eseguire ricerche nel codice ibride semantiche e per parole chiave
  • Creare grafi delle dipendenze e individuare dipendenze circolari
  • Tracciare l’impatto a livello di simbolo e il flusso delle chiamate
  • Indicizzare schemi di database, specifiche API e configurazioni infra come contesto ricercabile
  • Mantenere aggiornato l’indice con un file watcher
  • Scegliere embedding di Ollama, OpenAI, Google, LM Studio o LiteLLM

Tool

I server locali mostrano i loro tool solo quando sono in esecuzione, e questo non pubblica l’elenco in anticipo. Il tuo client li mostra dopo che lo hai aggiunto.

Prompt di esempio

  • Indicizza questo repository e trova dove viene gestita l’autenticazione degli utenti

  • Mostra il grafo delle dipendenze del modulo payments

  • Cosa si romperebbe se cambiassi la firma di parseConfig?

  • Cerca la tabella orders nello schema del database indicizzato

Configurazione

Ogni client avvia SocratiCode sul tuo computer con lo stesso comando. Scegli il tuo; la pagina ricorda la tua scelta.

Claude Code

  1. Eseguilo in un terminale, nella cartella del tuo progetto:
claude mcp add --transport stdio socraticode --env "OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>" --env "GOOGLE_API_KEY=<YOUR_GOOGLE_API_KEY>" --env "OLLAMA_API_KEY=<YOUR_OLLAMA_API_KEY>" --env "LMSTUDIO_API_KEY=<YOUR_LMSTUDIO_API_KEY>" --env "LITELLM_API_KEY=<YOUR_LITELLM_API_KEY>" --env "QDRANT_API_KEY=<YOUR_QDRANT_API_KEY>" -- npx -y socraticode
  1. Avvia Claude Code e digita /mcp. socraticode dovrebbe risultare collegato.

Aggiungi --scope user per renderlo disponibile in tutti i progetti. Sostituisci i segnaposto con i tuoi valori.

Claude Desktop

  1. Apri Settings → Developer → Edit Config. Si apre claude_desktop_config.json. Aggiungi:
claude_desktop_config.json
{
  "mcpServers": {
    "socraticode": {
      "command": "npx",
      "args": [
        "-y",
        "socraticode"
      ],
      "env": {
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "GOOGLE_API_KEY": "<YOUR_GOOGLE_API_KEY>",
        "OLLAMA_API_KEY": "<YOUR_OLLAMA_API_KEY>",
        "LMSTUDIO_API_KEY": "<YOUR_LMSTUDIO_API_KEY>",
        "LITELLM_API_KEY": "<YOUR_LITELLM_API_KEY>",
        "QDRANT_API_KEY": "<YOUR_QDRANT_API_KEY>"
      }
    }
  }
}
  1. Salva il file e riavvia Claude Desktop. Sostituisci i segnaposto con i tuoi valori.

Richiede Node.js sul tuo computer. Il file si trova in ~/Library/Application Support/Claude/ su macOS e in %APPDATA%\Claude\ su Windows.

Cursor

Oppure aggiungilo a mano in ~/.cursor/mcp.json (tutti i progetti) o in .cursor/mcp.json (questo progetto):

mcp.json
{
  "mcpServers": {
    "socraticode": {
      "command": "npx",
      "args": [
        "-y",
        "socraticode"
      ],
      "env": {
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "GOOGLE_API_KEY": "<YOUR_GOOGLE_API_KEY>",
        "OLLAMA_API_KEY": "<YOUR_OLLAMA_API_KEY>",
        "LMSTUDIO_API_KEY": "<YOUR_LMSTUDIO_API_KEY>",
        "LITELLM_API_KEY": "<YOUR_LITELLM_API_KEY>",
        "QDRANT_API_KEY": "<YOUR_QDRANT_API_KEY>"
      }
    }
  }
}

Richiede Node.js sul tuo computer. Sostituisci i segnaposto con i tuoi valori.

VS Code

Aggiungilo a .vscode/mcp.json. VS Code chiede il segreto la prima volta e lo conserva in modo sicuro:

.vscode/mcp.json
{
  "servers": {
    "socraticode": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "socraticode"
      ],
      "env": {
        "OPENAI_API_KEY": "${input:openai-api-key}",
        "GOOGLE_API_KEY": "${input:google-api-key}",
        "OLLAMA_API_KEY": "${input:ollama-api-key}",
        "LMSTUDIO_API_KEY": "${input:lmstudio-api-key}",
        "LITELLM_API_KEY": "${input:litellm-api-key}",
        "QDRANT_API_KEY": "${input:qdrant-api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "openai-api-key",
      "description": "OPENAI_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "google-api-key",
      "description": "GOOGLE_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ollama-api-key",
      "description": "OLLAMA_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "lmstudio-api-key",
      "description": "LMSTUDIO_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "litellm-api-key",
      "description": "LITELLM_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qdrant-api-key",
      "description": "QDRANT_API_KEY",
      "password": true
    }
  ]
}

Richiede Node.js sul tuo computer.

Devin Desktop

  1. Aggiungilo a ~/.config/devin/mcp_config.json (macOS e Linux) o a %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "socraticode": {
      "command": "npx",
      "args": [
        "-y",
        "socraticode"
      ],
      "env": {
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "GOOGLE_API_KEY": "<YOUR_GOOGLE_API_KEY>",
        "OLLAMA_API_KEY": "<YOUR_OLLAMA_API_KEY>",
        "LMSTUDIO_API_KEY": "<YOUR_LMSTUDIO_API_KEY>",
        "LITELLM_API_KEY": "<YOUR_LITELLM_API_KEY>",
        "QDRANT_API_KEY": "<YOUR_QDRANT_API_KEY>"
      }
    }
  }
}
  1. Aggiorna l’elenco dei server MCP in Cascade. Sostituisci i segnaposto con i tuoi valori.

Devin Desktop è il nuovo nome di Windsurf.

Codex

codex mcp add socraticode --env "OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>" --env "GOOGLE_API_KEY=<YOUR_GOOGLE_API_KEY>" --env "OLLAMA_API_KEY=<YOUR_OLLAMA_API_KEY>" --env "LMSTUDIO_API_KEY=<YOUR_LMSTUDIO_API_KEY>" --env "LITELLM_API_KEY=<YOUR_LITELLM_API_KEY>" --env "QDRANT_API_KEY=<YOUR_QDRANT_API_KEY>" -- npx -y socraticode

Oppure modifica direttamente ~/.codex/config.toml:

config.toml
[mcp_servers.socraticode]
command = "npx"
args = ["-y", "socraticode"]
env = { OPENAI_API_KEY = "<YOUR_OPENAI_API_KEY>", GOOGLE_API_KEY = "<YOUR_GOOGLE_API_KEY>", OLLAMA_API_KEY = "<YOUR_OLLAMA_API_KEY>", LMSTUDIO_API_KEY = "<YOUR_LMSTUDIO_API_KEY>", LITELLM_API_KEY = "<YOUR_LITELLM_API_KEY>", QDRANT_API_KEY = "<YOUR_QDRANT_API_KEY>" }

Richiede Node.js sul tuo computer. Sostituisci i segnaposto con i tuoi valori.

Gemini CLI

gemini mcp add -e "OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>" -e "GOOGLE_API_KEY=<YOUR_GOOGLE_API_KEY>" -e "OLLAMA_API_KEY=<YOUR_OLLAMA_API_KEY>" -e "LMSTUDIO_API_KEY=<YOUR_LMSTUDIO_API_KEY>" -e "LITELLM_API_KEY=<YOUR_LITELLM_API_KEY>" -e "QDRANT_API_KEY=<YOUR_QDRANT_API_KEY>" socraticode npx -- -y socraticode

Così lo aggiungi al progetto corrente. Aggiungi -s user per usarlo ovunque.

Qualsiasi client

La maggior parte dei client che avviano server locali accetta questa forma:

{
  "mcpServers": {
    "socraticode": {
      "command": "npx",
      "args": [
        "-y",
        "socraticode"
      ],
      "env": {
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "GOOGLE_API_KEY": "<YOUR_GOOGLE_API_KEY>",
        "OLLAMA_API_KEY": "<YOUR_OLLAMA_API_KEY>",
        "LMSTUDIO_API_KEY": "<YOUR_LMSTUDIO_API_KEY>",
        "LITELLM_API_KEY": "<YOUR_LITELLM_API_KEY>",
        "QDRANT_API_KEY": "<YOUR_QDRANT_API_KEY>"
      }
    }
  }
}

Zed mette i server sotto context_servers nelle sue impostazioni, con gli stessi campi command, args ed env.

Richiede Node.js sul tuo computer. Sostituisci i segnaposto con i tuoi valori.

Embed

Mostra SocratiCode in un README o sul tuo sito. Ogni embed rimanda a questa pagina, usa il comando di installazione del server e non imposta cookie. Come funzionano gli embed

Card, iframe e JSON sono in inglese. Aggiungi ?lang=it, fr, de o es al loro indirizzo per un’altra lingua.

Badge per il README

Anteprima del badge, chiaroAnteprima del badge, scuro
Markdown
[![SocratiCode on mcp.tc](https://mcp.tc/i/socraticode/badge.svg)](https://mcp.tc/i/socraticode)
HTML
<a href="https://mcp.tc/i/socraticode"><img src="https://mcp.tc/i/socraticode/badge.svg" alt="SocratiCode on mcp.tc" height="20"></a>

Segue la modalità chiara o scura di chi legge. Aggiungi ?theme=light o ?theme=dark per fissarla, oppure ?style=compact per mostrare il simbolo senza la scritta.

Card per il sito

HTML
<script src="https://mcp.tc/w/socraticode.js" async></script>

La card compare dove si trova il tag. Aggiungi data-theme="dark" o data-size="compact" al tag per cambiarla. Il file contiene tutto ciò che serve, quindi non fa altre richieste e non imposta cookie.

iframe

HTML
<iframe src="https://mcp.tc/embed/socraticode" title="SocratiCode on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

Usalo nelle pagine che non consentono script. Aggiungi ?theme=light o ?theme=dark all’indirizzo per fissare i colori.

JSON

La scheda come dati per le tue pagine e i tuoi strumenti: nome, descrizione breve, comando di installazione, tool e i link «Add to». Qualsiasi sito può leggerla (CORS aperto).

https://mcp.tc/i/socraticode.json

Cosa significa ogni campo

Prompt per l’AI

Incollalo in un assistente di programmazione con l’AI, come Claude Code o Cursor, e aggiungerà la card di SocratiCode al tuo sito.

Markdown
Aggiungi al mio sito la card di mcp.tc per SocratiCode, un server MCP. È un solo script statico: niente build, nessun pacchetto da installare, nessun cookie.

Metti questo tag dove deve comparire la card. La card appare subito prima del tag:

```html
<script src="https://mcp.tc/w/socraticode.js" async></script>
```

Per mostrarla altrove, metti lì questo segnaposto e carica lo stesso script una volta sola, per esempio prima di `</body>`. Lascia il link al suo interno: lo vede chi non ha JavaScript.

```html
<div data-mcptc="socraticode"><a href="https://mcp.tc/i/socraticode">SocratiCode on mcp.tc</a></div>
```

Opzioni:
- `data-theme="light"` o `"dark"` sul tag o sul segnaposto fissa i colori. Senza l’attributo, la card segue la modalità chiara o scura di chi visita.
- `data-size="compact"` dà una card più piccola, senza la descrizione breve.
- La variabile CSS `--mcptc-max-width` sul segnaposto o su un elemento padre imposta la larghezza (predefinita `520px`).
- `?lang=` nell’URL dello script imposta la lingua della card: `en`, `it`, `fr`, `de` o `es`.

Se il sito ha una Content Security Policy, consenti `script-src https://mcp.tc` e `img-src data:` (l’icona è inline).

Per un README o altra documentazione in Markdown, usa invece il badge:

```markdown
[![SocratiCode on mcp.tc](https://mcp.tc/i/socraticode/badge.svg)](https://mcp.tc/i/socraticode)
```

Riferimento: https://mcp.tc/it/embed

Cronologia delle modifiche

Questo server gira sul tuo computer, quindi seguiamo il suo pacchetto npm: qui compare ogni nuova versione, insieme alle modifiche di chi lo gestisce.

Segui SocratiCode e ti mandiamo un’email quando qualcosa cambia.

  1. , Controllo automatico

    Inizio del tracciamento: versione 1.16.0.

Domande frequenti

Posso incollare mcp.tc/i/socraticode nel mio client MCP?

No. SocratiCode gira sul tuo computer, avviato dal tuo client, quindi non ha un indirizzo web a cui collegarsi. Il link rapido è la pagina da condividere; il comando di installazione è npx -y socraticode.

SocratiCode richiede una chiave API?

Sì. Legge OPENAI_API_KEY, GOOGLE_API_KEY, OLLAMA_API_KEY, LMSTUDIO_API_KEY, LITELLM_API_KEY e QDRANT_API_KEY dal suo ambiente, e OPENAI_API_KEY, GOOGLE_API_KEY, OLLAMA_API_KEY, LMSTUDIO_API_KEY, LITELLM_API_KEY e QDRANT_API_KEY sono segreti. Metti i valori nella configurazione del tuo client sul tuo computer, mai in un file condiviso.

SocratiCode è un server remoto o locale?

Locale. Il tuo client lo avvia come processo sul tuo computer con npx -y socraticode, che richiede Node.js.

Cosa può fare SocratiCode?

Puoi indicizzare una codebase locale con chunking basato sull’AST, eseguire ricerche nel codice ibride semantiche e per parole chiave e creare grafi delle dipendenze e individuare dipendenze circolari.

Quali client possono usarlo?

Qualsiasi client che avvia server locali: Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed e altri. claude.ai e ChatGPT si collegano solo a server remoti.

mcp.tc tiene traccia delle modifiche di SocratiCode?

In parte. Gira sul tuo computer, quindi seguiamo il suo pacchetto npm: la sua sezione Cronologia mostra ogni nuova versione e le modifiche di chi lo gestisce. Segui la scheda per ricevere un’email quando cambia.

Chi ha scritto questa pagina?

Il robot di mcp.tc ha letto i metadati pubblici di SocratiCode (le pagine del suo pacchetto e del repository), e un modello di AI ne ha ricavato il testo. Una persona esamina tutto ciò che i controlli non riescono a confermare. Il testo può comunque contenere errori, quindi se ne trovi uno usa Segnala questa scheda su questa pagina. Questa traduzione è stata fatta da un modello di AI a partire dal testo inglese.

mcp.tc non è affiliato a giancarloerra. Questa pagina è stata creata a partire dai metadati pubblici di SocratiCode (ultimo controllo: 5 ott 2026), e la descrizione l’ha scritta un modello di AI, quindi può contenere errori. Nomi e marchi appartengono ai rispettivi titolari. Qualcosa non va? Segnala questa scheda. La traduzione è stata fatta da un modello di AI a partire dal testo inglese.