testmo-mcp
Connect Claude, Cursor, and other AI assistants to your Testmo test management instance to manage test cases, folders, runs, milestones, and CI/CD automation.
README
Testmo MCP Server
A Python Model Context Protocol (MCP) server for Testmo โ bring AI-assisted test management to Claude Desktop, Cursor, and any MCP-compatible client.
Testmo MCP is an open-source MCP server that connects AI assistants like Claude Desktop, Claude Code, and Cursor directly to your Testmo test management instance. Manage test cases, folders, milestones, runs, attachments, and CI/CD automation sources โ all through natural language, without leaving your AI client.
Built for QA engineers, SDETs, and developers who use Testmo and want to stop clicking through the UI for repetitive work. Powered by FastMCP and the Testmo REST API.
โจ Features
- ๐งช Full test case management โ create, read, update, delete, search, and bulk-operate on Testmo cases
- ๐ Folder operations โ create, rename, move, delete, and traverse folder trees recursively
- ๐ Bulk & batch operations โ create or update up to 100 cases per call, or unlimited with auto-batching
- ๐ Test runs & results โ list runs, fetch run details, and filter run results
- ๐ฏ Milestones โ list and inspect milestones across projects
- ๐ Attachments โ upload, list, and delete file attachments on test cases
- ๐ค CI/CD automation sources โ manage automation runs, parallel threads, and result submission
- ๐ Issue integrations โ list GitHub, Jira, and other issue connections
- ๐ณ Recursive helpers โ fetch entire folder subtrees of cases in one call
- ๐ ๏ธ Field mapping utilities โ resolve priority, type, and state IDs without guessing
- ๐ค Works with any MCP client โ Claude Desktop, Claude Code, Cursor, Cline, and more
๐ Quick start
Prerequisites
- Python 3.11 or newer
uvpackage manager- A Testmo instance and API key (Settings โ API Keys in Testmo)
- An MCP-compatible client (Claude Desktop, Cursor, etc.)
Installation
git clone https://github.com/strelec00/testmo-mcp.git
cd testmo-mcp
uv sync
Connect to Claude Desktop
Edit your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"testmo": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/testmo-mcp",
"run",
"testmo-mcp.py"
],
"env": {
"TESTMO_URL": "https://your-instance.testmo.net",
"TESTMO_API_KEY": "your-api-key"
}
}
}
}
Restart Claude Desktop. The Testmo tools will appear in the MCP tools list.
Connect to Cursor
Open Cursor Settings โ MCP (or edit ~/.cursor/mcp.json) and use the same JSON snippet.
Dev / testing mode
uv run mcp dev testmo-mcp.py
๐ฌ Example prompts
Once connected, try asking your AI assistant:
- "List all projects in Testmo and show me the one called Certilligent."
- "Create 20 login test cases covering valid credentials, wrong password, locked account, expired session, and 2FA flows."
- "Find the 'Smoke Tests' folder and list every high-priority case inside it recursively."
- "Bulk update all draft cases in folder 42 to set their priority to high."
- "Show me the latest automation run for the Playwright source and append a new thread of results."
- "Upload this screenshot as an attachment to test case 1234."
๐ง Why use Testmo with MCP?
Traditional Testmo workflows require navigating the UI for every test case, every folder, every bulk update. With Testmo MCP, your AI assistant becomes a QA co-pilot:
- Spin up entire test suites from a feature spec or PRD in seconds
- Refactor folder structures conversationally instead of click-by-click
- Keep Testmo in sync with your codebase without context-switching
- Pair with Claude Code for end-to-end QA automation: generate Playwright tests and register them in Testmo
- Wire CI/CD automation runs straight from your terminal session
๐ง Available tools
Projects
| Tool | Description |
|---|---|
testmo_list_projects |
List all projects |
testmo_get_project |
Get project details |
Folders
| Tool | Description |
|---|---|
testmo_list_folders |
List all folders in a project with full paths |
testmo_get_folder |
Get details of a specific folder |
testmo_create_folder |
Create a new folder (optionally nested under parent) |
testmo_update_folder |
Update folder name, parent, docs, or display order |
testmo_delete_folder |
Delete a folder and all its test cases |
testmo_find_folder_by_name |
Find a folder by name within a project |
Milestones
| Tool | Description |
|---|---|
testmo_list_milestones |
List milestones |
testmo_get_milestone |
Get milestone details |
Test cases
| Tool | Description |
|---|---|
testmo_list_cases |
List cases (paginated) |
testmo_get_all_cases |
Get all cases (auto-pagination) |
testmo_get_case |
Get single case details |
testmo_create_case |
Create one case |
testmo_create_cases |
Create up to 100 cases |
testmo_batch_create_cases |
Create unlimited cases (auto-batched) |
testmo_update_case |
Update one case |
testmo_batch_update_cases |
Bulk update up to 100 cases |
testmo_delete_case |
Delete one case |
testmo_batch_delete_cases |
Delete multiple cases (auto-batched) |
testmo_search_cases |
Search cases with filters |
Test runs
| Tool | Description |
|---|---|
testmo_list_runs |
List test runs |
testmo_get_run |
Get run details |
testmo_list_run_results |
List run results with filters |
Attachments
| Tool | Description |
|---|---|
testmo_list_case_attachments |
List attachments on a test case |
testmo_upload_case_attachment |
Upload a single file (auto-compress) |
testmo_upload_case_attachments |
Upload up to 20 files at once |
testmo_delete_case_attachments |
Delete one or more attachments |
Automation (CI/CD)
| Tool | Description |
|---|---|
testmo_list_automation_sources |
List CI/CD sources |
testmo_get_automation_source |
Get source details |
testmo_list_automation_runs |
List automation runs |
testmo_get_automation_run |
Get automation run details |
testmo_create_automation_run |
Create automation run |
testmo_append_automation_run |
Append artifacts/fields/links |
testmo_complete_automation_run |
Complete automation run |
testmo_create_automation_run_thread |
Create parallel thread |
testmo_append_automation_run_thread |
Submit test results to thread |
testmo_complete_automation_run_thread |
Complete thread |
Issue connections
| Tool | Description |
|---|---|
testmo_list_issue_connections |
List integrations (GitHub, Jira, etc.) |
testmo_get_issue_connection |
Get integration details |
Recursive / composite
| Tool | Description |
|---|---|
testmo_get_folders_recursive |
Get full folder tree from a root |
testmo_get_cases_recursive |
Get all cases across a folder subtree |
testmo_search_cases_recursive |
Search cases within a folder subtree |
Utility
| Tool | Description |
|---|---|
testmo_get_field_mappings |
Get field value IDs (priorities, types, states) |
testmo_get_web_url |
Generate a Testmo web URL for any resource |
๐ ๏ธ Troubleshooting
"Tool not found" in Claude Desktop
Use an absolute path in args and fully restart Claude Desktop after editing the config.
401 Unauthorized
Double-check TESTMO_API_KEY and that the key has API access enabled in Testmo under Settings โ API Keys.
uv: command not found
Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh
๐ค Contributing
PRs welcome. Open an issue first for larger changes.
๐ License
MIT
๐ Related projects
- Testmo โ unified test management for software teams
- Model Context Protocol โ open standard for AI tool integrations
- FastMCP โ Pythonic framework for building MCP servers
- Claude Desktop โ Anthropic's desktop client with MCP support
Keywords: testmo mcp, testmo claude, testmo ai integration, mcp server testmo, model context protocol testmo, testmo python, testmo api client, fastmcp testmo, ai test management, qa automation claude, testmo cursor, testmo automation api, testmo bulk create cases, anthropic mcp servers
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.