← 返回目录
O

OrangePro MCP Server

官方
找出测试盲区,生成可运行的接地测试,并用变异测试动态证明行为。
GitHub 源仓库 ↗
★ 15 Stars 分类 · 开发工具 热门
75FMRS · B

OrangePro MCP 是一个设计严谨的本地测试工具:通过确定性图谱与变异击杀神谕严格区分分析(静态)与证明(动态),AI 仅为辅助通道,不污染证据体系。文档清晰、工具齐全(18 个 MCP 工具)、隐私声明明确。动态证明仅覆盖 TypeScript/JavaScript、Python、Go、Java;托管平台功能不在本仓库内。对寻求可审计测试盲区分析与接地测试生成的团队是可靠选择。

可靠性
12/20
安全与权限
18/20
维护活跃度
14/20
文档质量
16/20
安装易用性
15/20
查看 FMRS 评分方法 →

OrangePro 是一款本地优先的 CLI 与 MCP 服务器(stdio 传输),通过 tree-sitter 对本地代码仓库构建知识图谱,映射每个行为并划分证据等级(动态证明、运行时覆盖、静态链接、未确认候选、无信号)。它能按风险排名列出测试盲区,生成基于真实符号的集成级测试(而非幻觉导入),并通过变异击杀神谕(mutation-kill oracle)动态证明行为。分析、评分与证明无需模型密钥;AI 候选链接与测试生成需要可选的 BYOK 密钥(OpenAI、Anthropic 或本地 Ollama)。AI 输出永不改变证据等级,只有变异击杀才能授予“动态证明”。所有代码读取均在进程内完成,不上传源码,不修改既有源文件。

工具能力

orangepro_start
一键式设置:分析 + 报告 + 下一步行动建议
orangepro_analyze_sources
构建或刷新证据图谱
orangepro_generate_tests
为测试盲区生成接地测试
orangepro_prove
对某个行为运行变异击杀神谕
orangepro_prove_loop
为单个行为执行设置命令 + 动态证明 + 报告刷新
orangepro_find_test_gaps
列出测试薄弱或缺失的行为,按风险排名
orangepro_graph_score
图谱就绪度评分(0–100)
orangepro_status
查看工作区状态而不生成任何内容
orangepro_doctor
建议下一步添加的证据以提升质量
orangepro_rtm
需求追溯矩阵
orangepro_stats
聚合统计
orangepro_changed_impact
分析某个 diff 的影响范围(需要 git + 基准分支)
orangepro_record_run
记录一次测试运行结果
orangepro_explain_test
解释某个测试为何被生成
orangepro_export_evidence_pack
导出仅含元数据的证据包
orangepro_update_graph
增量更新图谱
orangepro_ai_links
弱行为→符号建议(可选 AI)
orangepro_ai_flows
候选流程发现(可选 AI)

安装接入

1) 先在目标仓库安装依赖(npm/pnpm/bun install)。2) 可选:导出 ANTHROPIC_API_KEY、OPENAI_API_KEY 或 OLLAMA_BASE_URL 以启用 AI 候选链接与测试生成。3) 运行 npx -y @orangepro/mcp-server@latest start . --prompt-version v5,然后打开 .orangepro/behavior-coverage.html 查看报告。4) 作为 MCP 服务器运行:npx -y @orangepro/mcp-server@latest mcp;或在客户端 MCP 配置中添加 {"mcpServers":{"orangepro-local":{"command":"npx","args":["-y","@orangepro/mcp-server@latest","mcp"]}}}。也可用 opro agent --client claude-code 等命令打印对应客户端的精确配置。

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

选型与风险

适合谁

  • 希望拥有确定性、本地优先测试工作流的中大型 TypeScript/JavaScript、Python、Go、Java 代码库团队
  • 使用 Claude Code、Cursor、Codex、Copilot、OpenCode 等 MCP 兼容编码代理的开发者
  • 注重隐私的团队(代码不离开本机,密钥保留在环境变量中)

不适合谁

  • Kotlin、Rust、PHP、C#、Ruby、Swift、C/C++ 项目中需要生成测试、运行时覆盖或动态证明的场景(目前仅支持静态行为提取)
  • 希望托管平台自动化测试生命周期、跨仓库智能或 CI 策略门禁的团队(本仓库仅为免费本地工具)
  • 不愿为 AI 生成配置模型密钥且仅靠确定性分析的用户(生成功能需要 BYOK)

所需权限

  • 读取本地仓库文件与 git 元数据以构建证据图谱
  • 将报告与元数据写入 .orangepro/ 目录
  • 向 orangepro_generated/ 写入新的生成测试文件(不触碰既有源文件)
  • 可选:从环境变量读取 OpenAI / Anthropic / Ollama 凭据,并将接地代码上下文直接发送给您配置的提供商

风险与副作用

  • 生成的测试位于 orangepro_generated/,运行前应人工审查
  • AI 候选链接与流程仅为建议,绝非证据;AI 输出不改变证据等级
  • opro generate --pr 会检出 PR 并修改工作区,存在工作树被改动的风险
  • 启用 AI 通道时,接地代码上下文会直接发送给配置的模型提供商
  • MCP 服务器对仓库拥有本地文件系统与命令执行能力,应仅对受信任的代码库使用

常见排障

  1. 首次运行动态证明数为 0 属正常现象——需运行测试并击杀变异体才能获得动态证明
  2. 若环境无法运行测试,被拒的草稿会保留为手动测试;安装依赖后重新运行 opro start 即可转为可运行测试
  3. 使用 opro doctor 或 opro doctor --proof 查看需要补充哪些证据、为何动态证明未能闭环
  4. 在任意读取命令后加 -- 获取机器可读输出;运行 opro help 查看完整参考
  5. 确认环境变量名称与提供商顺序(OpenAI → Ollama → Anthropic),可用 --provider 与 --model 覆盖

使用场景

在编写新测试前,按爆炸半径(影响范围)找出未测试的行为
为 PR diff 或特定分支变更生成接地测试
通过运行测试并击杀变异体,将行为提升为动态证明
生成系统图谱、覆盖率报告、需求追溯矩阵与元数据证据包

支持客户端

Claude Code完整支持
Cursor完整支持
Codex完整支持
Copilot / VS Code完整支持
OpenCode完整支持
Generic MCP clients完整支持