{"name":"io.github.Contextual-Laboratories/contextual","slug":"contextual-laboratories-contextual","title":null,"description":"Persistent memory for AI coding agents: local-first semantic search, dependency graphs, git history.","url":"https://mcp.market/server/contextual-laboratories-contextual","rating":null,"grade":"B","score":75,"certified":false,"status":"active","category":"devtools","tags":["devtools","search"],"presence":{"score":18,"stars":1,"forks":0,"downloads_week":null,"last_push_at":"2026-09-11T16:17:53.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":null,"website":null,"version":"1.0.2","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"contextual-engine","version":"1.0.2","transport":{"type":"stdio"},"packageArguments":[{"description":"Client name shown in this process's title (e.g. claude-code, cursor). Auto-detected if omitted.","type":"named","name":"--client"},{"description":"Explicit workspace path to index/serve. Omit to run in multi-workspace mode, where each tool call resolves its workspace automatically.","type":"named","name":"--workspace"}],"environmentVariables":[{"description":"Python logging level as an integer (e.g. 10=DEBUG, 20=INFO). Defaults to INFO.","name":"CONTEXTUAL_LOG_LEVEL"}]}],"tools":[{"name":"_sanitize_message","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"co_change_analysis","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_create","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"decision_list","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_search","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_supersede","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"decision_update","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"diagnose_issue","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_doctor","description":"Run a full system health check across all Contextual subsystems.","write_action":true,"price_micros":0,"input_schema":null},{"name":"get_file_content","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_git_diff","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_repo_structure","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_stats","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_telemetry","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_temporal_context","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"graph_at_time","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"graph_find_path","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"graph_get_entity_callers","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"graph_get_entity_definition","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"graph_impact","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"graph_query","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"graph_stats","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"graph_traverse","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"nexus_search","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"search","description":"","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":75,"grade":"B","scanned_at":"2026-09-20T00:27:39.135Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T00:27:39.141Z","components":{"code":{"score":15,"max":25,"notes":["232 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":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 8 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"exec.shell-true","severity":"medium","component":"code","title":"subprocess with shell=True","evidence":"contextual_engine-1.0.2/contextual/mcp/tools/semantic.py: …r shell safety (passed as list arg, not shell=True) if target == \"WORKING\"…"},{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"contextual_engine-1.0.2/eval/manifest.yml: …too small for realistic retrieval eval (this was flagged as a possible risk in b…"}],"inputs":{"packages":[{"registryType":"pypi","identifier":"contextual-engine","version":"1.0.2","found":true,"dependencyCount":61,"publishedAt":"2026-09-07T11:16:44.783604Z","repositoryUrl":"https://github.com/Contextual-Laboratories/Contextual-Labs/issues"}],"repo":{"found":true,"owner":"Contextual-Laboratories","repo":"Contextual-Labs","archived":false,"pushedAt":"2026-09-11T16:17:53Z","stars":1,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/282511397?v=4","ownerCreatedAt":"2026-05-07T08:22:34Z","license":"NOASSERTION"},"icon":{"url":"https://avatars.githubusercontent.com/u/282511397?v=4&s=128","source":"github"},"presence":{"stars":1,"forks":0,"downloadsWeek":null,"license":"NOASSERTION","lastPushAt":"2026-09-11T16:17:53.000Z","score":18}}}},"grade_history":[],"reviews":[]}