testmo-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@testmo-mcpGive me a summary of the latest test run"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
testmo-mcp
A Model Context Protocol (MCP) server that provides seamless integration with the Testmo test management platform. This server enables AI assistants to interact directly with your Testmo instance for test case management.
A small local MCP server that exposes Testmo's REST API as tools, so an MCP client (Claude Desktop, Claude Code, etc.) can read your projects/runs/results and create or update runs, results and test cases — without any hosting and without pasting data back and forth.
It runs on your machine and talks to your Testmo instance over HTTPS using an API token you supply via environment variables. The token is never written to disk by the server.
Tools
Read
Tool | What it does |
| List all projects |
| List manual runs in a project (name/closed/milestone filters, pagination) |
| One run's summary (status counts, totals) |
| Recorded results for a run |
| Result status IDs for a project (Passed/Failed/…) |
| Workflow state IDs (run/case/session) — for |
| Case template IDs — for |
| List repository cases (folder/name/template filters) |
| Raw GET against any |
Write (create/update — no delete)
Tool | What it does |
| Record a result for one test |
| Record results for 1–100 tests in one request |
| Create a manual run ( |
| Update a run; set |
| Create 1–100 repository cases (steps go in |
| Update 1–100 cases by |
There is intentionally no delete tool — destructive operations are left out so the server can't remove data.
Related MCP server: TestOps MCP Server
Requirements
Node.js 18+ (
node --version)A Testmo instance and an API access key (Testmo → User Profile → API access)
Installation
# 1. Clone the repo
git clone https://github.com/<your-account>/testmo-mcp.git
cd testmo-mcp
# 2. Install dependencies
npm install
# 3. (Optional) verify it starts — Ctrl+C to exit
TESTMO_INSTANCE=https://your-team.testmo.net TESTMO_TOKEN=your-testmo-api-key node index.js
# → prints: [testmo-mcp] ready on stdioThen wire it into your MCP client (below). You don't run the server yourself in normal use — the client launches it for you.
Configure your MCP client
Set the environment variables (see .env.example) and point your client at
index.js. For Claude Desktop, edit
claude_desktop_config.json (macOS:
~/Library/Application Support/Claude/) and add:
{
"mcpServers": {
"testmo": {
"command": "/absolute/path/to/node",
"args": ["/absolute/path/to/testmo-mcp/index.js"],
"env": {
"TESTMO_INSTANCE": "https://your-team.testmo.net",
"TESTMO_TOKEN": "your-testmo-api-key"
}
}
}
}Tips:
Use the absolute path to
node(runwhich node). GUI apps often launch with a minimalPATHand can't find a barenode.Fully quit and reopen the client so it re-spawns the server.
Environment variables
Var | Required | Purpose |
| yes | Your Testmo URL, e.g. |
| yes | API access key (Testmo → User Profile → API access) |
| no | Default folder for new cases so Testmo doesn't auto-create one each time |
Notes & gotchas
This is a local server. It only works where it runs. A client session that executes in the cloud (not on your machine) can't see it — use it from a local session.
Testmo has no single "list every test with its name in a run" endpoint.
testmo_list_resultsreturns tests that have a recorded result, and thetest_idit returns is therun_test_idyou pass totestmo_record_result.Linking issue-tracker tickets. Use the
issuesparam ontestmo_create_cases/testmo_update_cases. Each item needsdisplay_id(the ticket ID) andintegration_id(your Testmo issue integration). Testmo's API doesn't list integration IDs, and it can write linked issues but not read them back. To find yourintegration_id: check the integration in Testmo's admin area, or create a throwaway case withissues:[{display_id:"<id>", integration_id:<n>}]and read the error — Testmo tells you if an integration ID "does not exist" or "is not associated with this project," so you can find the right one, then delete the throwaway.New cases default to
TESTMO_DEFAULT_FOLDER_ID(when set); otherwise Testmo auto-creates a folder per create.
Security
The token is read from the environment only; it is never written to any file by this server.
.gitignorecovers.env,node_modules/, and logs.Whoever configures the client stores the token in that client's config — keep it private and prefer OS secret storage where available. Rotate the key if it is ever exposed.
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceMCP server for TestRail that enables AI assistants to interact with TestRail's test management platform. It can query and manage projects, test cases, runs, results, plans, milestones, and more.MIT
- AlicenseBqualityAmaintenanceEnables AI assistants to interact with TestOps 5.25 for managing projects, test runs, test plans, and test cases via MCP tools.3113MIT
- AlicenseAqualityCmaintenanceAn MCP server that connects AI agents to TestOps, enabling test case management, launches, defects, and analytics through natural language.4853MIT
- Alicense-qualityDmaintenanceAn MCP server that connects AI assistants to Xray Cloud for Jira test management, enabling natural language interaction with tests, test plans, executions, and CI result imports.MIT
Related MCP Connectors
Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for AI dialogue using various LLM models via AceDataCloud
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/PeterAbah1819/testmo-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server