OrangePro MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OLLAMA_MODEL | No | Ollama model name | |
| OPENAI_MODEL | No | OpenAI model name | |
| OPENAI_API_KEY | No | OpenAI API key for generation | |
| ANTHROPIC_MODEL | No | Anthropic model name | |
| OLLAMA_BASE_URL | No | Ollama base URL | |
| OPENAI_BASE_URL | No | OpenAI base URL | |
| ANTHROPIC_API_KEY | No | Anthropic API key |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| orangepro_startA | One-command local setup for a repo or PR: analyze sources, auto-apply weak AI candidate links and candidate flows when a real BYOK provider is configured, write behavior-coverage.html (detailed report), short_behavior-coverage.html (summary), tests.csv + rtm.md, summarize changed/gap targets, and return agent next actions. When nothing changed since the last run it returns at once with unchanged_since and reuses the reports (fresh=true forces a full run). AI lanes stay separate and never affect Proven coverage. |
| orangepro_analyze_sourcesA | Build or refresh the local OrangePro evidence graph from a local checkout/path plus optional CSV/Markdown enrichers. Metadata-only by default — reads source in-process but never stores or uploads code. Optionally stages/applies AI candidate flows and refreshes the report when ai_flows=true. |
| orangepro_graph_scoreA | Return the local graph readiness score (0-100), band, per-dimension breakdown, and plain-language missing evidence. Readiness signal, not a proof of test lift. |
| orangepro_statusA | Show local workspace state without generating anything: whether the graph is fresh/stale/missing, source mix, score, and privacy settings (always local, no upload). |
| orangepro_doctorB | Recommend the smallest next source that would most improve generated-test quality, with expected score impact. Teaches what data improves output. |
| orangepro_find_test_gapsA | List requirements/flows with weak or missing test evidence, plus top_risk_gaps for unproven code symbols ranked by the OrangePro Risk Score (Probability × Impact × DetectionDifficulty). Risk is prioritization only; it never changes coverage/proof status. |
| orangepro_record_runA | Record an agent test-writing attempt as static diagnostics. When test_path is provided for TS/JS, OrangePro first tries scoped deterministic re-prove; otherwise it re-analyzes the repo. Static hard COVERS edges render as Associated signal; public Proven requires orangepro_prove. |
| orangepro_proveA | Run the dynamic targeted-proof oracle for a CodeSymbol and append a metadata-only ledger certificate. Public Proven closes only when baseline green plus a valid sentinel mutation of the credited symbol fails the same test at an assertion. Static record_run is diagnostics only. |
| orangepro_prove_loopA | Product wrapper around orangepro_prove: run trusted-local setup_commands in the source checkout, then the UNCHANGED dynamic targeted-proof oracle, then refresh the behavior report. Setup is non-secret repo prep only (build/install/shim); a setup failure returns unrunnable, does not run the oracle, and leaves the ledger untouched (never Proven). Public Proven still closes only through the unchanged certificate. |
| orangepro_statsB | Summarize the local gap-fill ledger: attempted, dynamic-reproven, unproven, legacy static-associated, generated-but-unverifiable, and kept rate. Metadata-only. |
| orangepro_rtmA | Write and return a deterministic Requirements Traceability Matrix. Status comes only from the local graph and gap-fill ledger: Proven, Runtime-covered, Associated signal, No integration signal, Reproven, or Generated-unverifiable. No LLM calls. |
| orangepro_update_graphA | Refresh the local graph from changed files. Incremental and non-destructive by default — preserves evidence and marks affected generated tests stale. |
| orangepro_changed_impactA | DIFF/PR TOOL — only for real code-review situations. Summarizes what changed vs a base git ref and which local graph behaviors/tests are affected (basic changed-file impact; no deep route/API shape analysis). Requires a git repo and a real diff: returns status 'no_diff' / 'no_code_changes' (diff was docs-only) / 'missing_base_ref' / 'not_a_git_repo' with guidance instead of fabricated impact when there is nothing to analyze. For baseline (no-PR) test opportunities use orangepro_find_test_gaps. |
| orangepro_ai_linksA | Opt-in AI lane: propose weak MAY_RELATE_TO candidate links between existing deterministic behavior and CodeSymbol nodes. Generate writes .orangepro/ai/links.json only; apply=true explicitly merges survivors into candidate_edges. These links never affect proven coverage. |
| orangepro_ai_flowsA | Opt-in AI lane: propose candidate behavior-flow chains over existing deterministic entry and CodeSymbol ids. Generate writes .orangepro/flows.json only; apply=true stores survivors under analysis.candidate_flows. Candidate flows are a verify-these worklist and never affect Proven, deterministic flow counts, tiers, or coverage. |
| orangepro_generate_testsA | Generate a small capped set (1-5) of grounded tests from local evidence using your own model key (BYOK: OpenAI-compatible, Ollama, or Anthropic). Tests are diversified across lightweight LOCAL scenario buckets (happy_path, validation_error, edge_case, integration_flow, security_privacy, regression) chosen from the evidence — unjustified buckets are skipped, never padded. By default it focuses the top-gap behavior and returns up to |
| orangepro_explain_testA | Explain why a generated test exists: which graph evidence anchors support it, source refs, and whether weak/candidate evidence was used. Exposes trust artifacts only, not internal generation logic. |
| orangepro_export_evidence_packA | Export a portable evidence pack (JSON) plus a human-readable Markdown summary for review or later hosted promotion. Includes facts, provenance, generated outputs, and high-level score metadata — never prompts, weights, traces, or raw source. Validates against the local schema. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Most tools target distinct operations, but there is real overlap: orangepro_start orchestrates much of what analyze_sources, find_test_gaps, and rtm do individually; orangepro_analyze_sources and orangepro_update_graph both (re)build the graph; orangepro_status and orangepro_graph_score both surface score/state; and prove vs prove_loop (explicitly a 'wrapper') can confuse selection. Descriptions do a good job disambiguating (e.g., changed_impact explicitly redirects baseline work to find_test_gaps), which keeps this from scoring lower.
All 18 tools use snake_case with a uniform 'orangepro_' prefix, which is strongly consistent. However, the naming convention is mixed: some are verb_noun (find_test_gaps, generate_tests, update_graph, record_run) while others are bare nouns or noun phrases (status, doctor, stats, rtm, graph_score, changed_impact), so the pattern is not predictably verb-first throughout.
18 tools is on the heavy side but justified by a genuinely broad domain (graph analysis, gap detection, test generation, dynamic proof, AI lanes, reporting, export). Most tools earn their place, though a few (start vs analyze_sources, prove vs prove_loop, status vs graph_score) could arguably be consolidated, pushing it slightly past the ideal 3-15 range.
Coverage is strong across the full lifecycle: setup/analysis (start, analyze_sources, update_graph, status, doctor, graph_score), gaps (find_test_gaps), generation (generate_tests, explain_test), proof (prove, prove_loop, record_run), ledger/reporting (stats, rtm), AI lanes (ai_links, ai_flows), diff/PR (changed_impact), and export (export_evidence_pack). Minor gaps exist—no config/privacy settings tool despite status reporting privacy settings, and no standalone report-regeneration or ledger-cleanup/reset—but these are workaroundable.