{"name":"io.github.n24q02m/crg","slug":"n24q02m-crg","title":null,"description":"Token-efficient code review knowledge graph: semantic search and call-graph resolution.","url":"https://mcp.market/server/n24q02m-crg","rating":null,"grade":"B","score":75,"certified":false,"status":"active","category":"search","tags":["search"],"presence":{"score":48,"stars":76,"forks":11,"downloads_week":1150,"last_push_at":"2026-10-13T23:12:29.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/n24q02m/crg.git","website":null,"version":"3.30.0","remotes":[],"packages":[{"registryType":"pypi","identifier":"better-code-review-graph","version":"3.30.0","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Embedding models in selection order; the current runtime uses the first provider/model entry; empty = local ONNX","name":"EMBEDDING_MODELS"},{"description":"Built-in fastretrieval model ID or local directory with fastretrieval-manifest.json","name":"LOCAL_EMBEDDING_MODEL"},{"description":"Fastretrieval TextCrossEncoder model ID; empty = reranking disabled","name":"LOCAL_RERANK_MODEL"},{"description":"Required positive output dimension for an external local embedding ID without a manifest","name":"LOCAL_EMBEDDING_DIM"},{"description":"ONNX file path inside a manifest-backed local embedding directory","name":"LOCAL_EMBEDDING_MODEL_FILE"},{"description":"Explicit pooling for an external local embedding ID without a manifest","name":"LOCAL_EMBEDDING_POOLING"},{"description":"Explicit L2 normalization for an external local embedding ID without a manifest","name":"LOCAL_EMBEDDING_NORMALIZE"},{"description":"API key for the [models.embed] cell transport (OpenRouter pre-wired default); host-injected, overrides the cell api_key","isSecret":true,"name":"HULL_EMBED_API_KEY"},{"description":"API key for the [models.chat] cell transport (OpenRouter pre-wired default); host-injected, enables LLM summaries when the cell model is set","isSecret":true,"name":"HULL_CHAT_API_KEY"},{"description":"DEPRECATED (honored one release): embedding backend override 'local' or 'cloud'. Use EMBEDDING_MODELS instead.","name":"EMBEDDING_BACKEND"}]}],"tools":[{"name":"config","description":"Server configuration, status, and model-cell setup.","write_action":false,"price_micros":0,"input_schema":null},{"name":"graph","description":"Build, update, and manage the code knowledge graph.","write_action":false,"price_micros":0,"input_schema":null},{"name":"help","description":"Load full documentation for a tool.","write_action":false,"price_micros":0,"input_schema":null},{"name":"query","description":"Query the code knowledge graph for relationships, search, and impact analysis.","write_action":false,"price_micros":0,"input_schema":null},{"name":"review","description":"Generate focused review context for code changes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"security","description":"Security scanning tool: scan / report / suppress / rule_list.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":75,"grade":"B","scanned_at":"2026-10-14T05:25:59.339Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-14T05:25:59.305Z","components":{"code":{"score":20,"max":25,"notes":["57 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 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.shell-true","severity":"medium","component":"code","title":"subprocess with shell=True","evidence":"better_code_review_graph-3.30.0/rules/heuristic/cwe-78-shell-command-sink.yaml: …and injection -- subprocess called with shell=True …"}],"inputs":{"packages":[{"registryType":"pypi","identifier":"better-code-review-graph","version":"3.30.0","found":true,"weeklyDownloads":1150,"license":"Apache-2.0","dependencyCount":15,"publishedAt":"2026-10-06T02:16:18.328538Z"}],"repo":{"found":true,"owner":"n24q02m","repo":"crg","archived":false,"pushedAt":"2026-10-13T23:12:29Z","stars":76,"forks":11,"openIssues":7,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/135627235?v=4","ownerCreatedAt":"2023-06-05T14:04:23Z","license":"Apache-2.0"},"icon":{"url":null,"source":"none"},"presence":{"stars":76,"forks":11,"downloadsWeek":1150,"license":"Apache-2.0","lastPushAt":"2026-10-13T23:12:29.000Z","score":48}}}},"grade_history":[],"reviews":[]}