Home
New: 🧠 AI Vector Search β€’ Semantic Clustering β€’ 16 Datasets

MCP Integration

Connect Claude Code to your test data using the Model Context Protocol (MCP). Now with 5 consolidated tools (down from 24) using an efficient router pattern.

What's New in v2.1

  • 🧠 AI Vector Search - Semantic search & failure clustering using Jina v3 embeddings + Cohere reranking
  • 16 queryable datasets - Added clustered_failures and semantic_search
  • find_similar action - Find similar failures across current or historical runs
  • 5 tools instead of 24 - Router pattern with ~83% token reduction
  • HTTP Streamable transport - More reliable than legacy SSE
  • Semantic definitions - Metric formulas prevent AI hallucinations

Installation

1Quick Start (OAuth - Recommended)

One command to connect Claude Code to Exolar β€” authenticates via browser:

claude mcp add exolar-qa --transport http https://exolar.ai-innovation.site/api/mcp/mcp -s user

When prompted, select "Authenticate" β†’ browser opens β†’ log in β†’ done!

Verify installation: Run claude mcp list to see "exolar-qa" connected

2Alternative: Manual Token

If OAuth doesn't work, get a token from /settings/mcp:

claude mcp add exolar-qa --transport http https://exolar.ai-innovation.site/api/mcp/mcp -s user \
  --header "Authorization: Bearer YOUR_TOKEN_HERE"

πŸ€–AI-Guided CI/CD Setup

After connecting, ask Claude Code:

"Help me integrate Exolar with my Playwright tests"

Claude uses an Integration Engineer persona to guide you through GitHub Actions setup with step-by-step instructions.

Architecture: Router Pattern

Instead of 24 individual tools, the MCP server uses a two-level router pattern:

Level 1: Tool
Which category?
  • β€’ explore (discovery)
  • β€’ query (data retrieval)
  • β€’ action (heavy ops)
  • β€’ definition (semantics)
  • β€’ config (setup)
Level 2: Dataset/Action
Which specific data?
  • β€’ executions, failures
  • β€’ flaky_tests, trends
  • β€’ compare, classify
  • β€’ metric formulas
  • β€’ CI/CD snippets

Benefits

  • 83% fewer tokens - Tool definitions reduced from ~3,000 to ~500 tokens
  • Unified filters - Consistent interface across all datasets
  • Better discovery - explore_exolar_index shows what's available
  • Flexible routing - Easy to add new datasets

Available Tools (5 Total + AI Features)

All tools support organization-scoped access with automatic filtering.

discoveryexplore_exolar_index

Discovery tool - call FIRST to learn what data exists. Lists datasets, branches, suites, or metrics with optional search filtering.

queryquery_exolar_data

Universal data retrieval router. Retrieves data from any of the 16 available datasets using a unified filter interface.

actionperform_exolar_action

Execute heavy operations: compare executions, generate reports, classify failures, or find similar failures using AI.

metadataget_semantic_definition

Get metric definitions to prevent AI hallucinations. Returns formula, thresholds, unit, and related tools for any metric.

metadataget_installation_config

Get CI/CD integration code snippets and setup instructions. Returns ready-to-use config for Playwright reporter, GitHub Actions, and environment variables.

Available Datasets

Use query_exolar_data with these datasets:

01
executions
List test executions with optional filters (branch, suite, status, dates)
02
execution_details
Full execution data with all test results and artifacts (requires execution_id)
03
failures
Failed tests with AI-enriched context and error details
04
flaky_tests
Tests with flakiness history (min_runs, include_resolved filters)
05
trends
Time-series metrics with flexible granularity (hour, day, week, month)
06
dashboard_stats
Overall metrics summary (total executions, pass rate, avg duration)
07
error_analysis
Error type distribution breakdown
08
test_search
Search tests by name or file path (requires query param)
09
test_history
Execution history for a specific test (requires test_signature)
10
flakiness_summary
Overall flakiness metrics and worst offenders
11
reliability_score
Suite health score (0-100) with breakdown and trend
12
performance_regressions
Tests slower than historical baseline
13
execution_summary
Aggregated execution overview without full test list
14
execution_failures
Only failed tests from an execution with error grouping
15
clustered_failures
AI-grouped failures by similarity (requires execution_id, reduces 50+ failures to root causes)
16
semantic_search
Natural language search for failures using vector embeddings (requires query)

Migration from v1.0

If you were using the previous 24-tool version, here's how to migrate:

Old ToolNew ToolParameters
list_branchesexplore_exolar_index{ category: "branches" }
get_executionsquery_exolar_data{ dataset: "executions" }
get_flaky_testsquery_exolar_data{ dataset: "flaky_tests" }
compare_executionsperform_exolar_action{ action: "compare" }
See full mapping in documentation

Usage Examples

After connecting, you can ask Claude things like:

β€œShow me what datasets are available”
β€œList all branches with their stats”
β€œWhat metrics can I query?”
β€œGet recent test failures on main branch”
β€œShow me the flakiest tests with at least 5 runs”
β€œWhat were the test results from the last CI run?”
β€œSearch for tests related to login”
β€œGet metrics for the past week”
β€œWhat's the health score for my test suite?”
β€œAre there any performance regressions on the main branch?”
β€œShow me tests that got slower in the last 24 hours”
β€œWhat's the error distribution for failed tests?”
β€œCluster the failures from the last run by root cause”
β€œFind tests with timeout errors using semantic search”
β€œShow me similar failures to this test”
β€œGroup 50+ failures into meaningful clusters”
β€œCompare the last two runs on main branch”
β€œWhat tests broke in the feature branch compared to main?”
β€œShow me new failures between main and feature-auth”
β€œIs this test failure a flake or a real bug?”
β€œClassify the failure in test 'should login successfully'”
β€œHelp me set up MCP integration”
β€œHow do I configure GitHub Actions?”
β€œWhat's the formula for pass rate?”
β€œHow is reliability score calculated?”

Conversational CI/CD Setup

The get_installation_config tool uses an Integration Engineer persona that guides you through setup step-by-step.

πŸ”

Discovery

Claude asks about your CI provider (GitHub Actions recommended), monorepo structure, and existing tests

🎯

Adaptation

Receives CI-specific instructions with exact secrets management steps for GitHub Actions

βœ…

Validation

Gets dry run commands to verify integration before pushing to CI

Example Conversation

You: β€œHelp me integrate Exolar with my Playwright tests”
Claude (Integration Engineer): β€œI'll help you set up Exolar! First, which CI provider are you using? (GitHub Actions recommended, or running locally?)”
You: β€œGitHub Actions”
Claude: β€œPerfect! Here are your GitHub Actions setup instructions: 1. Add this secret in Settings > Secrets > Actions: Name: EXOLAR_API_KEY Value: [from /settings/mcp] 2. Install the package: npm install @exolar/reporter 3. MERGE (don't replace!) the reporter into your playwright.config.ts reporters array 4. Update your .github/workflows/playwright.yml with... Would you like me to explain how to merge the reporter config?”

Key Benefits

  • β€’ No guessing where to put the EXOLAR_API_KEY
  • β€’ Clear instructions: MERGE vs REPLACE config files
  • β€’ GitHub Actions-specific secrets management path
  • β€’ Monorepo-aware guidance (where to place reporters, per-package config)
  • β€’ Built-in validation commands (dry run locally before CI push)

Router Pattern Alternative

You can also use the router pattern to get pre-filtered configuration programmatically:

query_exolar_data({
  dataset: "setup_guide",
  filters: {
    ci_provider: "github",  // or "local" (v2.1)
    framework: "playwright",
    monorepo: false,        // or true
    section: "all"          // or specific section
  }
})

Output Formats

Markdown (Default)

  • β€’ CLI-friendly tables
  • β€’ ~70% fewer tokens than JSON
  • β€’ Human-readable
  • β€’ Easier to scan

JSON

  • β€’ Structured data
  • β€’ Programmatic parsing
  • β€’ Full details
  • β€’ API integration

Security

  • JWT tokens verified using Neon Auth JWKS
  • All data automatically scoped to your organization
  • Database-level RLS policies for additional protection
  • HTTPS-only communication (encrypted in transit)
  • No cross-tenant access - users only see their org's data

Troubleshooting

β€œInvalid or expired token”

Visit /settings/mcp to generate a new token. Tokens expire after 30 days.

β€œUser not found”

Ensure you're logged into the dashboard and have an organization assigned. Generate a new token from /settings/mcp after logging in.

β€œTool not found”

You may be using old tool names. Use the 5 consolidated tools: explore_exolar_index, query_exolar_data, perform_exolar_action, get_semantic_definition, get_installation_config.

Connection fails

Check: (1) Dashboard is accessible, (2) NEON_AUTH_JWKS_URL is set in Vercel, (3) URL is correct (/api/mcp/mcp not /api/mcp).

Additional Resources