AI-native MCP server connecting Claude, Cursor, Windsurf, and other AI assistants to TestRail — manage test cases, runs, and results through natural-language conversation, with typed schemas built for LLMs.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add testrail --env TESTRAIL_INSTANCE_URL='<TESTRAIL_INSTANCE_URL>' --env TESTRAIL_USERNAME='<TESTRAIL_USERNAME>' --env TESTRAIL_API_KEY='<TESTRAIL_API_KEY>' -- npx -y @uarlouski/testrail-mcp-server~/.codex/config.toml
[mcp_servers.testrail]
command = "npx"
args = ["-y", "@uarlouski/testrail-mcp-server"]
env = { TESTRAIL_INSTANCE_URL = "<TESTRAIL_INSTANCE_URL>", TESTRAIL_USERNAME = "<TESTRAIL_USERNAME>", TESTRAIL_API_KEY = "<TESTRAIL_API_KEY>" }
# codex mcp add testrail --env TESTRAIL_INSTANCE_URL='<TESTRAIL_INSTANCE_URL>' --env TESTRAIL_USERNAME='<TESTRAIL_USERNAME>' --env TESTRAIL_API_KEY='<TESTRAIL_API_KEY>' -- npx -y @uarlouski/testrail-mcp-server~/.cursor/mcp.json
{
"mcpServers": {
"testrail": {
"command": "npx",
"args": [
"-y",
"@uarlouski/testrail-mcp-server"
],
"env": {
"TESTRAIL_INSTANCE_URL": "<TESTRAIL_INSTANCE_URL>",
"TESTRAIL_USERNAME": "<TESTRAIL_USERNAME>",
"TESTRAIL_API_KEY": "<TESTRAIL_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"testrail": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@uarlouski/testrail-mcp-server"
],
"env": {
"TESTRAIL_INSTANCE_URL": "<TESTRAIL_INSTANCE_URL>",
"TESTRAIL_USERNAME": "<TESTRAIL_USERNAME>",
"TESTRAIL_API_KEY": "<TESTRAIL_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"testrail": {
"command": "npx",
"args": [
"-y",
"@uarlouski/testrail-mcp-server"
],
"env": {
"TESTRAIL_INSTANCE_URL": "<TESTRAIL_INSTANCE_URL>",
"TESTRAIL_USERNAME": "<TESTRAIL_USERNAME>",
"TESTRAIL_API_KEY": "<TESTRAIL_API_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"testrail": {
"command": "npx",
"args": [
"-y",
"@uarlouski/testrail-mcp-server"
],
"env": {
"TESTRAIL_INSTANCE_URL": "<TESTRAIL_INSTANCE_URL>",
"TESTRAIL_USERNAME": "<TESTRAIL_USERNAME>",
"TESTRAIL_API_KEY": "<TESTRAIL_API_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"testrail": {
"command": "npx",
"args": [
"-y",
"@uarlouski/testrail-mcp-server"
],
"env": {
"TESTRAIL_INSTANCE_URL": "<TESTRAIL_INSTANCE_URL>",
"TESTRAIL_USERNAME": "<TESTRAIL_USERNAME>",
"TESTRAIL_API_KEY": "<TESTRAIL_API_KEY>"
}
}
}
}Environment variables
TESTRAIL_INSTANCE_URLTESTRAIL_USERNAMETESTRAIL_API_KEY
Replace the placeholders with your own credentials and keep them out of version control.