{"name":"com.moltlinestudio/codereview","slug":"moltlinestudio-codereview","title":"Moltline Code Review","description":"Risk-scan a diff, flag AI-generated-code tells, find secrets. 5 of 7 tools need no account.","url":"https://mcp.market/server/moltlinestudio-codereview","rating":null,"grade":"B","score":77,"certified":false,"status":"active","category":"security","tags":["security"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-19T15:00:29.000Z","license":"MIT"},"uptime":{"percent":100,"checks":3,"ok":3,"last_checked_at":"2026-09-20T03:21:08.098Z","last_ok_at":"2026-09-20T03:21:08.098Z","latency_ms":334},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/GarphenGate/moltline-mcp","website":"https://moltlinestudio.com/servers.html#codereview","version":"1.2.0","remotes":[{"type":"streamable-http","url":"https://mcp.moltlinestudio.com/codereview"}],"packages":[],"tools":[{"name":"ai_code_smell_scan","description":"Flag the tells of unreviewed AI-generated code in a source file. FREE.\n\nDetects comments that restate the next line, leaked assistant preambles,\nplaceholder TODOs, shipped 'Example usage' blocks, over-broad try/except\nthat swallows errors, and auto-named identifiers. Typical input\n{\"code\": \"<file contents>\"} returns {\"reviewed_confidence\": 0-100,\n\"hits\": [{\"smell\": \"...\", \"evidence\": \"<quoted snippet>\"}], \"reading\":\n\"...\", \"note\": \"...\"}.\n\nUse on a full source file suspected of unreviewed machine authorship. Not\non a diff (review_diff), and the result is a signal to check, not proof of\nauthorship. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"code":{"type":"string","description":"Full source text to scan, any language; paste the file\ncontents as a single string."}},"required":["code"],"additionalProperties":false}},{"name":"complexity_report","description":"Report structural complexity of a source file, function by function. FREE.\n\nMeasures per-function length, max nesting depth, and a cyclomatic-style\nbranch count (if/for/while/case/&&/||/except), flagging functions too\nlong or too deeply nested to review confidently. Typical input\n{\"code\": \"<file contents>\"} returns {\"functions\": N, \"detail\":\n[{\"name\": ..., \"start\": N, \"lines\": N, \"branches\": N, \"max_depth\": N}],\n\"flags\": [\"...\"], \"note\": \"...\"}.\n\nUse when structure rather than correctness is the question. Not for\nvulnerabilities (security_deep_dive). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"code":{"type":"string","description":"Full source text to analyze, pasted as a single string."},"language":{"default":"auto","type":"string","description":"Optional language hint, e.g. \"python\" or \"javascript\";\n\"auto\" (default) detects from syntax."}},"required":["code"],"additionalProperties":false}},{"name":"get_reviewer_persona","description":"Load the Senior Reviewer persona for consistent, high-signal reviews. PREMIUM (license).\n\nThe persona is a reviewing voice that is skeptical, specific, and kind —\ndemands evidence over vibes and blocks only on real risk. Takes no\narguments. Returns {\"persona\": ..., \"identity\": ..., \"rules\": [\"...\",\n...], \"opening_move\": \"...\"} ready to adopt as a system prompt.\n\nUse to keep repeated reviews consistent in voice and rigor. Not for\nrunning a review - the scan tools do that. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"review_checklist","description":"Produce a focused pull-request review checklist for a language or stack. FREE.\n\nCovers the things that actually break in production, with extra items per\nlanguage. Typical input {\"language\": \"python\"} returns {\"language\":\n\"python\", \"checklist\": [\"...\", ...], \"note\": \"...\"}.\n\nUse before a review, to decide what to look for. Not for reviewing actual\ncode - pass code to review_diff or security_deep_dive. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"language":{"default":"general","type":"string","description":"Language or stack to tailor for: \"python\", \"javascript\",\n\"typescript\", \"go\", \"sql\", or \"general\" (default). Unknown values\nfall back to the general checklist."}},"additionalProperties":false}},{"name":"review_diff","description":"Risk-scan a unified diff the way a senior reviewer triages a PR. FREE.\n\nFlags added lines matching known risk patterns — injection sinks, disabled\nTLS, bare excepts, debug prints, TODOs, N+1 hints, leaked secrets — with\nthe new-file line number and a severity (1 low - 4 high). Typical input\n{\"diff\": \"<git diff output>\"} returns {\"added_lines\": N, \"risk_score\":\n0-100, \"verdict\": \"...\", \"secrets\": [...], \"findings\": [{\"line\": N,\n\"severity\": 1-4, \"issue\": \"...\", \"code\": \"...\"}], \"note\": \"...\"}.\n\nUse on a unified diff, when only the change matters. Not for whole-file\nanalysis (complexity_report, ai_code_smell_scan). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"diff":{"type":"string","description":"A unified diff exactly as produced by `git diff` — text with\n@@ hunk headers and +/- line prefixes. Only added (+) lines are\nscanned."}},"required":["diff"],"additionalProperties":false}},{"name":"secret_scan","description":"Scan text for accidentally-committed machine credentials and private-key material. FREE.\n\nReports each match's location and category so it can be rotated before it\nleaks. Detection is pattern-based over the common leaked-credential\nformats; it never echoes the matched value back. Typical input\n{\"text\": \"<file, diff, or config contents>\"} returns {\"leaked\": bool,\n\"count\": N, \"findings\": [{\"line\": N, \"type\": \"<category>\"}], \"note\": \"...\"}.\n\nPattern matching only - a clean result is not proof, and every hit needs\nhuman confirmation before anyone acts on it. Not a general security review\n(security_deep_dive). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"The file, diff, or config contents to scan, pasted as a\nsingle string."}},"required":["text"],"additionalProperties":false}},{"name":"security_deep_dive","description":"Run an OWASP-oriented security pass over a source file. PREMIUM (license).\n\nChecks injection sinks, auth/session handling, crypto misuse,\nSSRF/deserialization, and unsafe file/path handling — each finding cites\nthe line, the OWASP risk class, and a concrete fix direction. Typical\ninput {\"code\": \"<file contents>\"} returns {\"issues\": N, \"findings\":\n[{\"line\": N, \"class\": \"A03 Injection\", \"fix\": \"...\", \"code\": \"...\"}],\n\"owasp_note\": \"...\"}.\n\nUse on one source file when vulnerabilities are the question. Not for\nstyle or structure (complexity_report), and never a substitute for a\nsecurity professional on high-risk code. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"code":{"type":"string","description":"Full source text to audit, pasted as a single string; any\ncommon language."}},"required":["code"],"additionalProperties":false}}],"scan":{"score":77,"grade":"B","scanned_at":"2026-09-20T00:23:57.061Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T00:23:57.059Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 394ms"]},"poisoning":{"score":15,"max":15,"notes":["7 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":5,"max":10,"notes":["namespace and repository owner differ","website matches verified namespace"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://mcp.moltlinestudio.com/codereview","reachable":true,"authRequired":false,"latencyMs":394,"serverInfo":{"name":"moltline-codereview","version":"1.1.0"}}],"packages":[],"repo":{"found":true,"owner":"GarphenGate","repo":"moltline-mcp","archived":false,"pushedAt":"2026-09-19T15:00:29Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/316633241?v=4","ownerCreatedAt":"2026-08-13T15:17:26Z","license":"MIT"},"icon":{"url":"https://moltlinestudio.com/icon-192.png","source":"registry","width":192,"height":192},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-19T15:00:29.000Z","score":23}}}},"grade_history":[],"reviews":[]}