Testomat.io
Integrate Testomat.io API with AI assistants for test management.
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
- Go to Testomat.io
- Navigate to user tokens https://app.testomat.io/account/access_tokens
- 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/testssearch_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/suitesget_root_suites– List root-level suites (no params) — api: GET/suitesget_suite– Get one suite (params:suite_id) — api: GET/suites/{suite_id}
Test Runs
get_runs– List all runs (no params) — api: GET/runsget_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/plansget_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_teststool - "What are the root suites in this project?" →
get_root_suitestool - "Get all test runs" →
get_runstool - "Get all test plans for this project" →
get_planstool
Specific Item Queries
These queries target specific entities by ID:
- "Get test runs for test ID abc123" →
get_testrunstool withtest_id: "abc123" - "Show me details for test run xyz789" →
get_runtool withrun_id: "xyz789" - "Get suite details for suite-456" →
get_suitetool withsuite_id: "suite-456"
Search and Filter Queries
These queries use advanced filtering capabilities:
- "List all automated tests with the @smoke tag" →
search_teststool withquery: "@smoke",state: "automated" - "Find tests with priority high" →
search_teststool withpriority: "high" - "Search for tests containing 'login'" →
search_teststool withquery: "login" - "List tests tagged @critical or labelled 'ux' with high priority" →
search_teststool withtql: "tag == 'critical' or label == 'ux' and priority == 'high'" - "Find tests linked to JIRA-123" →
search_teststool withtql: 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
-
"API token is required" error
- Make sure your token starts with
testomat_ - Verify the token is correct in your Testomat.io project settings
- Make sure your token starts with
-
"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
-
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
-
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:
- Check the Testomat.io Documentation
- Open an issue on GitHub
- 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 Servers
Make
Execute make targets from any Makefile in a safe and controlled environment.
MCP Gemini CLI
A command-line interface wrapper for the Google Gemini API, enabling interaction with Gemini's Search and Chat tools.
Feishu API
Fetches API information from Feishu OpenAPI for seamless integration and management within an IDE.
Trade-MCP
A modular trading automation project using the Zerodha Kite Connect API for tool-based and resource-based automation.
MCP Crypto Wallet EVM
Perform EVM crypto wallet operations using ethers.js v5. Supports a private key environment variable for wallet operations.
Postman MCP Server
Interact with the Postman API via an MCP server. Requires a Postman API key.
CSS Tutor
Provides personalized updates and tutoring on CSS features using the OpenRouter API.
PostHog MCP
Integrates with PostHog for feature flag management and error tracking.
SACL MCP Server
A framework for bias-aware code retrieval using semantic-augmented reranking and localization.
Django MCP Server
A Django extension to enable AI agents to interact with Django apps through the Model Context Protocol.