CodeOdor - Real-Time AI Code Smell Detection in Cursor IDE
An MCP server that runs in Cursor and flags architectural debt, anti-patterns, and code smells before you commit. Think eslint but for design patterns and architectural decisions, powered by Claude.
Difficulty
intermediate
Category
Developer Tools
Market Demand
Very High
Revenue Score
7/10
Platform
MCP Server
Vibe Code Friendly
⚡ YesHackathon Score
🏆 8/10
What is it?
Developers waste hours in code reviews catching the same mistakes: circular dependencies, god objects, missing error handling, untested mutations. CodeOdor runs silently in Cursor as an MCP server, analyzing your file as you type, surfacing issues like 'this function has 15 parameters (anti-pattern: consider object destructuring)', 'you've repeated this 3-line snippet 8 times (consider extracting)', or 'this async chain lacks error boundaries'. It learns your codebase's conventions via a quick setup phase, then becomes your silent pair programmer. Revenue comes from a freemium model: 3 checks/day free, unlimited for $9/month, plus enterprise contracts with dev teams. Why 100% buildable right now: Claude's API now supports file context efficiently, Cursor's MCP protocol is stable and well-documented, and pattern detection doesn't require custom model training — just smart prompt engineering with your actual code as input.
Why now?
Cursor's MCP plugin ecosystem just hit critical mass (March 2026), and Claude 3.5's code understanding is now cheap and reliable enough to run per-keystroke. AI code review demand is at peak hype.
- ▸Real-time smell detection as you type (Implementation: Claude streaming with debounce on keystroke)
- ▸Codebase-aware learning (scan git history for patterns once on first run)
- ▸Severity scoring and auto-fix suggestions
- ▸Team rule sharing via JSON config files
Target Audience
Solo developers and small engineering teams (2-10 people) building in Python, JavaScript, or Go. ~50,000 Cursor users actively shipping code weekly.
Example Use Case
Sarah, a solo Rust engineer, uses CodeOdor to catch missing Result error handling before pushing. The tool flags 12 uncovered error paths in her auth module, saves her from a production incident, and she subscribes at $9/month.
User Stories
- ▸As a solo developer, I want to catch code smells before code review, so that I ship cleaner code and reduce revision cycles.
- ▸As a junior engineer, I want AI-powered explanations of why my code is problematic, so that I learn architectural patterns faster. As an engineering team lead, I want team-wide code smell data, so that I can prioritize refactoring and training.
Acceptance Criteria
MCP Server: done when Cursor can call it without errors and returns valid smell JSON. Smell Detection: done when Claude correctly flags 8+ common patterns on a test file. Caching: done when repeat analyses of same file return results under 50ms. Upgrade Flow: done when Stripe checkout grants API key and increases daily check limit.
Is it worth building?
$9/month × 120 users = $1,080 MRR at month 3. $9/month × 400 users = $3,600 MRR at month 6.
Unit Economics
CAC: $X via ProductHunt and Reddit organic. LTV: $108 (12 months at $9/month). Payback: 2 months via word-of-mouth. Gross margin: 75% after API costs.
Business Model
Freemium SaaS (API-gated checks) + enterprise contracts.
Monetization Path
Free tier: 3 smell checks per day. Paid: unlimited checks, custom rules, integration logs. Enterprise: annual contract.
Revenue Timeline
First dollar: week 3 via freemium upgrade. $1k MRR: month 4. $3k MRR: month 7. $8k MRR: month 12.
Estimated Monthly Cost
Claude API: $80, Vercel hosting: $20, Stripe fees: ~$12, domain: $2. Total: ~$114/month at launch.
Profit Potential
Full-time viable at $3k–$8k MRR.
Scalability
High — can expand to language-specific rule engines, team analytics dashboard, and IDE integration for VS Code.
Success Metrics
Week 2: 50 Cursor community signups. Week 3: 15 paid conversions. Month 2: 80% retention.
Launch & Validation Plan
Post in Cursor community Slack with early access link, recruit 15 beta testers from Reddit r/learnprogramming and indie hacker Discord, measure daily activation.
Customer Acquisition Strategy
First customer: DM 10 active Cursor users on X offering free lifetime pro in exchange for 2 weekly feedback calls. Ongoing: ProductHunt launch, Cursor community sponsorship, Twitter code posts, Reddit r/webdev.
What's the competition?
Competition Level
Low
Similar Products
SonarQube for enterprise teams, CodeFactor for CI pipelines, ESLint for JavaScript only — none are real-time, Cursor-native, or AI-powered.
Competitive Advantage
Runs directly inside Cursor (no separate app), learns your codebase conventions, freemium model with no setup friction.
Regulatory Risks
Low regulatory risk. Code analysis is non-sensitive. GDPR compliance needed only if storing user code snippets (avoid this in v1).
What's the roadmap?
Feature Roadmap
V1 (launch): real-time smell detection, 3 checks/day free, Stripe billing, community fallback. V2 (month 2-3): custom rule JSON, team dashboards, GitHub Actions integration. V3 (month 4+): auto-fix suggestions, codebase metrics export, VS Code port.
Milestone Plan
Phase 1 (Week 1-2): MCP server scaffold, Claude integration, file watcher working, caching layer done (MVP: 4 smell patterns working). Phase 2 (Week 3): Stripe gating, npm publish, landing page live, 10 beta testers onboarded. Phase 3 (Month 2): ProductHunt launch, telemetry dashboard, support flow established, first 25 paid users.
How do you build it?
Tech Stack
Claude API with MCP server protocol, Cursor IDE, Node.js backend for MCP, SQLite for local cache, TypeScript — build MCP server with Cursor, deploy as npm package.
Suggested Frameworks
-
Time to Ship
3 weeks
Required Skills
Claude API integration, MCP server implementation, code parsing, TypeScript.
Resources
Cursor MCP docs, Claude API cookbook, Node.js MCP examples from Anthropic.
MVP Scope
MCP server entry point, Claude prompt for pattern detection, file watcher in Cursor, basic Stripe webhook handler, SQLite cache for recent checks, npm package bundler, landing page.
Core User Journey
Install MCP server from npm -> open a file in Cursor -> see first smell alert in sidebar -> click 'understand' -> read explanation -> upgrade to paid.
Architecture Pattern
Cursor keystroke -> MCP server receives file snapshot -> Claude API analyzes with context -> cache lookup for recent files -> results returned to Cursor UI -> telemetry logged to Postgres.
Data Model
User has one MCP Installation. Installation has many AnalysisCache entries. User has many Smells (detected issues). Smell has many FixSuggestions.
Integration Points
Claude API for analysis, MCP protocol for Cursor communication, Stripe for payments, Resend for emails, GitHub API optional (for repo scanning).
V1 Scope Boundaries
V1 excludes: team dashboards, VS Code integration, fix automation, git history analysis, paid enterprise features beyond API gating.
Success Definition
A paying developer finds CodeOdor on ProductHunt, installs the MCP server, receives smell detection on their first file, upgrades to paid within 7 days, and actively uses it 3+ times per week.
Challenges
Claude API costs scale with file size. Requires smart caching and batch analysis to stay profitable under $50/month API spend.
Avoid These Pitfalls
Do not attempt to parse code yourself — use Claude for all logic. Do not train a custom model; that kills profitability. Do not make MCP server too heavy — it must boot Cursor instantly. Do not require file uploads; work entirely inside Cursor's existing file system.
Security Requirements
Auth: Stripe OAuth for billing. Rate limiting: 100 API calls per hour per user. Input: sanitize file paths. Data: do NOT store user code — analyze in memory only. MCP server runs locally (zero server-side code storage).
Infrastructure Plan
Hosting: Vercel for landing page and telemetry API. Database: Supabase for usage logs and billing data. MCP server: runs locally in user's Cursor (no server backend). CI/CD: GitHub Actions for npm package publishing. Monitoring: Sentry for API errors, basic usage metrics in Supabase.
Performance Targets
Expected load: 50 DAU at launch, 500 req/day. MCP server response time: under 2 seconds per smell analysis. File cache hit rate: 70%+ after week 1. Cursor IDE responsiveness: no perceptible lag from MCP calls.
Go-Live Checklist
- ☐Security audit: code paths don't leak user source
- ☐Payment flow: Stripe billing tested end-to-end with real charges reversed
- ☐MCP server: tested with real Cursor v0.30+
- ☐npm package: published and installable
- ☐Landing page: deployment tested
- ☐Privacy policy: published (clarifying no code storage)
- ☐5+ beta testers: sign-off on usability
- ☐Rollback: documented process for reverting npm package
- ☐Launch: ProductHunt post drafted, Twitter thread ready, Reddit r/webdev and r/neovim outreach queued.
How to build it, step by step
1. Create Node.js MCP server skeleton with npx create-mcp-server. 2. Implement stdio transport handler for Cursor. 3. Build Claude API integration function for smell detection. 4. Add file system watcher for keystroke debounce. 5. Implement SQLite caching layer. 6. Create npm package.json and publish to npm. 7. Build landing page with Cursor install instructions. 8. Set up Stripe billing API. 9. Deploy telemetry backend to Vercel. 10. Test end-to-end with 5 beta testers in real Cursor environment.
Generated
March 29, 2026
Model
claude-haiku-4-5-20251001