Testomat.io - Secure MCP Server by ALMC Security 2025

Testomat.io

View on GitHub

Testomat.io MCP Server

A Model Context Protocol (MCP) server for Testomat.io API integration with AI assistants like Cursor.

Installation

Prerequisites

  • Node.js 18 or higher (with built-in fetch support)
  • npm or yarn package manager
  • Testomat.io account with API access

Run directly with npx

npx @testomatio/mcp --token <your-token> --project <project-id>

Usage

Command Line Options

The MCP server can be started using command line arguments or environment variables:

Using Command Line Arguments

# Using short flags
npx @testomatio/mcp -t testomat_YOUR_TOKEN_HERE -p your-project-id

# Using long flags
npx @testomatio/mcp --token testomat_YOUR_TOKEN_HERE --project your-project-id

# With custom base URL
npx @testomatio/mcp --token testomat_YOUR_TOKEN_HERE --project your-project-id --base-url https://your-instance.testomat.io

Using Environment Variables

# Set environment variables
export TESTOMATIO_API_TOKEN=testomat_YOUR_TOKEN_HERE
export TESTOMATIO_BASE_URL=https://app.testomat.io  # Optional, defaults to https://app.testomat.io

# Run with project ID
npx @testomatio/mcp --project your-project-id

# Or run directly with environment variables
TESTOMATIO_API_TOKEN=testomat_YOUR_TOKEN_HERE npx @testomatio/mcp --project your-project-id

Getting Your API Token

  1. Go to Testomat.io
  2. Navigate to user tokens https://app.testomat.io/account/access_tokens
  3. Create and copy General API token (starts with testomat_)

Getting Your Project ID

Your project ID can be found in the URL when you're viewing your project:

https://app.testomat.io/projects/YOUR_PROJECT_ID

Integration with Cursor

To use this MCP server with Cursor, add the following configuration to your Cursor settings:

Option 1: Using npx (Recommended)

Add this to your Cursor MCP settings (cursor-settings.json or through the Cursor settings UI):

{
  "mcpServers": {
    "testomatio": {
      "command": "npx",
      "args": ["-y", "@testomatio/mcp@latest", "--token", "testomat_YOUR_TOKEN_HERE", "--project", "YOUR_PROJECT_ID"]
    }
  }
}

Option 2: Using Environment Variables

First, set your environment variables in your shell profile (.bashrc, .zshrc, etc.):

export TESTOMATIO_API_TOKEN=testomat_YOUR_TOKEN_HERE

Then add this to your Cursor MCP settings:

{
  "mcpServers": {
    "testomatio": {
      "command": "npx",
      "args": ["-y", "@testomatio/mcp@latest", "--project", "YOUR_PROJECT_ID"],
      "env": {
        "TESTOMATIO_API_TOKEN": "testomat_YOUR_TOKEN_HERE"
      }
    }
  }
}

Features

Tools

Tests

  • get_tests – Get all tests (params: plan, query, state, suite_id, tag, labels) — api: GET /tests
  • search_tests – Search tests (params: query, tql, labels, state, priority, filter, page) — api: GET /tests

Test Suites

  • search_suites – Search suites (params: query, labels, state, priority, page) — api: GET /suites
  • get_root_suites – List root-level suites (no params) — api: GET /suites
  • get_suite – Get one suite (params: suite_id) — api: GET /suites/{suite_id}

Test Runs

  • get_runs – List all runs (no params) — api: GET /runs
  • get_run – Get one run (params: run_id, tree) — api: GET /runs/{run_id}
  • get_testruns – Runs for a test (params: test_id, finished_at_date_range) — api: GET /testruns

Test Plans

  • get_plans – List all plans (params: detail, labels, page) — api: GET /plans
  • get_plan – Get one plan (params: plan_id) — api: GET /plans/{plan_id}

Example Usage in Cursor

Once configured, you can ask your AI assistant questions like:

  • "Show me all the tests in the project"
  • "Get the test runs for test ID abc123"
  • "What are the root suites in this project?"
  • "Show me details for test run xyz789"
  • "List all automated tests with the @smoke tag"
  • "Get all test plans for this project"

Query Patterns

Basic Information Queries

These queries retrieve general information without specific filtering:

  • "Show me all the tests in the project"get_tests tool
  • "What are the root suites in this project?"get_root_suites tool
  • "Get all test runs"get_runs tool
  • "Get all test plans for this project"get_plans tool

Specific Item Queries

These queries target specific entities by ID:

  • "Get test runs for test ID abc123"get_testruns tool with test_id: "abc123"
  • "Show me details for test run xyz789"get_run tool with run_id: "xyz789"
  • "Get suite details for suite-456"get_suite tool with suite_id: "suite-456"

Search and Filter Queries

These queries use advanced filtering capabilities:

  • "List all automated tests with the @smoke tag"search_tests tool with query: "@smoke", state: "automated"
  • "Find tests with priority high"search_tests tool with priority: "high"
  • "Search for tests containing 'login'"search_tests tool with query: "login"
  • "List tests tagged @critical or labelled 'ux' with high priority"search_tests tool with tql: "tag == 'critical' or label == 'ux' and priority == 'high'"
  • "Find tests linked to JIRA-123"search_tests tool with tql: jira == 'BDCP-2'

Advanced Query Syntax

Test Query Language (TQL)

The search_tests tool supports TQL for complex filtering:

"tag == 'smoke' and state == 'manual'"
"priority == 'high' or label == 'ux'"

Tag-Based Searches

Tags can be searched using the @ prefix:

@smoke        # Tests tagged with 'smoke'
@regression   # Tests tagged with 'regression'
@critical     # Tests tagged with 'critical'

Jira Integration

Tests linked to Jira issues can be found using issue keys:

JIRA-123      # Tests linked to JIRA-123
PROJ-456      # Tests linked to PROJ-456

Troubleshooting

Common Issues

  1. "API token is required" error

    • Make sure your token starts with testomat_
    • Verify the token is correct in your Testomat.io project settings
  2. "Project ID is required" error

    • Check that you're passing the correct project ID
    • Verify the project ID exists and you have access to it
  3. Connection errors

    • Ensure you have internet connectivity
    • Check if your firewall allows connections to app.testomat.io
    • Verify your API token has the necessary permissions
  4. MCP server not starting in Cursor

    • Check Cursor's MCP logs for error messages
    • Ensure Node.js 18+ is installed and accessible
    • Try running the command manually first to test

Debug Mode

To see detailed logs when running the server:

DEBUG=* npx @testomatio/mcp --token <token> --project <project-id>

API Reference

For detailed information about the underlying Testomat.io API, refer to the Testomat.io API Documentation.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support, please:

  1. Check the Testomat.io Documentation
  2. Open an issue on GitHub
  3. Contact Testomat.io support

Changelog

v1.0.0

  • Initial release
  • Support for all major Testomat.io API endpoints
  • MCP-compatible tool interface
  • Semantic XML formatting for LLM processing

Related in Development - Secure MCP Servers

ServerSummaryActions
ClappiaA Python-based MCP server that provides a comprehensive interface for interacting with the Clappia p...View
YAPI MCP ServerThis is a Model Context Protocol (MCP) server that provides access to YAPI interface details.View
Storyblok MCP ServerConnect AI tools to Storyblok instantly - use natural language to manage your CMS like magic.View
SeedDream 3.0 FALA Model Context Protocol (MCP) server that provides image generation capabilities using Bytedance's...View
MCP Server for iOS SimulatorView
LSP MCP ServerAn MCP (Model Context Protocol) server for interacting with LSP (Language Server Protocol) interface...View