{"name":"io.github.giancarloerra/socraticode","slug":"giancarloerra-socraticode","title":null,"description":"MCP server for enterprise local codebase indexing, semantic search, and code dependency graphs.","url":"https://mcp.market/server/giancarloerra-socraticode","rating":null,"grade":"C","score":65,"certified":false,"status":"active","category":"search","tags":["search"],"presence":{"score":67,"stars":3313,"forks":423,"downloads_week":5182,"last_push_at":"2026-09-17T19:14:39.000Z","license":"AGPL-3.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/giancarloerra/socraticode","website":null,"version":"1.14.0","remotes":[],"packages":[{"registryType":"npm","identifier":"socraticode","version":"1.14.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Embedding provider to use: ollama (default), openai, google, lmstudio, or litellm","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"API key for OpenAI embeddings (required only when EMBEDDING_PROVIDER=openai)","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"API key for Google embeddings (required only when EMBEDDING_PROVIDER=google)","format":"string","isSecret":true,"name":"GOOGLE_API_KEY"},{"description":"URL of the Ollama server (default: auto-detected; Docker-managed or http://localhost:11434)","format":"string","name":"OLLAMA_URL"},{"description":"Embedding model name (defaults per provider; required for lmstudio and litellm)","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions (defaults per provider; required for lmstudio and litellm)","format":"string","name":"EMBEDDING_DIMENSIONS"},{"description":"Ollama mode: auto (default), docker, or external","format":"string","name":"OLLAMA_MODE"},{"description":"Optional API key for authenticated Ollama proxies","format":"string","isSecret":true,"name":"OLLAMA_API_KEY"},{"description":"LM Studio OpenAI-compatible base URL (default: http://localhost:1234/v1)","format":"string","name":"LMSTUDIO_URL"},{"description":"Optional API key when LM Studio authentication is enabled","format":"string","isSecret":true,"name":"LMSTUDIO_API_KEY"},{"description":"Allow compatible embedding servers without a models endpoint to be probed directly","format":"string","name":"LMSTUDIO_ALLOW_MISSING_MODEL_LISTING"},{"description":"LiteLLM OpenAI-compatible base URL (default: http://localhost:4000/v1)","format":"string","name":"LITELLM_URL"},{"description":"LiteLLM master or virtual API key (required when EMBEDDING_PROVIDER=litellm)","format":"string","isSecret":true,"name":"LITELLM_API_KEY"},{"description":"Forward the dimensions parameter through LiteLLM when explicitly enabled","format":"string","name":"LITELLM_SEND_DIMENSIONS"},{"description":"Qdrant mode: managed (default, Docker-managed) or external (user-provided instance)","format":"string","name":"QDRANT_MODE"},{"description":"Full URL for remote/cloud Qdrant (e.g. https://xyz.cloud.qdrant.io:6333). Only needed when QDRANT_MODE=external","format":"string","name":"QDRANT_URL"},{"description":"API key for remote Qdrant instance. Only needed when QDRANT_MODE=external","format":"string","isSecret":true,"name":"QDRANT_API_KEY"}]}],"tools":[],"scan":{"score":65,"grade":"C","scanned_at":"2026-09-19T09:59:04.697Z","report":{"scannerVersion":"0.1.3","scannedAt":"2026-09-19T09:59:04.649Z","components":{"code":{"score":13,"max":25,"notes":["112 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 2 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.shell-concat","severity":"high","component":"code","title":"Shell command built from a string (injection risk)","evidence":"dist/services/lock.js: …s the only reliable option. execSync(`taskkill /F /PID ${pid}`, { stdio: \"ignore\" }); …"}],"inputs":{"packages":[{"registryType":"npm","identifier":"socraticode","version":"1.14.0","found":true,"license":"AGPL-3.0-only","hasInstallScripts":false,"dependencyCount":34,"publishedAt":"2026-09-16T14:26:33.703Z","repositoryUrl":"git+https://github.com/giancarloerra/socraticode.git","weeklyDownloads":5182}],"repo":{"found":true,"owner":"giancarloerra","repo":"socraticode","archived":false,"pushedAt":"2026-09-17T19:14:39Z","stars":3313,"forks":423,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/105157948?v=4","ownerCreatedAt":"2022-05-08T12:54:36Z","license":"AGPL-3.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/105157948?v=4&s=128","source":"github"},"presence":{"stars":3313,"forks":423,"downloadsWeek":5182,"license":"AGPL-3.0","lastPushAt":"2026-09-17T19:14:39.000Z","score":67}}}},"grade_history":[],"reviews":[]}