MicroShift Test Analyzer

by kasturinarra

Not rated
GitHub

About

Analyzes MicroShift test failures from Google Sheets to correlate them with specific MicroShift versions.

Details

Author
kasturinarra
Categories
Developer Tools, Other, Infrastructure

Setup

Install MicroShift Test Analyzer in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/kasturinarra/mcp-test-scenarios-server

Follow the installation instructions in the repository README, then restart your MCP client.

Analyzes MicroShift test failures from Google Sheets to correlate them with specific MicroShift versions.

A Python-based MCP (Model Context Protocol) server that analyzes MicroShift test failures from Google Sheets, providing specialized tools for correlating test failures with MicroShift versions.

- Failed Pipelines by Version: Get failed testing pipelines grouped by MicroShift version
- Failure Summary: Get aggregate statistics of test failures across all versions
- Pipeline Failure Trends: Analyze failure trends for specific testing pipelines over time
- Search Failure Reasons: Search for specific failure reasons across all tests
- Version Comparison: Compare test results between different MicroShift versions
- Real-time Data: Fetches data directly from Google Sheets
- Go toGoogle Cloud Console
- Create a new project or select an existing one
- Enable the Google Sheets API
- Create a service account:

- Go to IAM & Admin > Service Accounts
- Click "Create Service Account"
- Fill in the details and click "Create"
- Skip the role assignment for now
- Click "Done"

- Click on the created service account
- Go to the "Keys" tab
- Click "Add Key" > "Create New Key"
- Choose JSON format
- Download the file and save it securely

- Open your Google Sheet
- Click "Share"
- Add the service account email (found in the JSON file asclient_email)
- Give it "Viewer" permissions

Edit.envand set your Google credentials using the values from your service account JSON file:

GOOGLE_CLIENT_EMAIL=your-service-account@your-project.iam.gserviceaccount.com GOOGLE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nYour private key content\n-----END PRIVATE KEY-----\n"

Note: Copy theclient_emailandprivate_keyvalues directly from your downloaded JSON file. Make sure to include the quotes around the private key and preserve the\ncharacters.

The server is currently configured to read from the spreadsheet ID in the URL you provided. If you need to change this:
- Openserver.py
- Find theSPREADSHEET_IDconstant near the top of the file
- Replace it with your spreadsheet ID

You may also need to adjust the sheet name and range in theget_sheets_data()function (currently set to'2025_06!A:ZZ').

The server will start and listen for MCP connections via stdio.

The MCP server provides the following specialized tools for MicroShift test analysis:

Get failed testing pipelines grouped by MicroShift version.

- version(optional): Specific MicroShift version to filter
- limit(optional): Maximum number of results to return (default: 50)

Get summary of test failures across all MicroShift versions.

- group_by(optional): Group failures by "version", "pipeline", or "reason" (default: "version")

Analyze failure trends for specific testing pipelines over time.

- pipeline_name(optional): Name of the testing pipeline to analyze
- days(optional): Number of days to look back (default: 30)

Search for specific failure reasons across all tests.

- search_term(required): Search term to find in failure reasons
- version(optional): Filter by specific MicroShift version

Compare test results between different MicroShift versions.

- version1(required): First MicroShift version to compare
- version2(required): Second MicroShift version to compare

The server expects your Google Sheet to have the following column structure:

- Column A: Date (e.g., "21/06/2025_04:52:27")
- Column B: ID (e.g., "1233")
- Column C: MICROSHIFT_TARGET (e.g., "4.18.0~0.nightly")
- Column D: BREW_VERSION (e.g., "microshift-4.18.0~0.nightly_2025_06_20_030312...")
- Column E: MicroShift version (e.g., "4.18.0~0.nightly")
- Columns F+: Build images and testing pipelines with multi-line format containing:

- Architecture (x86_64, aarch64, x86)
- Test type (install, upgrade, etc.)
- Framework (RobotFramework, Ginkgo)
- Status (SUCCESS, FAILURE)
- Failure reason (if status is FAILURE)

This server follows the officialMCP Python SDKpattern usingFastMCP. It can be used with any MCP-compatible client like Claude for Desktop.

Add this to your Claude Desktop configuration file (~/Library/Application Support/Claude/claude_desktop_config.jsonon macOS):

{ "mcpServers": { "microshift-test-analyzer": { "command": "python", "args": ["/absolute/path/to/mcp-test-scenarios-server/server.py"], "cwd": "/absolute/path/to/mcp-test-scenarios-server" } } }

Once connected to Claude for Desktop, you can ask questions like:

- "What testing pipelines failed for MicroShift version 4.18.0?"
- "Show me all failures related to 'ssh connection failed'"
- "Compare test results between version 4.18.0 and 4.17.0"
- "What are the failure trends for the rpm upgrade pipeline?"
- "Give me a summary of all test failures grouped by reason"

- Ensure yourGOOGLE_CLIENT_EMAILandGOOGLE_PRIVATE_KEYenvironment variables are set correctly
- Verify the service account has access to the Google Sheet
- Check that the Google Sheets API is enabled in your Google Cloud project
- Make sure the private key format is correct (including \n characters)

- Verify that your spreadsheet follows the expected column structure
- Ensure pipeline data is formatted with proper line breaks separating different components
- Check that status values are one of: SUCCESS, FAILURE, FAILED, PASS, PASSED

- Make sure the server script path in your MCP configuration is correct
- Verify that all required Python dependencies are installed
- Check that the Google Sheets ID in the server code matches your actual spreadsheet

- "No data available": The spreadsheet is empty or the parsing failed
- "Invalid credentials": Service account authentication failed
- "Permission denied": Service account lacks access to the spreadsheet
- "Column index out of range": Spreadsheet structure doesn't match expected format

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Agent Droid Bridge gives AI agents programmatic control over Android devices and emulators via ADB, exposed as an MCP server.

Control Android devices using the Android Debug Bridge (ADB).

A hosted MCP server for generating fake data using faker-go

Access and manage Grafana resources, including dashboards, datasources, Prometheus, Loki, and alerting.

A JSON diff tool to compare two JSON strings.

Reads Allure test reports and returns them in LLM-friendly formats for better test analysis and insights.

Security testing MCP server with 51 tools for penetration testing, network forensics, memory analysis, and vulnerability assessment.

Fact-check and fix AI outputs — hallucination detection, schema validation, and auto-repair.

Control your Android phone using ADB commands. Requires ADB tools and an Android device with USB debugging enabled.

Expose Prometheus monitoring tools to an LLM for querying and analysis.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.