socraticode for VS Code
io.github.giancarloerra/socraticode
MCP server for enterprise local codebase indexing, semantic search, and code dependency graphs.
client:VS Code
transport:stdio
runtime:npm
Install socraticode in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "embedding-provider",
"description": "EMBEDDING_PROVIDER",
"password": true
},
{
"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-url",
"description": "OLLAMA_URL",
"password": true
},
{
"type": "promptString",
"id": "embedding-model",
"description": "EMBEDDING_MODEL",
"password": true
},
{
"type": "promptString",
"id": "embedding-dimensions",
"description": "EMBEDDING_DIMENSIONS",
"password": true
},
{
"type": "promptString",
"id": "ollama-mode",
"description": "OLLAMA_MODE",
"password": true
},
{
"type": "promptString",
"id": "ollama-api-key",
"description": "OLLAMA_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "lmstudio-url",
"description": "LMSTUDIO_URL",
"password": true
},
{
"type": "promptString",
"id": "lmstudio-api-key",
"description": "LMSTUDIO_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "lmstudio-allow-missing-model-listing",
"description": "LMSTUDIO_ALLOW_MISSING_MODEL_LISTING",
"password": true
},
{
"type": "promptString",
"id": "litellm-url",
"description": "LITELLM_URL",
"password": true
},
{
"type": "promptString",
"id": "litellm-api-key",
"description": "LITELLM_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "litellm-send-dimensions",
"description": "LITELLM_SEND_DIMENSIONS",
"password": true
},
{
"type": "promptString",
"id": "qdrant-mode",
"description": "QDRANT_MODE",
"password": true
},
{
"type": "promptString",
"id": "qdrant-url",
"description": "QDRANT_URL",
"password": true
},
{
"type": "promptString",
"id": "qdrant-api-key",
"description": "QDRANT_API_KEY",
"password": true
}
],
"servers": {
"socraticode": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"socraticode"
],
"env": {
"EMBEDDING_PROVIDER": "${input:embedding-provider}",
"OPENAI_API_KEY": "${input:openai-api-key}",
"GOOGLE_API_KEY": "${input:google-api-key}",
"OLLAMA_URL": "${input:ollama-url}",
"EMBEDDING_MODEL": "${input:embedding-model}",
"EMBEDDING_DIMENSIONS": "${input:embedding-dimensions}",
"OLLAMA_MODE": "${input:ollama-mode}",
"OLLAMA_API_KEY": "${input:ollama-api-key}",
"LMSTUDIO_URL": "${input:lmstudio-url}",
"LMSTUDIO_API_KEY": "${input:lmstudio-api-key}",
"LMSTUDIO_ALLOW_MISSING_MODEL_LISTING": "${input:lmstudio-allow-missing-model-listing}",
"LITELLM_URL": "${input:litellm-url}",
"LITELLM_API_KEY": "${input:litellm-api-key}",
"LITELLM_SEND_DIMENSIONS": "${input:litellm-send-dimensions}",
"QDRANT_MODE": "${input:qdrant-mode}",
"QDRANT_URL": "${input:qdrant-url}",
"QDRANT_API_KEY": "${input:qdrant-api-key}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs