{"name":"io.github.asklokesh/loki-mode","slug":"asklokesh-loki-mode","title":null,"description":"Autonomous spec-to-product coding-agent CLI with an MCP server exposing 39 tools over stdio.","url":"https://mcp.market/server/asklokesh-loki-mode","rating":null,"grade":"B","score":77,"certified":false,"status":"active","category":"ecommerce","tags":["ecommerce","ai"],"presence":{"score":63,"stars":1096,"forks":206,"downloads_week":4835,"last_push_at":"2026-10-15T11:41:05.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/asklokesh/loki-mode","website":null,"version":"10.9.1","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"loki-mode","version":"10.9.1","runtimeHint":"npx","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"}]}],"tools":[{"name":"_env","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"_to_thread","description":"Run a blocking callable off the event loop.","write_action":true,"price_micros":0,"input_schema":null},{"name":"loki_agent_metrics","description":"Get agent metrics including token usage, task completion rates, and timing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_checkpoint_restore","description":"List available checkpoints or restore project state from a specific checkpoint.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_code_search","description":"Search the loki-mode codebase semantically.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_code_search_stats","description":"Get statistics about the code search index.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_complete_task","description":"Declare that the current PRD / task is complete.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_consolidate_memory","description":"Run memory consolidation to extract patterns from recent episodes.","write_action":true,"price_micros":0,"input_schema":null},{"name":"loki_counter_evidence_template","description":"Generate a counter-evidence file template for the given iteration.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_findings","description":"Read structured code-review findings for a given iteration.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_get_co_changes","description":"Find files that frequently change together with a given file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_get_doc_coverage","description":"Get documentation coverage status for the project.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_get_hotspots","description":"Get the most frequently changed files in the repository.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_graph_query","description":"Answer a codebase question from a knowledge graph instead of reading files.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_learnings","description":"Read recent learnings (newest first) from relevant-learnings.json.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_memory_capture_session_summary","description":"v7.7.18 capture wedge: store an episode for the current agent session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_memory_redact","description":"Redact memory versions in the managed-agents store whose content matches a regex.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_memory_retrieve","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_memory_store_pattern","description":"Store a new semantic pattern learned during this session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_metrics_efficiency","description":"Get efficiency metrics for the current session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_project_status","description":"Get the current project status including RARV cycle state, agent activity, and task progress.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_quality_report","description":"Get quality gate results including blind review scores, council verdicts, and test coverage.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_start_project","description":"Start a new Loki Mode project from a PRD.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_state_get","description":"Get the current Loki Mode state including phase, metrics, and status.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_task_queue_add","description":"Add a new task to the Loki Mode task queue.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_task_queue_list","description":"List all tasks in the Loki Mode task queue.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_task_queue_update","description":"Update a task's status or priority.","write_action":true,"price_micros":0,"input_schema":null},{"name":"loki_v10_run","description":"Start a Loki 10 run in the background (same engine as `loki <ref>`).","write_action":true,"price_micros":0,"input_schema":null},{"name":"loki_v10_status","description":"Read the state of a Loki 10 run from its events log.","write_action":false,"price_micros":0,"input_schema":null},{"name":"loki_v10_verify","description":"Run `loki verify` on a receipt (or the newest run of a repo).","write_action":true,"price_micros":0,"input_schema":null},{"name":"loki_verify_fast","description":"Verify code deterministically in milliseconds. No model call, no network.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lsp_check_exists","description":"Cheap existence check for a symbol in the current workspace.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lsp_find_definition_by_name","description":"Find where a named symbol is defined, without needing a file position upfront. Convenience wrapper: runs workspace/symbol then returns the first result's location.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lsp_find_references","description":"Find references to the symbol at the given file / line / character.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lsp_get_diagnostics","description":"Return current LSP diagnostics (errors + warnings) for a file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lsp_go_to_definition","description":"Resolve the definition location for the symbol at file / line / character.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lsp_symbol_at_position","description":"Return the hover / symbol info at the given file / line / character. Uses LSP `textDocument/hover` which returns a `MarkupContent` plus an optional range.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lsp_workspace_symbols","description":"Fuzzy-search symbols across the entire workspace.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mem_get","description":"Fetch full details for one or more memory entries by ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mem_search","description":"Search memory using full-text search (FTS5).","write_action":false,"price_micros":0,"input_schema":null},{"name":"mem_timeline","description":"Get chronological context from memory timeline.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":77,"grade":"B","scanned_at":"2026-10-15T12:00:38.170Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-15T12:00:38.185Z","components":{"code":{"score":15,"max":25,"notes":["555 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 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":"autonomy/lib/workspace.py: …etup: s = subprocess.run(setup, shell=True, cwd=dest, capture_output=True, text=Tr…"},{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"autonomy/run.sh: … # v7.5.8: Strict whitelist before eval (mirrors app-runner.sh # …"}],"inputs":{"packages":[{"registryType":"npm","identifier":"loki-mode","version":"10.9.1","found":true,"license":"BUSL-1.1","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-10-03T19:40:05.237Z","repositoryUrl":"git+https://github.com/asklokesh/loki-mode.git"}],"repo":{"found":true,"owner":"asklokesh","repo":"loki-mode","archived":false,"pushedAt":"2026-10-15T11:41:05Z","stars":1096,"forks":206,"openIssues":17,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/49921737?v=4","ownerCreatedAt":"2019-04-23T18:59:11Z","license":"NOASSERTION"},"icon":{"url":"https://avatars.githubusercontent.com/u/49921737?v=4&s=128","source":"registry"},"presence":{"stars":1096,"forks":206,"downloadsWeek":4835,"license":"NOASSERTION","lastPushAt":"2026-10-15T11:41:05.000Z","score":63}}}},"grade_history":[{"kind":"restore","fromGrade":"C","toGrade":"B","reason":"score 77: eval / new Function used; subprocess with shell=True","createdAt":"2026-09-19T21:32:19.249Z"},{"kind":"restore","fromGrade":"D","toGrade":"C","reason":"score 58: Whole environment serialized (possible credential exfil); eval / new Function used; subprocess with shell=True","createdAt":"2026-09-19T21:04:12.201Z"},{"kind":"restore","fromGrade":"F","toGrade":"D","reason":"score 54: Whole environment serialized (possible credential exfil); curl | sh in a script; eval / new Function used","createdAt":"2026-09-19T18:55:47.631Z"}],"reviews":[]}