MCP.so
ログイン

Testomatio MCP Server

@testomatio

基本情報

カテゴリ

その他

トランスポート

stdio

作者

testomatio

Testomatio MCP Server について

MCP server or Testomat.io

Testomatio MCP Server の設定

以下の設定を使って、このサーバーを MCP 対応クライアントに追加してください。

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

Testomatio MCP Server のツール

90

Check server status and active configuration

List tests (/api/v2/{project_id}/tests). TQL (Testomat.io Query Language) is a string expression passed in `tql` to filter tests. Supported syntax includes logical operators `and`, `or`, `not`, equality operators `==` and `!=`, list membership `in [...]`, `%` for partial text match on supported text fields, and parentheses for grouping. Ordered comparisons `>`, `<`, `>=`, `<=` are for ordered fields such as `priority`, dates, and numeric counters/durations. Use quotes for string values, for example `state == 'automated'`. Documented test variables: `tag`, `label`, `priority`, `issue`, `jira`, `state`, `status`, `custom_status`, `created_at`, `updated_at`, `last_run_at`, `executed_at`, `created_by`, `assigned_to`, `suite`, `test`, `shared`, `milestone`. Documented examples: `priority == 'high'`, `priority >= 'normal'`, `state == 'automated'`, `tag in ['smoke', 'stage1'] and status == 'failed'`, `suite % 'Checkout'`, `test % 'User login'`, `custom_status % 'issue'`, `created_at < 1.month_ago`, `jira in ['JST-1', 'JST-2']`, `milestone == 'Sprint 1'`. Do not invent undocumented fields or syntax. If a query fails, simplify it to one documented predicate.

Get test by ID

Create test (/api/v2/{project_id}/tests)

Update test (/api/v2/{project_id}/tests/{id})

Delete test

Search tests using TQL (delegates to tests_list). TQL (Testomat.io Query Language) is a string expression passed in `tql` to filter tests. Supported syntax includes logical operators `and`, `or`, `not`, equality operators `==` and `!=`, list membership `in [...]`, `%` for partial text match on supported text fields, and parentheses for grouping. Ordered comparisons `>`, `<`, `>=`, `<=` are for ordered fields such as `priority`, dates, and numeric counters/durations. Use quotes for string values, for example `state == 'automated'`. Documented test variables: `tag`, `label`, `priority`, `issue`, `jira`, `state`, `status`, `custom_status`, `created_at`, `updated_at`, `last_run_at`, `executed_at`, `created_by`, `assigned_to`, `suite`, `test`, `shared`, `milestone`. Documented examples: `priority == 'high'`, `priority >= 'normal'`, `state == 'automated'`, `tag in ['smoke', 'stage1'] and status == 'failed'`, `suite % 'Checkout'`, `test % 'User login'`, `custom_status % 'issue'`, `created_at < 1.month_ago`, `jira in ['JST-1', 'JST-2']`, `milestone == 'Sprint 1'`. Do not invent undocumented fields or syntax. If a query fails, simplify it to one documented predicate.

List linked issues for a test (/api/v2/{project_id}/issues?test_id=...)

Link issue to a test (/api/v2/{project_id}/issues)

Unlink issue from a test (/api/v2/{project_id}/issues/{id})

List suites as tree (/api/v2/{project_id}/suites)

Get suite by ID

Create suite (/api/v2/{project_id}/suites)

Update suite (/api/v2/{project_id}/suites/{id})

Delete suite

Search suites by title (delegates to suites list with search_text)

List linked issues for a suite (/api/v2/{project_id}/issues?suite_id=...)

Link issue to a suite (/api/v2/{project_id}/issues)

Unlink issue from a suite (/api/v2/{project_id}/issues/{id})

List runs (/api/v2/{project_id}/runs). TQL (Testomat.io Query Language) is a string expression passed in `tql` to filter runs. Supported syntax includes logical operators `and`, `or`, `not`, equality operators `==` and `!=`, list membership `in [...]`, `%` for partial text match on supported text fields, and parentheses for grouping. Ordered comparisons `>`, `<`, `>=`, `<=` are for ordered fields such as `priority`, dates, and numeric counters/durations. Use quotes for string values, for example `state == 'automated'`. Runs also support boolean flags without comparison such as `failed`, `finished`, `automated`, or `with_defect`. Documented run variables: `title`, `plan`, `rungroup`, `env`, `tag`, `label`, `jira`, `duration`, `passed_count`, `failed_count`, `skipped_count`, `automated`, `manual`, `mixed`, `finished`, `unfinished`, `passed`, `failed`, `terminated`, `published`, `private`, `archived`, `unarchived`, `with_defect`, `has_defect`, `has_test`, `has_test_tag`, `has_test_label`, `has_suite`, `has_message`, `has_custom_status`, `has_assigned_to`, `has_retries`, `has_test_duration`, `has_priority`, `created_at`, `updated_at`, `launched_at`, `finished_at`, `milestone`. Documented examples: `title % 'Manual tests'`, `plan == '{PLAN_ID}'`, `env in ['Windows', 'Linux']`, `failed and has_test_tag == 'regression'`, `finished and with_defect`, `has_retries > 2`, `automated and env == 'Production' and has_message % 'Server Error'`, `finished_at >= '2025-07-01' and finished_at <= '2025-07-31' and failed`. Do not invent undocumented fields or syntax. If a query fails, simplify it to one documented predicate.

Get run by ID

Create run (/api/v2/{project_id}/runs)

Update run (/api/v2/{project_id}/runs/{id})

Delete run (/api/v2/{project_id}/runs/{id})

Search runs using TQL (delegates to runs_list). TQL (Testomat.io Query Language) is a string expression passed in `tql` to filter runs. Supported syntax includes logical operators `and`, `or`, `not`, equality operators `==` and `!=`, list membership `in [...]`, `%` for partial text match on supported text fields, and parentheses for grouping. Ordered comparisons `>`, `<`, `>=`, `<=` are for ordered fields such as `priority`, dates, and numeric counters/durations. Use quotes for string values, for example `state == 'automated'`. Runs also support boolean flags without comparison such as `failed`, `finished`, `automated`, or `with_defect`. Documented run variables: `title`, `plan`, `rungroup`, `env`, `tag`, `label`, `jira`, `duration`, `passed_count`, `failed_count`, `skipped_count`, `automated`, `manual`, `mixed`, `finished`, `unfinished`, `passed`, `failed`, `terminated`, `published`, `private`, `archived`, `unarchived`, `with_defect`, `has_defect`, `has_test`, `has_test_tag`, `has_test_label`, `has_suite`, `has_message`, `has_custom_status`, `has_assigned_to`, `has_retries`, `has_test_duration`, `has_priority`, `created_at`, `updated_at`, `launched_at`, `finished_at`, `milestone`. Documented examples: `title % 'Manual tests'`, `plan == '{PLAN_ID}'`, `env in ['Windows', 'Linux']`, `failed and has_test_tag == 'regression'`, `finished and with_defect`, `has_retries > 2`, `automated and env == 'Production' and has_message % 'Server Error'`, `finished_at >= '2025-07-01' and finished_at <= '2025-07-31' and failed`. Do not invent undocumented fields or syntax. If a query fails, simplify it to one documented predicate.

List linked issues for a run (/api/v2/{project_id}/issues?run_id=...)

Link issue to a run (/api/v2/{project_id}/issues)

Unlink issue from a run (/api/v2/{project_id}/issues/{id})

List testruns (/api/v2/{project_id}/testruns)

Get testrun by ID

Create testrun (/api/v2/{project_id}/testruns)

Update testrun (/api/v2/{project_id}/testruns/{id})

Delete testrun (/api/v2/{project_id}/testruns/{id})

Search testruns (delegates to testruns list; docs has no dedicated search parameter)

List linked issues for a testrun (/api/v2/{project_id}/issues?testrun_id=...)

Link issue to a testrun (/api/v2/{project_id}/issues)

Unlink issue from a testrun (/api/v2/{project_id}/issues/{id})

List run groups as tree (/api/v2/{project_id}/rungroups)

Get run group by ID

Create run group (/api/v2/{project_id}/rungroups)

Update run group (/api/v2/{project_id}/rungroups/{id})

Delete run group (/api/v2/{project_id}/rungroups/{id})

List steps (/api/v2/{project_id}/steps)

Get step by ID

Create step (/api/v2/{project_id}/steps)

Update step (/api/v2/{project_id}/steps/{id})

Delete step (/api/v2/{project_id}/steps/{id})

List snippets (/api/v2/{project_id}/snippets)

Get snippet by ID

Create snippet (/api/v2/{project_id}/snippets)

Update snippet (/api/v2/{project_id}/snippets/{id})

Delete snippet (/api/v2/{project_id}/snippets/{id})

List labels (/api/v2/{project_id}/labels)

Get label by slug

Create label (/api/v2/{project_id}/labels)

Update label (/api/v2/{project_id}/labels/{id})

Delete label (/api/v2/{project_id}/labels/{id})

List tags with counts (/api/v2/{project_id}/tags)

Get tests by tag title (/api/v2/{project_id}/tags/{id})

Search by tag title (delegates to tags_get)

List milestones (/api/v2/{project_id}/milestones)

Get milestone by ID

List linked issues (/api/v2/{project_id}/issues)

Link issue to resource (/api/v2/{project_id}/issues)

Unlink issue (/api/v2/{project_id}/issues/{id})

Search issues (delegates to issues_list filters)

List attachments for a test (/api/v2/{project_id}/attachments?test_id=...)

Upload one attachment to a test (/api/v2/{project_id}/attachments?test_id=...)

Delete attachment from a test (/api/v2/{project_id}/attachments/{id}?test_id=...)

List attachments for a suite (/api/v2/{project_id}/attachments?suite_id=...)

Upload one attachment to a suite (/api/v2/{project_id}/attachments?suite_id=...)

Delete attachment from a suite (/api/v2/{project_id}/attachments/{id}?suite_id=...)

List attachments for a testrun (/api/v2/{project_id}/attachments?testrun_id=...)

Upload one attachment to a testrun (/api/v2/{project_id}/attachments?testrun_id=...)

Delete attachment from a testrun (/api/v2/{project_id}/attachments/{id}?testrun_id=...)

List plans (/api/v2/{project_id}/plans)

Get plan by ID

Create plan (/api/v2/{project_id}/plans). TQL (Testomat.io Query Language) is a string expression passed in `tql` to select tests included in a plan. Supported syntax includes logical operators `and`, `or`, `not`, equality operators `==` and `!=`, list membership `in [...]`, `%` for partial text match on supported text fields, and parentheses for grouping. Ordered comparisons `>`, `<`, `>=`, `<=` are for ordered fields such as `priority`, dates, and numeric counters/durations. Use quotes for string values, for example `state == 'automated'`. Plan TQL uses documented test variables: `tag`, `label`, `priority`, `issue`, `jira`, `state`, `status`, `custom_status`, `created_at`, `updated_at`, `last_run_at`, `executed_at`, `created_by`, `assigned_to`, `suite`, `test`, `shared`, `milestone`. Documented examples: `priority == 'high'`, `priority >= 'normal'`, `state == 'automated'`, `tag in ['smoke', 'stage1'] and status == 'failed'`, `suite % 'Checkout'`, `test % 'User login'`, `custom_status % 'issue'`, `created_at < 1.month_ago`, `jira in ['JST-1', 'JST-2']`, `milestone == 'Sprint 1'`. Use `tql` when you want the API to resolve matching tests automatically instead of sending explicit `test_ids`. Do not invent undocumented fields or syntax. If a query fails, simplify it to one documented predicate.

Update plan (/api/v2/{project_id}/plans/{id}). TQL (Testomat.io Query Language) is a string expression passed in `tql` to select tests included in a plan. Supported syntax includes logical operators `and`, `or`, `not`, equality operators `==` and `!=`, list membership `in [...]`, `%` for partial text match on supported text fields, and parentheses for grouping. Ordered comparisons `>`, `<`, `>=`, `<=` are for ordered fields such as `priority`, dates, and numeric counters/durations. Use quotes for string values, for example `state == 'automated'`. Plan TQL uses documented test variables: `tag`, `label`, `priority`, `issue`, `jira`, `state`, `status`, `custom_status`, `created_at`, `updated_at`, `last_run_at`, `executed_at`, `created_by`, `assigned_to`, `suite`, `test`, `shared`, `milestone`. Documented examples: `priority == 'high'`, `priority >= 'normal'`, `state == 'automated'`, `tag in ['smoke', 'stage1'] and status == 'failed'`, `suite % 'Checkout'`, `test % 'User login'`, `custom_status % 'issue'`, `created_at < 1.month_ago`, `jira in ['JST-1', 'JST-2']`, `milestone == 'Sprint 1'`. Use `tql` when you want the API to resolve matching tests automatically instead of sending explicit `test_ids`. Do not invent undocumented fields or syntax. If a query fails, simplify it to one documented predicate.

Delete plan

Search plans (delegates to plans list; docs has no dedicated search parameter)

List linked issues for a plan (/api/v2/{project_id}/issues?plan_id=...)

Link issue to a plan (/api/v2/{project_id}/issues)

Unlink issue from a plan (/api/v2/{project_id}/issues/{id})

List requirements (/api/v2/{project_id}/requirements)

Get requirement by ID

Create requirement (/api/v2/{project_id}/requirements)

Update requirement (/api/v2/{project_id}/requirements/{id})

Delete requirement (/api/v2/{project_id}/requirements/{id})

Search requirements (delegates to requirements list with filters)

概要

What is Testomatio MCP Server?

Testomatio MCP Server is a Model Context Protocol (MCP) server that integrates Testomatio's API with AI assistants like Cursor. It allows users to query and manage test projects, test runs, test plans, and automated tests through natural language conversations.

How to use Testomatio MCP Server?

Install globally via npm install -g @testomatio/mcp or run directly with npx @testomatio/mcp --token <your-token> --project <project-id>. Configuration can also be provided through environment variables (TESTOMATIO_API_TOKEN, TESTOMATIO_BASE_URL). For use with Cursor, add a JSON entry to your Cursor MCP settings specifying the command and arguments.

Key features of Testomatio MCP Server

  • MCP-compatible tool interface for AI assistants
  • Supports all major Testomatio API endpoints
  • Runs on Node.js 18 or higher
  • Configure via CLI arguments or environment variables
  • Semantic XML formatting for structured responses
  • Optional custom base URL for self-hosted instances

Use cases of Testomatio MCP Server

  • AI assistant queries test details, suites, and runs in a Testomatio project
  • Developers get test plans and automated test results without leaving the editor
  • QA engineers manage test cases through natural language in Cursor
  • Retrieve automated tests filtered by tags (e.g., @smoke)

よくある質問

1

What API token is required?

A valid Testomatio General API token starting with `testomat_`. It can be created in the user tokens page at https://app.testomat.io/account/access_tokens.

2

Where can I find my project ID?

The project ID appears in the URL when viewing your project on Testomatio: `https://app.testomat.io/projects/YOUR_PROJECT_ID`.

3

What are the runtime requirements?

Node.js 18 or higher with built-in fetch support. No additional dependencies are required.

4

How can I debug connection issues?

Set the `DEBUG=*` environment variable when starting the server to see detailed logs. Check internet connectivity, firewall rules, and token permissions.

5

Is there support for self-hosted Testomatio instances?

Yes. Use the `--base-url` flag or `TESTOMATIO_BASE_URL` environment variable to point to your custom instance.

コメント

「その他」の他のコンテンツ