Testing Farm MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Testing Farm MCP Serveranalyze job aeebaa46-4983-4c70-a339-f168c8c427c2"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Testing Farm MCP Server
A Model Context Protocol (MCP) server for analyzing Testing Farm jobs. This server provides tools to check job status and analyze failures with detailed error investigation.
Features
๐ Job Status Checking: Get current status of Testing Farm jobs
๐งช Intelligent Failure Analysis: Automatically investigate failed jobs by examining logs and TMT execution details
๐ Dual Transport Support: Works with both stdio and SSE transport modes
๐ณ Containerized: Ready-to-use container images with Podman/Docker
๐ง Generic Error Detection: Finds failure reasons without hardcoded patterns
Related MCP server: Jenkins MCP Server
Available Tools
get_job_status(job_id: str)
Returns basic status information for a Testing Farm job including state, result, timing, and environment details.
analyze_job(job_id: str)
Provides comprehensive job analysis:
Successful jobs: Brief summary with environment information
Failed jobs: Investigates logs to find exact failure reasons
Running jobs: Current status information
Transport Modes
This MCP server supports two transport modes:
๐ก stdio Transport (Default)
Communication via stdin/stdout
Best for: IDE integrations, CLI tools
Process lifecycle: Managed by MCP client
๐ SSE Transport
HTTP server with Server-Sent Events
Best for: Web applications, debugging, multiple clients
Process lifecycle: Independent server process
Quick Start
1. Setup
# Clone and setup
git clone <repository-url>
cd testing-farm-mcp
# Build and configure everything
make setup2. Configure API Token
Edit ~/.testing-farm-mcp.env and set your Testing Farm API token:
TESTING_FARM_API_TOKEN=your_actual_token_here3. Choose Your Transport Mode
stdio Transport (Default)
make runSSE Transport
make run-sseConfiguration
Environment Variables
Create ~/.testing-farm-mcp.env with the following variables:
# Required: Your Testing Farm API token
TESTING_FARM_API_TOKEN=your_token_here
# Transport configuration
MCP_TRANSPORT=stdio # or 'sse'
MCP_PORT=8000 # for SSE transportMCP Client Configuration
For stdio Transport
Add to your MCP client configuration (e.g., ~/.cursor/mcp.json):
{
"mcpServers": {
"TestingFarmMcp-stdio": {
"command": "podman",
"args": [
"run", "-i", "--rm",
"--env-file", "~/.testing-farm-mcp.env",
"localhost/testing-farm-mcp:latest"
],
"description": "Testing Farm MCP server using stdio transport (containerized)"
}
}
}For SSE Transport
{
"mcpServers": {
"TestingFarmMcp-sse": {
"command": "podman",
"args": [
"run", "-d", "--rm",
"--name", "testing-farm-mcp-sse",
"-p", "8000:8000",
"--env-file", "~/.testing-farm-mcp.env",
"-e", "MCP_TRANSPORT=sse",
"-e", "MCP_PORT=8000",
"localhost/testing-farm-mcp:latest"
],
"transport": {
"type": "sse",
"url": "http://localhost:8000"
},
"description": "Testing Farm MCP server using SSE transport with port 8000 (containerized)"
}
}
}Usage Examples
Check Job Status
# Basic status check
get_job_status("aeebaa46-4983-4c70-a339-f168c8c427c2")Analyze Jobs
# Comprehensive analysis
analyze_job("aeebaa46-4983-4c70-a339-f168c8c427c2")
# For successful jobs, you'll get:
# โ
Job completed successfully
# State: complete
# Result: passed
# Architecture: aarch64
# OS: CentOS-Stream-9
# For failed jobs, you'll get failure investigation:
# โ Job failed
# State: complete
# Result: failed
# ๐ Failed Tests: /Clone SIG repo
# ๐ฅ Failure Details:
# error: pathspec '2943d306' did not match any file(s) known to gitDevelopment
Local Development
# Install dependencies
pip install -r requirements.txt
# Copy environment file and edit with your API token
cp example.env ~/.testing-farm-mcp.env
# Run locally
export $(cat ~/.testing-farm-mcp.env | xargs)
python server.pyContainer Development
# Build container
make build
# Run container (stdio)
make run
# Run container (SSE)
make run-sse
# Clean up
make cleanAvailable Make Commands
Command | Description |
| Complete setup: build, configure Cursor, create env file |
| Build container image |
| Run with stdio transport (default) |
| Run with SSE transport |
| Clean up container image |
| Configure Cursor IDE |
Transport Mode Comparison
Feature | stdio | SSE |
Use Case | IDE integration, CLI tools | Web apps, debugging, multi-client |
Process Model | Subprocess of MCP client | Independent server process |
Network | None (pipes) | HTTP on configurable port |
Clients | Single | Multiple concurrent |
Resource Usage | Lower | Slightly higher |
Setup Complexity | Simple | Requires port management |
Troubleshooting
Common Issues
"TESTING_FARM_API_TOKEN not set" warning
Edit
~/.testing-farm-mcp.envand add your API token
"Could not retrieve job data" error
Verify your API token is correct
Check if the job ID exists
Ensure network connectivity to testing-farm.io
SSE transport connection failed
Check if port 8000 is available:
netstat -tlnp | grep 8000Try a different port by setting
MCP_PORT=8001
Container permission issues
Ensure your user can run Podman/Docker
Check if the env file path is accessible:
~/.testing-farm-mcp.env
API Token Setup
Get Testing Farm API Token:
Visit Testing Farm Console
Sign in with your account
Navigate to API tokens section
Generate a new token
Configure Token:
# Create or edit environment file echo "TESTING_FARM_API_TOKEN=your_token_here" > ~/.testing-farm-mcp.env
Project Structure
testing-farm-mcp/
โโโ server.py # Main MCP server implementation
โโโ requirements.txt # Python dependencies
โโโ Containerfile # Container build configuration
โโโ Makefile # Build and run commands
โโโ example.env # Environment variables template
โโโ example.mcp.json # MCP client configuration examples
โโโ README.md # This fileDependencies
httpx- HTTP client for API requestsfastmcp- MCP server frameworkpython-dotenv- Environment variable loading
Contributing
Fork the repository
Create a feature branch
Make your changes
Test with both transport modes
Submit a pull request
License
[Add your license information here]
Note: This MCP server requires a valid Testing Farm API token to function. The server will work without it but with limited functionality.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ozanunsal/testing-farm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server