Skip to content

Create full share functionality as it exist already on prod - inside MCP #1647

Description

@ovysotska-playson

Is your feature request related to a problem? Please describe.

Testomat.io already supports Share tests / suites / folders to other projects in the product UI (including bulk share, target project selection, and destination such as project root).

@testomatio/mcp currently exposes CRUD for tests, suites, labels, etc., but has no share/unlink-share tools.

As a result, an agent can:

  • find and filter cases (e.g. label == 'pre-cert')
  • list IDs and suites

…but cannot complete the workflow of sharing those items into another project. The user must leave the AI session and finish the action manually in the UI.

Real workflow blocked today:

  1. Source project: game-qa-stream
  2. Filter: label pre-cert (58 tests)
  3. Share to project: Sugar king
  4. Destination: root of project

Steps 1–2 work via MCP; steps 3–4 are impossible via MCP.


Describe the solution you'd like

Add full Share functionality to MCP, aligned with production UI behavior.

Proposed tools

Tool Purpose
tests_share Share one or many tests to a target project
suites_share Share suite(s) / folder(s) to a target project
share_unlink (or {entity}_share_unlink) Unlink shared item in target project
Optional: share_status / include share metadata in *_get / *_list Show where an item is already shared

Required parameters (aligned with UI)

  • ids — test / suite / folder IDs (single + bulk)
  • target_project_id — destination project (e.g. Sugar king)
  • destination — where to place in target project:
    • root (default for bulk suite/folder share, as in UI)
    • or parent_suite_id / folder id when sharing into a specific place
  • Optional: target_project_ids[] for multi-project share (Bulk selection tab in UI)

Expected behavior (parity with prod)

  • Shared items keep single source of truth in the source project
  • In target projects items are read-only until unlinked
  • Re-share to additional projects without duplicates
  • Only same project type can share (Classic ↔ Classic, BDD ↔ BDD)
  • Suites/folders shared in bulk land in Root by default unless destination is specified
  • Respect project sharing permissions (Owners/Managers vs all users setting)
  • Clear MCP errors when:
    • target project not found / no access
    • incompatible project type
    • item already shared / re-share rules
    • permission denied

Example agent calls

{
  "name": "tests_share",
  "arguments": {
    "ids": ["be779025", "sgqat108", "sgqat104"],
    "target_project_id": "<sugar-king-project-id>",
    "destination": "root"
  }
}
{
  "name": "suites_share",
  "arguments": {
    "ids": ["e73d559c"],
    "target_project_id": "<sugar-king-project-id>",
    "destination": "root"
  }
}

Agent-friendly extras

  • Document share tools in MCP tool descriptions (like TQL docs today)
  • Return structured result: shared ids, target project, destination, skipped/already-shared, errors per item
  • Prefer bulk share in one call (avoid N round-trips for 50+ tests)

Describe alternatives you've considered

  1. Manual UI share after MCP filter — works, but breaks end-to-end agent workflows and is error-prone for large selections (50+ cases).
  2. Recreate tests in the target project via tests_create — not true Share: duplicates data, no sync/source-of-truth, worse maintenance.
  3. Multiple MCP servers (one per project) + copy fields — still not Share semantics; no link/unlink, no sync behavior.
  4. Ask users to share whole parent suites — may overshare tests without the intended label filter.

None of these replace first-class Share API exposure in MCP.


Additional context

  • Product docs: Sharing Tests, Suites, and Folders
  • Current MCP package: @testomatio/mcp (Public API v2 tools; no share endpoints exposed)
  • Typical team setup: one “source” project MCP + many game projects that receive shared cases
  • High-value use cases:
    • Share by label (e.g. pre-cert) into a new game project root
    • Share reusable suites (Localisation / Reconnects / Hand History) across games
    • Bulk re-share when onboarding a new project

Acceptance criteria

  • Can share one test to another project via MCP
  • Can bulk-share multiple tests in one call
  • Can share suite/folder to target project root
  • Can choose destination (root or specific parent)
  • Can unlink share via MCP
  • Errors are actionable and match UI permission/type rules
  • Tool docs include parameters + examples for agents
  • Behavior matches production Share (no silent duplicates / wrong destination)

Out of scope (unless already available in API)

  • Changing Share permission settings of a project via MCP
  • Cross-type sharing (Classic ↔ BDD)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementnew feature request, improvement, enhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions