Factifai MCP Server
Integrates Factifai testing capabilities with MCP-compatible AI tools, enabling asynchronous creation and retrieval of automated tests using AI models from OpenAI or AWS Bedrock.
README
Factifai MCP Server
<img alt="Install in VS Code (npx)" src="https://img.shields.io/badge/VS_Code-VS_Code?style=plastic&label=Install&color=0098FF">
<img alt="Install in VS Code Insiders (npx)" src="https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=plastic&label=Install&color=24bfa5">
<img alt="Install in Cursor (npx)" src="https://img.shields.io/badge/Cursor-Cursor?style=plastic&label=Install&color=1A1A1A">
<p> <img style="margin-right:18px;" src="assets/img/hai.png" alt="Hai Build" /> <img style="margin-right:18px;" src="assets/img/amazon-q.png" alt="Amazon Q" /> <img style="margin-right:18px;" src="assets/img/vsc.png" alt="VS Code" /> <img style="margin-right:18px;" src="assets/img/cursor.png" alt="Cursor" /> <img style="margin-right:18px;" src="assets/img/windsurf.png" alt="Windsurf" /> <img style="margin-right:18px;" src="assets/img/zed.png" alt="Zed" /> </p>
A Model Context Protocol (MCP) server for Factifai integration with any MCP-compatible AI tool. This server is designed to be tool-agnostic, meaning it can be used with any tool that supports the MCP protocol. This server currently exposes tools to create tests asynchronously and get the result of the test.
Table of Contents
- Factifai MCP Server
Requirements
- Node.js >= 16.0.0
- Hai Build, Cursor, Windsurf, Claude Desktop or any MCP Client
Installation
# Latest version
npx --yes @presidio-dev/factifai-mcp-server@latest
# Specific version
npx --yes @presidio-dev/factifai-mcp-server@1.2.3
We recommend npx to install the server, but you can use any node package manager of your preference such as yarn, pnpm, bun, etc.
Installation Note
⚠️ Important: The first time you install Factifai MCP Server, it will automatically download and install browser dependencies using Playwright. This process may take several minutes depending on your internet connection and system specifications.
The installation includes:
- Downloading browser binaries (Chromium, Firefox, WebKit)
- Installing browser dependencies
- Setting up the necessary environment
This happens only once, and subsequent runs will be much faster as the browsers are already installed.
Pre-Installation Tip
⚠️ Recommended for First-Time Installation: Many MCP clients have strict timeout limits for server startup. The browser installation process during first-time setup may exceed these timeouts, causing the installation to fail or appear non-responsive.
To avoid timeout issues, we strongly recommend pre-installing Playwright browsers manually:
# Step 1: Install Playwright browsers manually before installing the MCP server
npx playwright install --with-deps
# Step 2: Then install the MCP server (will be much faster and avoid timeouts)
npx --yes @presidio-dev/factifai-mcp-server@latest
This pre-installation step:
- Ensures browsers are downloaded without MCP client timeout constraints
- Significantly speeds up the MCP server's first-time installation
- Prevents installation failures due to timeout issues in your IDE or MCP client
Configuration
with npx with latest version:
{
"factifai": {
"command": "npx",
"args": ["--yes", "@presidio-dev/factifai-mcp-server@latest"],
"env": {
"MODEL_PROVIDER": "bedrock|openai",
"OPENAI_API_KEY": "<your-openai-api-key>",
"AWS_ACCESS_KEY_ID": "<your-aws-access-key-id>",
"AWS_SECRET_ACCESS_KEY": "<your-aws-secret-access-key>",
"AWS_DEFAULT_REGION": "<your-aws-region>"
},
"disabled": false,
"autoApprove": []
}
}
with npx with specific version:
{
"factifai": {
"command": "npx",
"args": ["--yes", "@presidio-dev/factifai-mcp-server@1.2.3"],
"env": {
"MODEL_PROVIDER": "bedrock|openai",
"OPENAI_API_KEY": "<your-openai-api-key>",
"AWS_ACCESS_KEY_ID": "<your-aws-access-key-id>",
"AWS_SECRET_ACCESS_KEY": "<your-aws-secret-access-key>",
"AWS_DEFAULT_REGION": "<your-aws-region>"
},
"disabled": false,
"autoApprove": []
}
}
Environment Variables
| Variable Name | Description |
|---|---|
MODEL_PROVIDER |
The model provider to use. (bedrock or openai) |
OPENAI_API_KEY |
The API key for the OpenAI model provider |
AWS_ACCESS_KEY_ID |
The AWS access key ID for the Bedrock model provider |
AWS_SECRET_ACCESS_KEY |
The AWS secret access key for the Bedrock model provider |
AWS_DEFAULT_REGION |
The AWS default region for the Bedrock model provider |
Model Provider Configuration Examples
Bedrock Configuration Example
{
"factifai": {
"command": "npx",
"args": ["--yes", "@presidio-dev/factifai-mcp-server@latest"],
"env": {
"MODEL_PROVIDER": "bedrock",
"AWS_ACCESS_KEY_ID": "<your-aws-access-key-id>",
"AWS_SECRET_ACCESS_KEY": "<your-aws-secret-access-key>",
"AWS_DEFAULT_REGION": "<your-aws-region>"
},
"disabled": false,
"autoApprove": []
}
}
OpenAI Configuration Example
{
"factifai": {
"command": "npx",
"args": ["--yes", "@presidio-dev/factifai-mcp-server@latest"],
"env": {
"MODEL_PROVIDER": "openai",
"OPENAI_API_KEY": "<your-openai-api-key>"
},
"disabled": false,
"autoApprove": []
}
}
Factifai MCP integration with popular IDE and extension
See the setup instructions for each
<details>
<summary><b>Install in Hai Build</b></summary>
Add the following to your hai_mcp_settings.json file. To open this file from Hai Build, click the "MCP Servers" icon, select the "Installed" tab, and then click "Configure MCP Servers".
See the Hai Build MCP documentation for more info.
{
"mcpServers": {
"factifai": {
"command": "npx",
"args": ["-y", "@presidio-dev/factifai-mcp-server@latest"],
"env": {
"MODEL_PROVIDER": "bedrock|openai",
"OPENAI_API_KEY": "<your-openai-api-key>",
"AWS_ACCESS_KEY_ID": "<your-aws-access-key-id>",
"AWS_SECRET_ACCESS_KEY": "<your-aws-secret-access-key>",
"AWS_DEFAULT_REGION": "<your-aws-region>"
}
}
}
}
</details>
<details>
<summary><b>Install in Amazon Q Developer</b></summary>
Add the following to your Amazon Q Developer configuration file. See MCP configuration for Q Developer in the IDE for more details.
The configuration file can be stored globally at ~/.aws/amazonq/mcp.json to be available across all your projects, or locally within your project at .amazonq/mcp.json.
{
"mcpServers": {
"factifai": {
"command": "npx",
"args": ["-y", "@presidio-dev/factifai-mcp-server@latest"],
"env": {
"MODEL_PROVIDER": "bedrock|openai",
"OPENAI_API_KEY": "<your-openai-api-key>",
"AWS_ACCESS_KEY_ID": "<your-aws-access-key-id>",
"AWS_SECRET_ACCESS_KEY": "<your-aws-secret-access-key>",
"AWS_DEFAULT_REGION": "<your-aws-region>"
}
}
}
}
</details>
<details>
<summary><b>Install in VS Code (Copilot)</b></summary>
<img alt="Install in VS Code (npx)" src="https://img.shields.io/badge/VS_Code-VS_Code?style=plastic&label=Install&color=0098FF"> <img alt="Install in VS Code Insiders (npx)" src="https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=plastic&label=Install&color=24bfa5">
First, enable MCP support in VS Code by opening Settings (Ctrl+,), searching for mcp.enabled, and checking the box.
Then, add the following configuration to your user or workspace settings.json file. See the VS Code MCP documentation for more info.
"mcp": {
"servers": {
"factifai": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@presidio-dev/factifai-mcp-server@latest"],
"env": {
"MODEL_PROVIDER": "bedrock|openai",
"OPENAI_API_KEY": "<your-openai-api-key>",
"AWS_ACCESS_KEY_ID": "<your-aws-access-key-id>",
"AWS_SECRET_ACCESS_KEY": "<your-aws-secret-access-key>",
"AWS_DEFAULT_REGION": "<your-aws-region>"
}
}
}
}
</details>
<details> <summary><b>Install in Cursor</b></summary>
The easiest way to install is with the one-click installation button below.
Alternatively, you can manually configure the server by adding the following to your mcp.json file. This file can be located globally at ~/.cursor/mcp.json or within a specific project at .cursor/mcp.json. See the Cursor MCP documentation for more information.
{
"mcpServers": {
"factifai": {
"command": "npx",
"args": ["--yes", "@presidio-dev/factifai-mcp-server@latest"],
"env": {
"MODEL_PROVIDER": "bedrock|openai",
"OPENAI_API_KEY": "<your-openai-api-key>",
"AWS_ACCESS_KEY_ID": "<your-aws-access-key-id>",
"AWS_SECRET_ACCESS_KEY": "<your-aws-secret-access-key>",
"AWS_DEFAULT_REGION": "<your-aws-region>"
}
}
}
}
</details>
<details> <summary><b>Install in Windsurf</b></summary>
Add the following to your ~/.codeium/windsurf/mcp_config.json file. See the Windsurf MCP documentation for more information.
{
"mcpServers": {
"factifai": {
"command": "npx",
"args": ["-y", "@presidio-dev/factifai-mcp-server@latest"],
"env": {
"MODEL_PROVIDER": "bedrock|openai",
"OPENAI_API_KEY": "<your-openai-api-key>",
"AWS_ACCESS_KEY_ID": "<your-aws-access-key-id>",
"AWS_SECRET_ACCESS_KEY": "<your-aws-secret-access-key>",
"AWS_DEFAULT_REGION": "<your-aws-region>"
}
}
}
}
</details>
<details> <summary><b>Install in Zed</b></summary>
You can add the Factifai MCP server in Zed by editing your settings.json file (accessible via the zed: settings action) or by using the Agent Panel's configuration UI (agent: open configuration). See the Zed MCP documentation for more information.
Add the following to your settings.json:
{
"context_servers": {
"factifai": {
"command": {
"path": "npx",
"args": ["-y", "@presidio-dev/factifai-mcp-server@latest"],
"env": {
"MODEL_PROVIDER": "bedrock|openai",
"OPENAI_API_KEY": "<your-openai-api-key>",
"AWS_ACCESS_KEY_ID": "<your-aws-access-key-id>",
"AWS_SECRET_ACCESS_KEY": "<your-aws-secret-access-key>",
"AWS_DEFAULT_REGION": "<your-aws-region>"
}
}
}
}
}
</details>
Available Tools
| Tool Name | Description |
|---|---|
testWithFactifai |
Start a test with Factifai |
getFactifaiSessionResult |
Get test result |
listFactifaiSessions |
List tests |
Contributing
We welcome contributions to the Factifai MCP Server! Please see our Contributing Guide for more information on how to get started.
Security
For information about our security policy and how to report security vulnerabilities, please see our Security Policy.
License
This project is licensed under the MIT License - see the LICENSE file for details.
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.