Skip to content

Connect AI tools directly to Perfecto's cloud-based testing platform.

License

Notifications You must be signed in to change notification settings

PerfectoCode/perfecto-mcp

Repository files navigation

GitHub Downloads (all assets, all releases) GHCR Pulls


Perfecto MCP Server

The Perfecto MCP Server connects AI tools directly to Perfecto's cloud-based testing platform. This gives AI agents, assistants, and chatbots the ability to manage complete testing workflows from creation to execution and reporting. All through natural language interactions.


Prerequisites

  • Perfecto Security Token
  • Compatible MCP host (VS Code, Claude Desktop, Cursor, Windsurf, etc.)
  • Docker (only for Docker-based deployment)
  • uv and Python 3.11+ (only for installation from source code distribution)

Setup

Get Perfecto Security Token

  1. Follow the Perfecto Security Token guide to obtain your Security Token.
  2. Save the token into a file named perfecto-security-token.txt file in the same folder where you'll place the MCP binary.

Important

Make sure to locate the binary along with the token file in a safe place. It is possible to configure another site for the file location, you can use the environment variable PERFECTO_SECURITY_TOKEN_FILE with the full path including the name of the file you want to use.

Quick Setup with CLI Tool

The easiest way to configure your MCP client is using our interactive CLI tool:

  1. Download the appropriate binary for your operating system from the Releases page

Note

Choose the binary that matches your OS (Windows, macOS, Linux)

  1. Place the binary in the same folder as your perfecto-security-token.txt file
  2. Execute or Double-click the binary to launch the interactive configuration tool
  3. The tool automatically generates the JSON configuration file for you
  4. Setup cloud name in the JSON configuration PERFECTO_CLOUD_NAME with the name of your Perfecto Cloud environment.

Important

For macOS: You may encounter a security alert saying "Apple could not verify 'perfecto-mcp-darwin' is free of malware." To resolve this:

  1. Go to System SettingsPrivacy & SecuritySecurity
  2. Look for the blocked application and click "Allow Anyway"
  3. Try running the binary again

CLI Demo


Manual Client Configuration (Binary Installation)

  1. Download the binary for your operating system from the Releases page
  2. Configure your MCP client with the following settings:
{
  "mcpServers": {
    "Perfecto MCP": {
      "command": "/path/to/perfecto-mcp-binary",
      "args": ["--mcp"],
      "env": {
        "PERFECTO_CLOUD_NAME": "Set the cloud name value here"
      }
    }
  }
}

Manual Client Configuration (From Remote Source Code)

  1. Prerequisites: uv and Python 3.11+
  2. Configure your MCP client with the following settings:
{
  "mcpServers": {
    "Perfecto MCP": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/PerfectoCode/perfecto-mcp.git@v1.0",
        "-q", "perfecto-mcp", "--mcp"
      ],
      "env": {
        "PERFECTO_CLOUD_NAME": "Set the cloud name value here"
      }
    }
  }
}

Note

uvx installs and runs the package and its dependencies in a temporary environment. You can change to any version that has been released or any branch you want. Package support for uvx command is supported from version 1.0 onwards. For more details on the uv/uvx arguments used, please refer to the official uv documentation.


Docker MCP Client Configuration

{
  "mcpServers": {
    "Docker Perfecto MCP": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "PERFECTO_CLOUD_NAME=your_cloud_name",
        "-e",
        "PERFECTO_SECURITY_TOKEN=your_security_token",
        "ghcr.io/perfectocode/perfecto-mcp:latest"
      ]
    }
  }
}

Important

For Windows OS, paths must use backslashes (\) and be properly escaped as double backslashes (\\) in the JSON configuration. E.g.: C:\\User\\Desktop\\mcp_test_folder

Note

In order to obtain the PERFECTO_SECURITY_TOKEN refere to Generate a security token page


Custom CA Certificates (Corporate Environments) for Docker

When you need this:

  • Your organization uses self-signed certificates
  • You're behind a corporate proxy with SSL inspection
  • You have a custom Certificate Authority (CA)
  • You encounter SSL certificate verification errors when running tests

Required Configuration:

When using custom CA certificate bundles, you must configure both:

  1. Certificate Volume Mount: Mount your custom CA certificate bundle into the container
  2. SSL_CERT_FILE Environment Variable: Explicitly set the SSL_CERT_FILE environment variable to point to the certificate location inside the container
Example Configuration
{
  "mcpServers": {
    "Docker Perfecto MCP": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-v",
        "/path/to/your/ca-bundle.crt:/etc/ssl/certs/custom-ca-bundle.crt",
        "-e",
        "SSL_CERT_FILE=/etc/ssl/certs/custom-ca-bundle.crt",
        "-e",
        "PERFECTO_CLOUD_NAME=your_cloud_name",
        "-e",
        "PERFECTO_SECURITY_TOKEN=your_security_token",
        "ghcr.io/perfectocode/perfecto-mcp:latest"
      ]
    }
  }
}

Replace:

  • /path/to/your/ca-bundle.crt with your host system's CA certificate file path
  • The container path /etc/ssl/certs/custom-ca-bundle.crt can be any path you prefer (just ensure it matches SSL_CERT_FILE)

The SSL_CERT_FILE environment variable must be set to point to your custom CA certificate bundle. The httpx library automatically respects the SSL_CERT_FILE environment variable for SSL certificate verification.


License

This project is licensed under the Apache License, Version 2.0. Please refer to LICENSE for the full terms.


Support

  • Issues: GitHub Issues
  • Support: Contact Perfecto support for enterprise assistance