← Back to directory
O

OrangePro MCP Server

Official
Find test gaps, generate grounded tests, and dynamically prove behavior with mutation testing.
GitHub source repository ↗
★ 15 Stars Category · Dev Tools Popular
75FMRS · B

OrangePro MCP is a rigorously designed local testing tool: it strictly separates deterministic analysis from mutation-based proof, treats AI as an auxiliary lane that never pollutes evidence tiers, and ships 18 well-documented MCP tools with clear privacy guarantees. Dynamic proof currently covers only TypeScript/JavaScript, Python, Go, and Java; hosted platform features are out of scope for this repo. A solid choice for teams wanting auditable gap analysis and grounded test generation.

Reliability
12/20
Security and permissions
18/20
Maintenance
14/20
Documentation
16/20
Setup experience
15/20
Read the FMRS scoring method →

OrangePro is a local-first CLI and MCP server (stdio transport) that builds a knowledge graph from your local checkout using tree-sitter, maps every behavior, and assigns each an evidence tier (Dynamically Proven, Runtime-covered, Statically Linked, Unconfirmed Candidate, No Signal). It ranks test gaps by blast radius, generates integration-level tests grounded in real symbols rather than hallucinated imports, and dynamically proves behaviors via a mutation-kill oracle. Analysis, scoring, and proof require no model key; AI candidate links and test generation use an optional BYOK key (OpenAI, Anthropic, or local Ollama). AI output never changes evidence tiers — only a mutation kill can mint Dynamically Proven. All code reading happens in-process; source is never uploaded and existing files are never mutated.

Tools

orangepro_start
One-command setup: analyze + report + next actions
orangepro_analyze_sources
Build/refresh the evidence graph
orangepro_generate_tests
Generate grounded tests for gaps
orangepro_prove
Run the mutation-kill oracle on a behavior
orangepro_prove_loop
Setup commands + dynamic proof + report refresh for one behavior
orangepro_find_test_gaps
List behaviors with weak/missing tests, ranked by risk
orangepro_graph_score
Graph readiness score (0–100)
orangepro_status
Workspace state without generating anything
orangepro_doctor
Recommend next evidence to improve quality
orangepro_rtm
Requirements traceability matrix
orangepro_stats
Aggregate statistics
orangepro_changed_impact
What a diff touches (requires git + base ref)
orangepro_record_run
Record a test run result
orangepro_explain_test
Explain why a test was generated
orangepro_export_evidence_pack
Export a metadata-only evidence pack
orangepro_update_graph
Incremental graph update
orangepro_ai_links
Weak behavior→symbol suggestions (optional AI)
orangepro_ai_flows
Candidate flow discovery (optional AI)

Setup

1) Install the target repository's dependencies first (npm/pnpm/bun install). 2) Optional: export ANTHROPIC_API_KEY, OPENAI_API_KEY, or OLLAMA_BASE_URL to enable AI candidate links and test generation. 3) Run npx -y @orangepro/mcp-server@latest start . --prompt-version v5, then open .orangepro/behavior-coverage.html. 4) Run as an MCP server: npx -y @orangepro/mcp-server@latest mcp; or add {"mcpServers":{"orangepro-local":{"command":"npx","args":["-y","@orangepro/mcp-server@latest","mcp"]}}} to your client's MCP config. Alternatively use opro agent --client claude-code (or cursor/codex/opencode/generic) to print exact client config.

claude_desktop_config.json
{"mcpServers":{"orangepro-local":{"command":"npx","args":["-y","@orangepro/mcp-server@latest","mcp"]}}}

Fit and risk

Best for

  • Teams with medium-to-large TypeScript/JavaScript, Python, Go, or Java codebases wanting a deterministic, local-first testing workflow
  • Developers using MCP-compatible coding agents such as Claude Code, Cursor, Codex, Copilot, or OpenCode
  • Privacy-conscious teams: code never leaves the machine and keys stay in environment variables

Not for

  • Projects in Kotlin, Rust, PHP, C#, Ruby, Swift, C/C++ needing generated tests, runtime coverage, or dynamic proof (only static behavior extraction is supported for these)
  • Teams wanting hosted lifecycle management, cross-repo intelligence, or CI policy gates (this repo is the free local tool only)
  • Users who need test generation but won't configure a model key — generation requires BYOK

Required permissions

  • Reads local repository files and git metadata to build the evidence graph
  • Writes reports and metadata to .orangepro/
  • Writes new generated tests under orangepro_generated/ (existing source files untouched)
  • Optionally reads OpenAI / Anthropic / Ollama credentials from env and sends grounded code context directly to your configured provider

Risks and side effects

  • Generated tests land in orangepro_generated/ and should be reviewed before running
  • AI candidate links and flows are suggestions, never evidence; AI output does not change evidence tiers
  • opro generate --pr checks out a PR and mutates your working tree; prefer --base
  • With AI lanes enabled, grounded code context is sent directly to the configured model provider
  • The MCP server has local filesystem and command execution access to the repository — use only on trusted codebases

Troubleshooting

  1. Dynamically Proven 0 on first run is normal — proof requires running tests that kill mutants
  2. If the environment can't run tests, rejected drafts are kept as Manual tests; install dependencies and re-run opro start to convert them
  3. Use opro doctor or opro doctor --proof to see which evidence to add and why dynamic proof didn't close
  4. Add -- to any read command for machine output; run opro help for the full reference
  5. Verify env var names and auto-detect order (OpenAI → Ollama → Anthropic); override with --provider and --model

Use cases

Find untested behaviors ranked by blast radius before writing new tests
Generate grounded tests for PR diffs or a specific branch's changes
Promote a behavior to Dynamically Proven by writing and running a test that kills a targeted mutant
Produce a system map, coverage report, requirements traceability matrix, and metadata-only evidence pack

Supported clients

Claude CodeFull support
CursorFull support
CodexFull support
Copilot / VS CodeFull support
OpenCodeFull support
Generic MCP clientsFull support