Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TESTMO_URLYesThe URL of your Testmo instance (e.g., https://your-instance.testmo.net)
TESTMO_API_KEYYesYour Testmo API key from Settings → API Keys

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
testmo_list_projectsA

List all accessible Testmo projects. Returns project IDs, names, and metadata.

testmo_get_projectB

Get details of a specific Testmo project by ID.

Args: project_id: The project ID.

testmo_list_foldersB

List all folders in a Testmo project with full paths.

Args: project_id: The project ID.

testmo_get_folderB

Get details of a specific folder.

Args: project_id: The project ID. folder_id: The folder ID.

testmo_create_folderA

Create a new folder in a Testmo project.

Args: project_id: The project ID. name: Folder name. parent_id: Parent folder ID (omit for root level).

testmo_update_folderB

Update a folder's name, parent, docs, or display order.

Args: project_id: The project ID. folder_id: The folder ID to update. name: New folder name (optional). parent_id: New parent folder ID (optional). docs: Docs text for the folder (optional). display_order: Display order in UI (optional).

testmo_delete_folderA

Delete a folder from a project. WARNING: This also deletes all test cases in the folder.

Args: project_id: The project ID. folder_id: The folder ID to delete.

testmo_find_folder_by_nameA

Find a folder by its name within a project.

Args: project_id: The project ID. name: Folder name to search for. parent_id: Parent folder ID to search within (omit for root level).

testmo_list_milestonesA

List all milestones in a project (e.g., release/5.2.0).

Args: project_id: The project ID. is_completed: Filter by completion status (optional). page: Page number (default: 1). per_page: Results per page (default: 100). Valid: 25, 50, 100. expands: Related entities to include.

testmo_get_milestoneB

Get details of a specific milestone by ID.

Args: milestone_id: The milestone ID. expands: Related entities to include.

testmo_list_casesA

List test cases in a project or folder. Supports pagination.

Args: project_id: The project ID. folder_id: Filter by folder ID (optional). page: Page number (default: 1). per_page: Results per page (default: 100). Valid: 25, 50, 100.

testmo_get_all_casesB

Get all test cases in a project or folder, handling pagination automatically.

Args: project_id: The project ID. folder_id: Folder ID to get cases from (optional).

testmo_get_caseB

Get full details of a specific test case, including custom fields and Gherkin scenarios.

Args: project_id: The project ID. case_id: The test case ID.

testmo_create_caseA

Create a single test case in Testmo.

Required fields in case_data:

  • name: Test case title

  • folder_id: Target folder ID (0 for root)

  • custom_priority: Priority ID (52=Critical, 1=High, 2=Medium, 3=Low)

  • custom_type: Type ID (59=Functional, 64=Acceptance, 55=Security)

  • custom_creator: Creator ID (51=AI Generated)

Optional fields:

  • template_id: 4=BDD/Gherkin (default), 1=Steps Table

  • state_id: 1=Draft, 2=Review, 3=Approved, 4=Active, 5=Deprecated

  • tags: Array of strings

  • issues: Array of issue objects for linking

  • configurations: Platform IDs array (4=Admin Portal, 5=iOS & Android, 10=Insti Web)

  • custom_milestone_id, custom_references, custom_feature, etc.

Args: project_id: The project ID. case_data: Test case data object with required fields.

testmo_create_casesA

Create multiple test cases in a batch (max 100 per call).

Each case object MUST include these fields or the API will silently reject it:

  • name: Test case title

  • folder_id: Target folder ID (0 for root)

  • custom_priority: Priority ID (52=Critical, 1=High, 2=Medium, 3=Low)

  • custom_type: Type ID (59=Functional, 64=Acceptance, 55=Security)

  • custom_creator: Creator ID (51=AI Generated)

Optional: template_id, state_id, tags, issues, configurations, custom_feature, etc.

Args: project_id: The project ID. cases: Array of test case objects (max 100).

testmo_batch_create_casesA

Create any number of test cases, automatically handling batching (100 per request).

Each case object MUST include these fields or the API will silently reject it:

  • name: Test case title

  • folder_id: Target folder ID (0 for root)

  • custom_priority: Priority ID (52=Critical, 1=High, 2=Medium, 3=Low)

  • custom_type: Type ID (59=Functional, 64=Acceptance, 55=Security)

  • custom_creator: Creator ID (51=AI Generated)

Optional: template_id, state_id, tags, issues, configurations, custom_feature, etc.

Args: project_id: The project ID. cases: Array of test case objects (unlimited, auto-batched).

testmo_update_caseA

Update an existing test case. Only include fields you want to change.

Issue Linking: Use issues array with objects like {"display_id": "PROJ-123", "integration_id": 1, "connection_project_id": "org/repo"}. Use testmo_list_issue_connections to discover integration_id values.

Args: project_id: The project ID. case_id: The test case ID to update. data: Fields to update.

testmo_batch_update_casesA

Bulk update up to 100 test cases with the same field values (PATCH).

Useful for moving cases to a folder, updating priority/state in bulk, linking automation sources, or adding tags/issues to multiple cases.

Args: project_id: The project ID. ids: Array of case IDs to update (max 100). folder_id: Target folder ID. state_id: State ID (1=Draft, 2=Review, 3=Approved, 4=Active, 5=Deprecated). status_id: Status ID. estimate: Estimated execution duration. custom_priority: Priority ID (52=Critical, 1=High, 2=Medium, 3=Low). automation_links: Automation links (automation_source_id, automation_case_id, name). tags: Tags to apply. issues: Issue links (display_id, integration_id, connection_project_id).

testmo_delete_caseC

Delete a test case.

Args: project_id: The project ID. case_id: The test case ID to delete.

testmo_batch_delete_casesA

Delete multiple test cases (max 100 per call).

Args: project_id: The project ID. case_ids: Array of test case IDs to delete (max 100).

testmo_search_casesA

Search for test cases with filters (query, folder, tags, state).

Args: project_id: The project ID. query: Search query (searches name and description). folder_id: Filter by folder ID. tags: Filter by tags. state_id: Filter by state (1=Draft, 2=Review, 3=Approved, 4=Active, 5=Deprecated). page: Page number (default: 1). per_page: Results per page (default: 100). Valid: 25, 50, 100.

testmo_list_runsA

List test runs in a project.

Args: project_id: The project ID. page: Page number (default: 1). per_page: Results per page (default: 100). Valid: 25, 50, 100. is_closed: Filter by closed status. milestone_id: Comma-separated milestone IDs to filter by. expands: Related entities to include.

testmo_get_runB

Get details of a specific test run.

Args: run_id: The test run ID. expands: Related entities to include.

testmo_list_run_resultsA

List test results for a run with optional filters.

Args: run_id: The test run ID. status_id: Comma-separated status IDs (1=Untested, 2=Passed, 3=Failed, 4=Retest, 5=Blocked, 6=Skipped). assignee_id: Comma-separated assignee IDs. created_by: Comma-separated user IDs who created results. created_after: Filter results created after (ISO8601 format). created_before: Filter results created before (ISO8601 format). get_latest_result: If true, return only the latest result per test. page: Page number (default: 1). per_page: Results per page (default: 100). Valid: 25, 50, 100. expands: Related entities to include.

testmo_list_case_attachmentsA

List all attachments for a test case.

Args: case_id: The test case ID. page: Page number (default: 1). per_page: Results per page (default: 100). Valid: 25, 50, 100. expands: Related entities to include.

testmo_upload_case_attachmentA

Upload a single file attachment to a test case. Large images are auto-compressed.

IMPORTANT: file_path must be an absolute path to a file saved on disk (e.g. /Users/jan/Desktop/screenshot.png). Pasted images or image data from the conversation cannot be uploaded — the user must save the file first and provide its path. If no path is provided or the user has not saved the file yet, ask them to save it and share the full file path.

Args: case_id: The test case ID. file_path: Absolute path to the local file to upload (e.g. /Users/jan/Desktop/screenshot.png).

testmo_upload_case_attachmentsA

Upload up to 20 file attachments to a test case in one request. Large images are auto-compressed.

IMPORTANT: Each path must be an absolute path to a file saved on disk. Pasted images or image data from the conversation cannot be uploaded — the user must save the files first. If no paths are provided, ask the user to save the files and share their full paths.

Args: case_id: The test case ID. file_paths: List of absolute paths to local files to upload (max 20).

testmo_delete_case_attachmentsC

Delete one or more attachments from a test case.

Args: case_id: The test case ID. attachment_ids: Array of attachment IDs to delete.

testmo_list_automation_sourcesA

List automation sources in a project (CI/CD integrations).

Args: project_id: The project ID. is_retired: Filter by retired status (optional). page: Page number (default: 1). per_page: Results per page (default: 100). Valid: 25, 50, 100. expands: Related entities to include.

testmo_get_automation_sourceB

Get details of a specific automation source.

Args: automation_source_id: The automation source ID. expands: Related entities to include.

testmo_list_automation_runsA

List automation runs in a project with optional filters.

Args: project_id: The project ID. source_id: Comma-separated automation source IDs to filter by. milestone_id: Comma-separated milestone IDs to filter by. status: Comma-separated status values (2=Success, 3=Failure, 4=Running). created_after: Filter runs created after (ISO8601 format). created_before: Filter runs created before (ISO8601 format). tags: Comma-separated tags to filter by. page: Page number (default: 1). per_page: Results per page (default: 100). Valid: 25, 50, 100. expands: Related entities to include.

testmo_get_automation_runC

Get details of a specific automation run.

Args: automation_run_id: The automation run ID. expands: Related entities to include.

testmo_create_automation_runA

Create a new automation run in a project.

The source name identifies the CI/CD integration (e.g., 'frontend', 'backend'). If the source doesn't exist, Testmo auto-creates it.

Args: project_id: The target project ID. name: Name of the automation run. source: Automation source name (auto-created if new). config: Configuration name (optional). config_id: Configuration ID (takes precedence over config). milestone: Milestone name (optional). milestone_id: Milestone ID (takes precedence over milestone). tags: Tags for the run (matching automation tags on milestones auto-link the run). artifacts: External test artifacts [{name, url, mime_type?, size?}]. fields: Custom fields [{name, type, value}]. links: Links [{name, url}] (e.g., back to CI build).

testmo_append_automation_runA

Append test artifacts, fields, or links to an existing automation run.

Args: automation_run_id: The automation run ID. artifacts: External test artifacts to append. fields: Custom fields to append. links: Links to append.

testmo_complete_automation_runA

Mark an automation run as completed.

Args: automation_run_id: The automation run ID to complete. measure_elapsed: Auto-set execution time from creation to completion.

testmo_create_automation_run_threadA

Create a new thread in an automation run for submitting test results.

Threads represent parallel test execution lanes. After creating, use testmo_append_automation_run_thread to submit test results.

Args: automation_run_id: The automation run ID. elapsed_observed: Observed execution time in microseconds. elapsed_computed: Computed execution time in microseconds. artifacts: External test artifacts for the thread. fields: Custom fields for the thread.

testmo_append_automation_run_threadB

Append test results, artifacts, or fields to an automation run thread.

Each test in the 'tests' array: {key, name, folder, status, elapsed, file, line, assertions, artifacts, fields}. Status values: 'passed', 'failed', 'skipped', etc.

Args: thread_id: The automation run thread ID. elapsed_observed: Partial observed time in microseconds to add. elapsed_computed: Partial computed time in microseconds to add. artifacts: External test artifacts to append. fields: Custom fields to append. tests: Test results to submit [{name, status, ...}].

testmo_complete_automation_run_threadB

Mark an automation run thread as completed.

Args: thread_id: The automation run thread ID to complete. elapsed_observed: Observed execution time in microseconds. elapsed_computed: Computed execution time in microseconds.

testmo_list_issue_connectionsA

List available issue integrations (GitHub, Jira, Azure DevOps, etc.).

Discover configured issue tracker integrations. Returns integration_id and connection_project_id needed for linking issues to test cases.

Args: project_id: Filter by project ID (optional). integration_type: Filter by type (e.g., 'github', 'jira', 'azure_devops'). is_active: Filter by active status (optional). page: Page number (default: 1). per_page: Results per page (default: 100). Valid: 25, 50, 100. expands: Related entities to include.

testmo_get_issue_connectionC

Get details of a specific issue connection.

Args: connection_id: The issue connection ID. expands: Related entities to include.

testmo_get_folders_recursiveA

Get a folder and all descendant subfolders as a nested tree in a single call.

Args: project_id: The project ID. folder_id: The root folder ID to start recursion from.

testmo_get_cases_recursiveA

Get all test cases from a folder and all subfolders in a single call.

Returns a flat list of cases annotated with folder name/path, plus per-folder counts.

Args: project_id: The project ID. folder_id: The root folder ID to collect cases from recursively. include_folder_path: Include folder path on each case (default: true).

testmo_search_cases_recursiveA

Search test cases recursively within a folder subtree or project-wide.

Supports API-level filters (query, tags, state_id) plus client-side filters:

  • custom_filters: match case properties (exact or contains mode)

  • array_filters: match cases where array fields contain ANY of given values

  • issue_key: match cases linked to a specific issue (e.g., Jira key)

Args: project_id: The project ID. folder_id: Root folder to search within (omit for project-wide search). query: Search query (searches name and description). tags: Filter by tags (API-level). state_id: Filter by state (1=Draft, 2=Review, 3=Approved, 4=Active, 5=Deprecated). custom_filters: Key-value pairs to match on case properties. match_mode: 'exact' or 'contains' for string values in custom_filters. array_filters: Key-value pairs where value is list, matches if ANY value present. issue_key: Match cases linked to this issue (checks issues[].display_id).

testmo_get_field_mappingsA

Get the field value mappings for this Testmo instance.

Returns mappings for: custom_priority, custom_type, configurations, state_id, result_status_id, automation_run_status, tags, and defaults. Use this to look up correct numeric IDs before creating/updating test cases.

testmo_get_web_urlB

Generate a web URL for viewing a resource in Testmo.

Args: project_id: The project ID. resource_type: Type of resource (repositories, runs). resource_id: Resource ID (e.g., folder ID).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/strelec00/testmo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server