{"name":"io.github.maksimsarychau/mcp-zebrunner","slug":"maksimsarychau-mcp-zebrunner","title":"Advanced Zebrunner MCP Server","description":"Advanced analytics, reporting, and safe mutations for Zebrunner. 64 tools, 14 resources, 17 prompts.","url":"https://mcp.market/server/maksimsarychau-mcp-zebrunner","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":39,"stars":5,"forks":1,"downloads_week":536,"last_push_at":"2026-09-16T12:23:13.000Z","license":"AGPL-3.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/maksimsarychau/mcp-zebrunner","website":"https://github.com/maksimsarychau/mcp-zebrunner","version":"9.2.1","remotes":[],"packages":[{"registryType":"npm","identifier":"mcp-zebrunner","version":"9.2.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Base URL for your Zebrunner instance (e.g., https://your-instance.zebrunner.com)","isRequired":true,"format":"string","name":"ZEBRUNNER_URL"},{"description":"Your Zebrunner username/login","isRequired":true,"format":"string","name":"ZEBRUNNER_LOGIN"},{"description":"Your Zebrunner API authentication token (Personal API Token from Settings → API Tokens, or refreshToken from SSO session)","isRequired":true,"format":"string","isSecret":true,"name":"ZEBRUNNER_TOKEN"},{"description":"API request timeout in milliseconds (default: 30000)","format":"string","name":"TIMEOUT"},{"description":"Number of retry attempts for failed API requests (default: 3)","format":"string","name":"RETRY_ATTEMPTS"},{"description":"Delay between retry attempts in milliseconds (default: 1000)","format":"string","name":"RETRY_DELAY"},{"description":"Maximum page size for paginated API requests (default: 100, max: 1000)","format":"string","name":"MAX_PAGE_SIZE"},{"description":"Default page size for paginated API requests (default: 10)","format":"string","name":"DEFAULT_PAGE_SIZE"},{"description":"Enable debug logging (default: false)","format":"string","name":"DEBUG"},{"description":"Enable the rules engine for test case validation (default: auto-detected from mcp-zebrunner-rules.md file)","format":"string","name":"ENABLE_RULES_ENGINE"},{"description":"Enable strict URL validation for security (default: true)","format":"string","name":"STRICT_URL_VALIDATION"},{"description":"Skip URL validation if it fails (less secure, more permissive) (default: false)","format":"string","name":"SKIP_URL_VALIDATION_ON_ERROR"},{"description":"Enable rate limiting for API calls (default: true)","format":"string","name":"ENABLE_RATE_LIMITING"},{"description":"Maximum API requests per second (default: 5, max: 100)","format":"string","name":"MAX_REQUESTS_PER_SECOND"},{"description":"Allow burst of API requests (default: 10, max: 200)","format":"string","name":"RATE_LIMITING_BURST"}]},{"registryType":"npm","identifier":"mcp-zebrunner","version":"9.2.1","transport":{"type":"streamable-http","url":"http://localhost:{PORT}/mcp"},"environmentVariables":[{"description":"HTTP server port (required for StreamableHTTP mode)","isRequired":true,"format":"string","name":"PORT"},{"description":"Base URL for your Zebrunner instance (e.g., https://your-instance.zebrunner.com)","isRequired":true,"format":"string","name":"ZEBRUNNER_URL"},{"description":"Transport mode: stdio, http, or auto (default: auto)","format":"string","name":"MCP_TRANSPORT"},{"description":"Authentication mode: headers, oauth, or both (default: headers)","format":"string","name":"MCP_AUTH_MODE"},{"description":"Public URL of this MCP server (for OAuth metadata)","format":"string","name":"MCP_SERVER_URL"}]}],"tools":[{"name":"about_mcp_tools","description":"📚 Discover Advanced Zebrunner MCP Server capabilities: tools summary/detail, prompts catalog (/commands), resources catalog (@data), or dual-MCP routing guidance. Use mode='summary' for a full overview, or mode='routing' for the table that explains when to prefer the official `zebrunner` MCP vs this server when both are connected.","write_action":false,"price_micros":0,"input_schema":null},{"name":"aggregate_test_cases_by_feature","description":"🔍 Find ALL test cases related to a specific feature across the project.","write_action":false,"price_micros":0,"input_schema":null},{"name":"analyze_regression_runtime","description":"📊 Analyze Regression Runtime Efficiency: collects per-launch elapsed time, attempt/re-run breakdown, per-test duration classification (Short / Medium / Long with configurable thresholds), Average Runtime per Test, and Weighted Runtime Index. Supports baseline comparison with a previous milestone or build to track deviation (%). Targets one project per call; aggregate across teams by calling multi","write_action":false,"price_micros":0,"input_schema":null},{"name":"analyze_screenshot","description":"🔍 Analyze test screenshot with OCR and visual analysis - returns image to Claude Vision for detailed analysis","write_action":false,"price_micros":0,"input_schema":null},{"name":"analyze_test_cases_duplicates","description":"🔍 Analyze test cases for duplicates and group similar ones by step similarity (80-90%)","write_action":false,"price_micros":0,"input_schema":null},{"name":"analyze_test_cases_duplicates_semantic","description":"🧠 Advanced semantic duplicate analysis using LLM-powered step clustering and two-phase analysis","write_action":false,"price_micros":0,"input_schema":null},{"name":"analyze_test_execution_video","description":"🎬 Download and analyze test execution video with Claude Vision - extracts frames, compares with test case, and predicts if failure is bug or test issue. NEW: Analysis depth modes (quick/standard/detailed), parallel frame extraction, similar failures search, and historical trends analysis!","write_action":false,"price_micros":0,"input_schema":null},{"name":"analyze_test_failure","description":"🔍 Deep forensic analysis of failed test including logs, screenshots, error classification, and similar failures. 💡 NEW: Compare with last passed execution to see what changed! 💡 TIP: Can be auto-invoked from Zebrunner test URLs like: https://workspace.zebrunner.com/projects/PROJECT/automation-launches/LAUNCH_ID/tests/TEST_ID","write_action":false,"price_micros":0,"input_schema":null},{"name":"batch_get_test_cases","description":"📦 Fetch multiple test cases by key in one call (partial success).","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_test_case","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_test_suite","description":"🔧 (Beta) Create a new Test Suite in a Zebrunner project. Requires Engineer role or higher in the target project. Suites can be nested at any depth by providing parent_suite_id. Omit parent_suite_id to create a root-level suite. TWO-STEP FLOW: 1) Call with all fields (without confirm) to get a preview + confirmation_token. 2) After user approval, call with ONLY confirm: true and the confirmation_t","write_action":true,"price_micros":0,"input_schema":null},{"name":"detailed_analyze_launch_failures","description":"🚀 Analyze failed tests WITHOUT linked issues in a launch with grouping, statistics, and recommendations. Automatically analyzes all tests if ≤10, otherwise first 10 (use offset/limit for more). Use filterType: 'all' to include tests with issues. Supports pagination and screenshot analysis. **NEW:** Jira format with smart grouping - creates combined tickets for similar errors! 💡 TIP: Can be auto-","write_action":false,"price_micros":0,"input_schema":null},{"name":"download_test_screenshot","description":"📸 Download test screenshot with authentication from Zebrunner","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_flaky_tests","description":"🔍 Find flaky tests across launches using a 3-phase approach: (1) cross-launch flip-flop analysis of automated tests, (2) manual-only test case scan via TCM execution history, (3) dual-perspective enrichment of top automated flaky tests with TCM data. Detects tests that oscillate between PASSED/FAILED across multiple launches within a time window.","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_draft_test_by_key","description":"🧪 Generate draft test code from Zebrunner test case with intelligent framework detection","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_report","description":"📊 (Beta) Universal report generator. Supports 6 report types: quality_dashboard (HTML+Markdown with 6 panels), coverage (per-suite test coverage table), pass_rate (per-platform with targets), runtime_efficiency (with delta vs previous milestone), executive_dashboard (standup-ready combined report), release_readiness (Go/No-Go assessment). Can generate single or multiple reports per call.","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_weekly_regression_stability_report","description":"📌 Generate weekly regression stability report with pass rates, WoW deltas, and Jira-ready output","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_all_launches_for_project","description":"📋 List individual launch executions for a project with pagination. Returns launch names, statuses, and timestamps. Use this to browse or list launches, NOT for aggregated results/pass rates (use adv_get_platform_results_by_period for that).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_all_launches_with_filter","description":"🔍 Search and filter individual launch executions by milestone, build number, or launch name. Returns matching launches with statuses. Use this to find specific launches, NOT for aggregated results/pass rates (use adv_get_platform_results_by_period for that).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_all_subsuites","description":"📋 Get all subsuites from a root suite as flat list with pagination","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_all_tcm_test_case_suites_by_project","description":"📋 Get ALL TCM test case suites by project using comprehensive pagination","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_all_tcm_test_cases_by_project","description":"📋 Get ALL TCM test cases by project using comprehensive pagination","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_all_tcm_test_cases_with_root_suite_id","description":"🌳 Get ALL TCM test cases enriched with root suite ID information","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_automation_priorities","description":"🎯 Get available priorities for a project (names and IDs)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_automation_states","description":"🔧 Get available automation states for a project (names and IDs)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_available_projects","description":"🏗️ Discover available projects with their keys and IDs for dynamic project selection","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_bug_failure_info","description":"🔬 Get comprehensive failure information including failure summary and detailed test runs (SQL widgets, templateId: 6 & 10)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_bug_review","description":"🔍 Get detailed bug review with failures, defects, reproduction dates, and optional automatic failure detail fetching (SQL widget, templateId: 9)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_enhanced_test_coverage_with_rules","description":"🔍 Enhanced test coverage analysis with configurable rules validation and quality scoring","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_launch_details","description":"🚀 Get comprehensive launch details including test sessions (uses new reporting API with enhanced authentication)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_launch_summary","description":"📋 Get quick launch summary without detailed test sessions (uses new reporting API)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_launch_test_summary","description":"📊 Get lightweight launch test summary with statistics (auto-paginated, token-optimized)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_platform_results_by_period","description":"📊 Get aggregated test results, pass rate, and statistics for a project over a time period (last 7 days, last 30 days, etc.). Returns total passed/failed/skipped/aborted counts and pass rate percentage. Use this when asked for 'results', 'pass rate', 'test statistics', 'how many passed/failed', or 'results for last N days'. Accepts any Zebrunner project key (e.g. 'DEF', 'MCP') or aliases (web/andr","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_project_milestones","description":"🎯 Get available milestones for a project with pagination and filtering","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_root_id_by_suite_id","description":"🔍 Get root suite ID for a specific suite ID","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_root_suites","description":"🌳 Get root suites (suites with no parent) from project","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_suite_hierarchy","description":"🌳 Get hierarchical test suite tree with configurable depth","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_tcm_suite_by_id","description":"🔍 Get test suite by its numeric ID. This is the primary tool for any \"show me suite\", \"get suite by ID\", or \"find suite\" request. Supports two modes: - simple (default): Fast direct API call. Returns suite fields (id, title, description, parentSuiteId, relativePosition). Best for quick lookups. - full: Fetches all project suites and enriches with hierarchy (rootSuiteId, parent chain, clickable li","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_tcm_test_suites_by_project","description":"📋 Get TCM test suites by project with pagination (Java methodology)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_test_case_by_filter","description":"🔍 Get test cases using advanced filtering options with exact matching","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_test_case_by_key","description":"🔍 Get detailed test case by key or numeric ID. Accepts: • Test case key: 'MCP-29', 'MCP-2' • Numeric ID: '86280' (requires project_key) • From Zebrunner URL: extract project_key and caseId from URLs like https://example.zebrunner.com/projects/MCP/test-cases?caseId=86280 → project_key='MCP', case_key='86280' Default format is 'json' which exposes all raw field values. Use 'json' when using this to","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_test_case_by_title","description":"🔍 Get test cases by title using partial match search with pagination support","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_test_cases_advanced","description":"📊 Advanced test case retrieval with filtering and pagination (✨ Enhanced with automation state and date filtering)","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_test_cases_by_automation_state","description":"🤖 Get test cases filtered by automation state with token-based pagination (💡 Use adv_get_automation_states to see available states). Call repeatedly with page_token to paginate through all results.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_test_cases_by_suite_smart","description":"🧠 Smart test case retrieval by suite ID - automatically detects if suite is root suite and uses appropriate filtering with enhanced pagination","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_test_coverage_by_test_case_steps_by_key","description":"🔍 Analyze test case coverage against actual implementation with recommendations","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_test_execution_history","description":"📊 Get execution history for a test across multiple launches - shows pass/fail history, last passed execution, and pass rate","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_test_run_by_id","description":"🔍 Get detailed Test Run information by ID from Public API","write_action":true,"price_micros":0,"input_schema":null},{"name":"get_test_run_configuration_groups","description":"Get list of Configuration Groups and their Options for a project. These are used to configure Test Runs.","write_action":true,"price_micros":0,"input_schema":null},{"name":"get_test_run_result_statuses","description":"Get list of Result Statuses configured for a project. These statuses are used when assigning results to Test Cases.","write_action":true,"price_micros":0,"input_schema":null},{"name":"get_top_bugs","description":"🐞 Top N most frequent defects with optional issue links (SQL widget, templateId: 4)","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_launch_results_to_test_run","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"improve_test_case","description":"🔧 Analyze and improve a test case with detailed suggestions and optional automatic fixes","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_test_run_test_cases","description":"📝 List all Test Cases in a Test Run from Public API","write_action":true,"price_micros":0,"input_schema":null},{"name":"list_test_runs","description":"🏃 List Test Runs from Public API with advanced filtering","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_test_suites","description":"📋 List test suites for a project (✅ Verified Working)","write_action":false,"price_micros":0,"input_schema":null},{"name":"manage_test_run","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"regression_results_analyzer","description":"📊 Analyze regression test results for a milestone or build: test run overview, new/top bugs, bugs per suite, and slowest tests. Accepts milestone name and/or build number to find all TCM test runs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rerun_launch_failures","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"start_launch","description":"🚀 (Beta) Start a new automation launch via Zebrunner \"Build now\" (Reporting API job/parameters + job:build). IMPORTANT: … … Resolves a template launch by launch_id, launch name query, and/or suite_path, fetches live job parameters, merges your overrides (build, locale, test_run_rules, or parameters map), and triggers CI. Use build: \".*\" for latest build. Discover parameters first via adv_get_laun","write_action":false,"price_micros":0,"input_schema":null},{"name":"test_reporting_connection","description":"🔌 Test connection to Zebrunner Reporting API with new authentication","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_test_case","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_test_suite","description":"🔧 (Beta) Update an existing Test Suite by its numeric ID. Requires Engineer role or higher in the target project. ⚠️ IMPORTANT: This uses PUT (full replacement). You must always provide 'title' even if you only want to change another field. Setting parent_suite_id to null or omitting it will promote the suite to root level. TWO-STEP FLOW: 1) Call with all fields (without confirm) to get a preview","write_action":true,"price_micros":0,"input_schema":null},{"name":"validate_test_case","description":"🔍 Validate a test case against quality standards and best practices (Dynamic Rules Support + Improvement)","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-26T05:15:49.103Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T05:15:49.044Z","components":{"code":{"score":25,"max":25,"notes":["96 source files scanned","96 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 10 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"mcp-zebrunner","version":"9.2.1","found":true,"license":"AGPL-3.0","hasInstallScripts":false,"dependencyCount":11,"publishedAt":"2026-07-08T13:05:51.458Z","repositoryUrl":"git+https://github.com/maksimsarychau/mcp-zebrunner.git","weeklyDownloads":268},{"registryType":"npm","identifier":"mcp-zebrunner","version":"9.2.1","found":true,"license":"AGPL-3.0","hasInstallScripts":false,"dependencyCount":11,"publishedAt":"2026-07-08T13:05:51.458Z","repositoryUrl":"git+https://github.com/maksimsarychau/mcp-zebrunner.git","weeklyDownloads":268}],"repo":{"found":true,"owner":"maksimsarychau","repo":"mcp-zebrunner","archived":false,"pushedAt":"2026-09-16T12:23:13Z","stars":5,"forks":1,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/4455896?v=4","ownerCreatedAt":"2013-05-17T09:54:03Z","license":"AGPL-3.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/4455896?v=4&s=128","source":"github"},"presence":{"stars":5,"forks":1,"downloadsWeek":536,"license":"AGPL-3.0","lastPushAt":"2026-09-16T12:23:13.000Z","score":39}}}},"grade_history":[],"reviews":[]}