Lets coding agents create and run end-to-end tests against code changes in remote browsers on the Debugg AI platform.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add debugg-ai --env DEBUGGAI_API_KEY='<DEBUGGAI_API_KEY>' --env DEBUGGAI_LOCAL_PORT='<DEBUGGAI_LOCAL_PORT>' --env TEST_USERNAME_EMAIL='<TEST_USERNAME_EMAIL>' --env TEST_USER_PASSWORD='<TEST_USER_PASSWORD>' --env MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS='<MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS>' --env DEBUGGAI_LOCAL_REPO_NAME='<DEBUGGAI_LOCAL_REPO_NAME>' --env DEBUGGAI_LOCAL_BRANCH_NAME='<DEBUGGAI_LOCAL_BRANCH_NAME>' --env DEBUGGAI_LOCAL_REPO_PATH='<DEBUGGAI_LOCAL_REPO_PATH>' --env DEBUGGAI_LOCAL_FILE_PATH='<DEBUGGAI_LOCAL_FILE_PATH>' -- npx -y @debugg-ai/debugg-ai-mcp~/.codex/config.toml
[mcp_servers.debugg-ai]
command = "npx"
args = ["-y", "@debugg-ai/debugg-ai-mcp"]
env = { DEBUGGAI_API_KEY = "<DEBUGGAI_API_KEY>", DEBUGGAI_LOCAL_PORT = "<DEBUGGAI_LOCAL_PORT>", TEST_USERNAME_EMAIL = "<TEST_USERNAME_EMAIL>", TEST_USER_PASSWORD = "<TEST_USER_PASSWORD>", MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS = "<MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS>", DEBUGGAI_LOCAL_REPO_NAME = "<DEBUGGAI_LOCAL_REPO_NAME>", DEBUGGAI_LOCAL_BRANCH_NAME = "<DEBUGGAI_LOCAL_BRANCH_NAME>", DEBUGGAI_LOCAL_REPO_PATH = "<DEBUGGAI_LOCAL_REPO_PATH>", DEBUGGAI_LOCAL_FILE_PATH = "<DEBUGGAI_LOCAL_FILE_PATH>" }
# codex mcp add debugg-ai --env DEBUGGAI_API_KEY='<DEBUGGAI_API_KEY>' --env DEBUGGAI_LOCAL_PORT='<DEBUGGAI_LOCAL_PORT>' --env TEST_USERNAME_EMAIL='<TEST_USERNAME_EMAIL>' --env TEST_USER_PASSWORD='<TEST_USER_PASSWORD>' --env MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS='<MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS>' --env DEBUGGAI_LOCAL_REPO_NAME='<DEBUGGAI_LOCAL_REPO_NAME>' --env DEBUGGAI_LOCAL_BRANCH_NAME='<DEBUGGAI_LOCAL_BRANCH_NAME>' --env DEBUGGAI_LOCAL_REPO_PATH='<DEBUGGAI_LOCAL_REPO_PATH>' --env DEBUGGAI_LOCAL_FILE_PATH='<DEBUGGAI_LOCAL_FILE_PATH>' -- npx -y @debugg-ai/debugg-ai-mcp~/.cursor/mcp.json
{
"mcpServers": {
"debugg-ai": {
"command": "npx",
"args": [
"-y",
"@debugg-ai/debugg-ai-mcp"
],
"env": {
"DEBUGGAI_API_KEY": "<DEBUGGAI_API_KEY>",
"DEBUGGAI_LOCAL_PORT": "<DEBUGGAI_LOCAL_PORT>",
"TEST_USERNAME_EMAIL": "<TEST_USERNAME_EMAIL>",
"TEST_USER_PASSWORD": "<TEST_USER_PASSWORD>",
"MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS": "<MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS>",
"DEBUGGAI_LOCAL_REPO_NAME": "<DEBUGGAI_LOCAL_REPO_NAME>",
"DEBUGGAI_LOCAL_BRANCH_NAME": "<DEBUGGAI_LOCAL_BRANCH_NAME>",
"DEBUGGAI_LOCAL_REPO_PATH": "<DEBUGGAI_LOCAL_REPO_PATH>",
"DEBUGGAI_LOCAL_FILE_PATH": "<DEBUGGAI_LOCAL_FILE_PATH>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"debugg-ai": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@debugg-ai/debugg-ai-mcp"
],
"env": {
"DEBUGGAI_API_KEY": "<DEBUGGAI_API_KEY>",
"DEBUGGAI_LOCAL_PORT": "<DEBUGGAI_LOCAL_PORT>",
"TEST_USERNAME_EMAIL": "<TEST_USERNAME_EMAIL>",
"TEST_USER_PASSWORD": "<TEST_USER_PASSWORD>",
"MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS": "<MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS>",
"DEBUGGAI_LOCAL_REPO_NAME": "<DEBUGGAI_LOCAL_REPO_NAME>",
"DEBUGGAI_LOCAL_BRANCH_NAME": "<DEBUGGAI_LOCAL_BRANCH_NAME>",
"DEBUGGAI_LOCAL_REPO_PATH": "<DEBUGGAI_LOCAL_REPO_PATH>",
"DEBUGGAI_LOCAL_FILE_PATH": "<DEBUGGAI_LOCAL_FILE_PATH>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"debugg-ai": {
"command": "npx",
"args": [
"-y",
"@debugg-ai/debugg-ai-mcp"
],
"env": {
"DEBUGGAI_API_KEY": "<DEBUGGAI_API_KEY>",
"DEBUGGAI_LOCAL_PORT": "<DEBUGGAI_LOCAL_PORT>",
"TEST_USERNAME_EMAIL": "<TEST_USERNAME_EMAIL>",
"TEST_USER_PASSWORD": "<TEST_USER_PASSWORD>",
"MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS": "<MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS>",
"DEBUGGAI_LOCAL_REPO_NAME": "<DEBUGGAI_LOCAL_REPO_NAME>",
"DEBUGGAI_LOCAL_BRANCH_NAME": "<DEBUGGAI_LOCAL_BRANCH_NAME>",
"DEBUGGAI_LOCAL_REPO_PATH": "<DEBUGGAI_LOCAL_REPO_PATH>",
"DEBUGGAI_LOCAL_FILE_PATH": "<DEBUGGAI_LOCAL_FILE_PATH>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"debugg-ai": {
"command": "npx",
"args": [
"-y",
"@debugg-ai/debugg-ai-mcp"
],
"env": {
"DEBUGGAI_API_KEY": "<DEBUGGAI_API_KEY>",
"DEBUGGAI_LOCAL_PORT": "<DEBUGGAI_LOCAL_PORT>",
"TEST_USERNAME_EMAIL": "<TEST_USERNAME_EMAIL>",
"TEST_USER_PASSWORD": "<TEST_USER_PASSWORD>",
"MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS": "<MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS>",
"DEBUGGAI_LOCAL_REPO_NAME": "<DEBUGGAI_LOCAL_REPO_NAME>",
"DEBUGGAI_LOCAL_BRANCH_NAME": "<DEBUGGAI_LOCAL_BRANCH_NAME>",
"DEBUGGAI_LOCAL_REPO_PATH": "<DEBUGGAI_LOCAL_REPO_PATH>",
"DEBUGGAI_LOCAL_FILE_PATH": "<DEBUGGAI_LOCAL_FILE_PATH>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"debugg-ai": {
"command": "npx",
"args": [
"-y",
"@debugg-ai/debugg-ai-mcp"
],
"env": {
"DEBUGGAI_API_KEY": "<DEBUGGAI_API_KEY>",
"DEBUGGAI_LOCAL_PORT": "<DEBUGGAI_LOCAL_PORT>",
"TEST_USERNAME_EMAIL": "<TEST_USERNAME_EMAIL>",
"TEST_USER_PASSWORD": "<TEST_USER_PASSWORD>",
"MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS": "<MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS>",
"DEBUGGAI_LOCAL_REPO_NAME": "<DEBUGGAI_LOCAL_REPO_NAME>",
"DEBUGGAI_LOCAL_BRANCH_NAME": "<DEBUGGAI_LOCAL_BRANCH_NAME>",
"DEBUGGAI_LOCAL_REPO_PATH": "<DEBUGGAI_LOCAL_REPO_PATH>",
"DEBUGGAI_LOCAL_FILE_PATH": "<DEBUGGAI_LOCAL_FILE_PATH>"
}
}
}
}Environment variables
DEBUGGAI_API_KEYDEBUGGAI_LOCAL_PORTTEST_USERNAME_EMAILTEST_USER_PASSWORDMCP_REQUEST_TIMEOUT_RESET_ON_PROGRESSDEBUGGAI_LOCAL_REPO_NAMEDEBUGGAI_LOCAL_BRANCH_NAMEDEBUGGAI_LOCAL_REPO_PATHDEBUGGAI_LOCAL_FILE_PATH
Replace the placeholders with your own credentials and keep them out of version control.