{"slug": "i-built-an-mcp-server-that-reviews-code-locally-no-saas-no-uploads", "title": "I Built an MCP Server That Reviews Code Locally — No SaaS, No Uploads", "summary": "A developer has built MCP Code Review Server, an open-source Model Context Protocol server that runs code reviews locally on a developer's machine without uploading code to the cloud. The server integrates with AI coding assistants like Claude Code, Cursor, and Cline, offering tools to review code snippets, diffs, and files, with severity ratings and fix suggestions. The project is available on PyPI and supports installation via uvx or pip.", "body_md": "AI coding assistants ship code fast. But someone still has to review it. I wanted that \"senior engineer second pair of eyes\" to live inside my editor, run entirely on my machine, and work with whatever assistant I'm using today. So I built **MCP Code Review Server** — a Model Context Protocol (MCP) server that connects to Claude Code, Cursor, Cline, or any MCP client.\n\nIt exposes three tools to your AI assistant:\n\n`review_code`\n\n— paste any snippet and get a structured review`review_diff`\n\n— review a git diff before you merge`review_file`\n\n— point it at a local fileEach review returns findings with severity ratings (Critical / High / Medium / Low), file locations, and concrete fix suggestions.\n\nThe checks are the ones I kept catching my own assistants missing:\n\nNo signup, no API keys. It's on PyPI:\n\n```\n# Claude Code\nclaude mcp add code-review -- uvx aicraft-code-review\n\n# Cursor / Claude Desktop — add to ~/.cursor/mcp.json\n{\n  \"mcpServers\": {\n    \"code-review\": {\n      \"command\": \"uvx\",\n      \"args\": [\"aicraft-code-review\"]\n    }\n  }\n}\n\n# Or pip\npip install aicraft-code-review\n```\n\nThat's it. Your assistant now has a review tool it can call whenever you ask.\n\nI tried the hosted code-review tools first. They're good, but three things kept bothering me:\n\nThe server runs over stdio as a local process. Your code never leaves your machine. The only cost is the electricity.\n\nA few things I'd do the same way again:\n\n`uvx`\n\nmeans users never even install it.`review_diff`\n\nslots right into the \"review before commit\" habit that agents already have.Getting a server *working* is the easy part. Getting it *found* is the real work:\n\nThat's why I've been submitting the server to every directory with a review process, and keeping the repo metadata (`glama.json`\n\n, `.mcp.json`\n\n, `smithery.yaml`\n\n, a `Dockerfile`\n\n) in shape for their automated checks.\n\nIf you try it and hit a case it misses, open an issue — the rules are all configurable, and new checks are the fastest way this thing gets better.\n\n*What would you want an in-editor code reviewer to catch that yours currently misses?*", "url": "https://wpnews.pro/news/i-built-an-mcp-server-that-reviews-code-locally-no-saas-no-uploads", "canonical_source": "https://dev.to/goodjobwilliam/i-built-an-mcp-server-that-reviews-code-locally-no-saas-no-uploads-568a", "published_at": "2026-08-15 16:51:10+00:00", "updated_at": "2026-08-15 17:12:10.024634+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "ai-agents"], "entities": ["MCP Code Review Server", "Claude Code", "Cursor", "Cline", "PyPI", "Model Context Protocol"], "alternates": {"html": "https://wpnews.pro/news/i-built-an-mcp-server-that-reviews-code-locally-no-saas-no-uploads", "markdown": "https://wpnews.pro/news/i-built-an-mcp-server-that-reviews-code-locally-no-saas-no-uploads.md", "text": "https://wpnews.pro/news/i-built-an-mcp-server-that-reviews-code-locally-no-saas-no-uploads.txt", "jsonld": "https://wpnews.pro/news/i-built-an-mcp-server-that-reviews-code-locally-no-saas-no-uploads.jsonld"}}