Skip to content

MimoJanra/TestOpsMCP

Repository files navigation

🧪 TestOps MCP — AI-Powered Test Orchestration

Control your entire test suite from Claude. No dashboard switching. No API calls. Just conversation.

Integrate Allure TestOps with Claude using the Model Context Protocol. Launch tests, track execution, get reports—all within your AI assistant. Built for teams. Ready for production.

GitHub Release License Go Version

Why TestOps MCP?

⚡ Speed

  • Start a test run in seconds — no dashboard navigation
  • Get live status updates without leaving Claude
  • Automated reports delivered to your chat

🤖 Intelligence

  • Claude analyzes test results and suggests fixes
  • Ask natural questions: "Why are these tests failing?"
  • Get insights without manual log parsing

👥 Team-Ready

  • Deploy once, share with your whole team
  • HTTP + auth for secure team access
  • Works with Claude Desktop, Claude Web, and custom MCP clients

🏭 Production-Grade

  • 57+ tools + full OpenAPI coverage (600+ endpoints searchable)
  • Docker, Kubernetes, Systemd, ngrok support
  • Enterprise security: JWT auth, CORS, TLS

🎯 Quick Start (2 minutes)

Your team lead has already deployed TestOps MCP. Here's how to connect:

1. Open Claude Desktop Settings

Click Settings (bottom left) → Developer tab

2. Click "Edit Config"

Add this to the mcpServers section:

{
  "mcpServers": {
    "testops": {
      "url": "http://your-server.com:3000/sse",
      "headers": {
        "Authorization": "Bearer your-mcp-auth-token", // optional
        "X-Allure-Token": "your-personal-allure-token"
      }
    }
  }
}
  • url — address of the shared MCP server (ask your team lead).
  • Authorization (optional) — the MCP_AUTH_TOKEN set on the server. Omit if the server has no MCP_AUTH_TOKEN configured.
  • X-Allure-Token — your personal Allure API token. All actions in Allure will be done under your account.

3. Restart Claude Desktop

Close and reopen Claude.

4. Try it!

Ask Claude: "List all projects in Allure"

You should see your TestOps projects! ✅

Setting up a server for your team? → See Installation & Deployment


✨ What You Can Do

You: "Run smoke tests for project 1"
Claude: ✓ Launch started (ID: 12345)
        ↳ 156 tests queued

You: "What's the status?"
Claude: 📊 RUNNING — 89/156 passed
        ✓ 89 | ✗ 12 | ⚠️ 8 | ⊘ 47

You: "Why did the API tests fail?"
Claude: The auth endpoint returned 401. 
        Likely cause: token refresh broken.
        Suggestion: Check token_expired tests first.

📦 Installation Options

Option A: Per-User (Recommended)

Each team member uses their own API token. → Per-User Setup

Option B: Shared Server

One server for the team with a shared token. → Shared Server Setup


Per-User Setup

Best for: Teams where each person has their own Allure account

  1. Download the binary for your OS from Releases

  2. Get your Allure API token:

    • Log into Allure TestOps (your-testops.com)
    • Click your profile icon (top right) or go to Settings
    • Select API tokens or Integration tokens
    • Click + Create token (or Generate)
    • Give it a name like Claude MCP
    • Copy the token (it won't be shown again!)
    • Store it somewhere safe
  3. Add to Claude Desktop config (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "testops": {
      "command": "C:\\Users\\YourName\\Downloads\\testops-mcp-windows-amd64.exe",
      "env": {
        "ALLURE_BASE_URL": "https://your-testops.com",
        "ALLURE_TOKEN": "your-token-here",
        "REQUEST_TIMEOUT": "30",
        "LOG_LEVEL": "INFO"
      }
    }
  }
}
  1. Restart Claude Desktop and test:
"List all projects in Allure"

Shared Server Setup

Best for: Teams using a single shared Allure account or service account

Quick Start with Docker Compose (Recommended)

1. Clone repo and create .env:

# Clone repo
git clone https://github.com/MimoJanra/TestOpsMCP.git
cd TestOpsMCP

# Create .env file (ALLURE_TOKEN is optional - each user provides their own)
cat > .env << EOF
ALLURE_BASE_URL=https://your-testops.com
PORT=3000
LOG_LEVEL=INFO
MCP_AUTH_TOKEN=generate-random-string-here
EOF

Optional: If you want a fallback shared token for the server:

# Add to .env (optional)
ALLURE_TOKEN=your-shared-token

2. Start with Docker Compose:

# Start server
docker-compose up -d

# Check logs
docker-compose logs -f

Server runs on http://localhost:3000

3. Team members connect with their own tokens

Each team member adds to their Claude Desktop config (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "testops": {
      "url": "http://your-server.com:3000/sse",
      "headers": {
        "Authorization": "Bearer your-mcp-auth-token", // optional
        "X-Allure-Token": "your-personal-allure-token"
      }
    }
  }
}
  • Authorization (optional) — the MCP_AUTH_TOKEN set on the server. Omit if the server has no MCP_AUTH_TOKEN configured.
  • X-Allure-Token — each person's own Allure API token. Actions in Allure are performed under that account.

Each person needs to:

  1. Get their personal Allure API token (Settings → API tokens in Allure TestOps)
  2. Add it to their Claude Desktop config as X-Allure-Token
  3. Restart Claude Desktop

All actions will be done from their personal Allure account! ✅

Binary Setup (Alternative)

If you prefer running without Docker:

# Get binary for your OS
./testops-mcp-linux-amd64 --http

For production deployment (Kubernetes, Systemd, reverse proxy, HTTPS, monitoring):
→ See DEPLOYMENT.md

Docker image available: ghcr.io/MimoJanra/TestOpsMCP:latest


🛠️ 57+ Tools

Universal Tools

  • search_testops_operations — Search for any API operation by keyword
    • Example: "list projects", "create launch", "get test results"
    • Covers all 600+ TestOps endpoints
  • execute_testops_operation — Execute any discovered operation
  • configure_allure_token — Set token in chat (if not in config)

Launch Management

run_allure_launchget_launch_statusget_launch_reportlist_launchesclose_launchreopen_launchcopy_launchmerge_launches

Test Results

list_test_resultsget_test_resultassign_test_resultmute_test_resultbulk_assign_test_resultsresolve_test_resultunmute_test_result

Test Cases & Steps

create_test_caseupdate_test_caseget_test_caseclone_test_caserestore_test_casecreate_test_case_stepupdate_test_case_stepdelete_test_case_steprun_test_case

Collaboration

get_test_case_membersadd_test_case_membersremove_test_case_membersget_test_case_external_linksadd_test_case_external_link

Defects & Analytics

add_test_case_defectremove_test_case_defectget_test_case_defectsget_launch_defectsget_project_statsget_launch_trend_analyticsget_launch_duration_analyticsget_test_success_rateget_launch_environment

→ Full reference: API.md


💡 Common Use Cases

Daily QA Workflow

"Run regression tests for Sprint 22"
→ Claude starts launch, tracks progress, reports results
→ Suggests which tests to debug first

Investigate Failures

"Why did the auth tests fail?"
→ Claude analyzes logs, identifies root cause
→ Links to related GitHub/Jira issues

Continuous Integration

"What's the status of our nightly suite?"
→ Get daily reports, track trends
→ Alerts if pass rate drops

Team Collaboration

"Assign the failing UI tests to @Sarah"
→ Claude bulk-assigns, creates defect tickets
→ Notifies team members

🐳 Deployment

Local Development (Claude Desktop)

Just run the binary — no special setup needed.

Team Shared Server

Use Docker Compose for easy team deployment:

docker-compose up -d

Or deploy with:

  • Docker — Container image at ghcr.io/MimoJanra/TestOpsMCP
  • Kubernetes — Enterprise-scale with auto-scaling
  • Systemd — Native Linux integration
  • ngrok — Quick HTTPS tunneling for testing

→ Full guide: DEPLOYMENT.md


⚙️ Configuration

Variable Required Default Notes
ALLURE_BASE_URL ✅ Yes Your Allure TestOps URL
ALLURE_TOKEN ❓ Optional Required for shared servers, optional for per-user
REQUEST_TIMEOUT No 30s HTTP timeout (1–600 seconds)
PORT No 3000 Server port (HTTP mode only)
LOG_LEVEL No INFO DEBUG/INFO/WARN/ERROR
MCP_AUTH_TOKEN No Bearer auth token for HTTP mode (recommended for production)
CORS_ALLOWED_ORIGIN No * CORS origin (set to https://claude.ai for Claude.ai)

🔒 Security

Local Development (Stdio Mode)

  • No network exposure
  • Safe for personal use
  • Default mode for Claude Desktop

Team Shared Server (HTTP Mode)

Always set MCP_AUTH_TOKEN in production:

  • Use HTTPS (or ngrok) to encrypt credentials
  • Set concrete CORS origin (not *)
  • Place behind reverse proxy (nginx, Caddy)
  • Never commit .env to git
  • Rotate credentials regularly

Example production setup (nginx + HTTPS): → See Security notes in DEPLOYMENT.md


📚 Documentation

Guide For Time
Quick Start First-time users 2 min
Installation Options Per-user or shared setup 5 min
DEPLOYMENT.md Production, Docker, K8s, reverse proxy 15 min
API.md Tool reference & examples Reference

🔄 Comparison: TestOps MCP vs Alternatives

Feature TestOps MCP Dashboard Manual API
Launch from chat
Real-time updates ⚠️ Manual ⚠️ Polling
AI analysis ✅ Claude
Full API coverage ✅ 600+ endpoints ⚠️ Limited
Team deployment ✅ Built-in ⚠️ DIY
Production-ready ⚠️ ⚠️
Time to results 3 min 15+ min 10+ min
Context switches 0 4+ 2+

🔧 Build from Source

# Clone
git clone https://github.com/MimoJanra/TestOpsMCP.git
cd TestOpsMCP

# Build
make build

# Binary at: ./bin/server.exe (Windows) or ./bin/server (Unix)

Requirements:

  • Go 1.26+ — Download
  • make — Usually pre-installed on macOS/Linux

Development commands:

make build      # Compile
make run        # Run in stdio mode
make run-http   # Run in HTTP mode on :3000
make test       # Run tests
make lint       # Check quality
make check      # test + lint

🤝 Contributing

Love this project? Help us make it better!

  1. Fork the repo
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Make changes and test: make check
  4. Push and open a PR

Ways to contribute:

  • 🐛 Fix bugs
  • ✨ Add features
  • 📚 Improve docs
  • 🤔 Report issues
  • 💡 Suggest improvements

See CONTRIBUTING.md for details.


Support & Community

Questions? Open an issue or discussion

Found a bug? Report it

Have an idea? Share it

Security issue? Email: security@testopsmcp.dev (don't open public issue)


Related Projects


License

Apache License 2.0


Get Started

⚡ First Time?

Download binary → 2 minutes to running.

🚀 Ready to Deploy?

See DEPLOYMENT.md → Docker, K8s, and more.


Made with ❤️ by Artem Alekseev

Apache License 2.0 — Free to use, modify, and distribute.

About

Integrate Allure TestOps with Claude using the Model Context Protocol. Launch tests, track execution, get reports—all within your AI assistant. Built for teams. Ready for production.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages