Factifai MCP Server
An MCP server for Factifai, enabling integration with any MCP-compatible AI tool to create and retrieve test results asynchronously.
Factifai MCP Server
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
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>"
}
}
}
}
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>"
}
}
}
}
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>"
}
}
}
}
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>"
}
}
}
}
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>"
}
}
}
}
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>"
}
}
}
}
}
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.
Related Servers
Note MCP
MCP servers for Notecard, Notehub, and general development.
Cisco SSH MCP Server
Connect to, configure, and monitor Cisco network devices like routers and switches via SSH.
Modes MCP Server
An MCP server for programmatically managing Roo's custom operational modes.
FastAPI MCP Server
A MCP server implementation using the FastAPI framework, configurable via environment variables.
Petclinic
Interacts with the Swagger Petstore API using Petclinic v3 APIs, exposing tools for OpenAI models.
FreeCAD
Integrate with FreeCAD, a free and open-source parametric 3D modeler, via a Python bridge.
MCP Agentic AI Crash Course with Python
A comprehensive crash course on the Model Context Protocol (MCP), covering everything from basic concepts to building production-ready MCP servers and clients in Python.
Generic API MCP Server
A generic server to interact with any REST API, allowing you to query data, create items, and call methods.
Sui MCP Tools
A toolkit for interacting with the Sui blockchain and integrating MCP SDK features, with support for multiple network environments.
MCP Servers for CS Experimentation Workshop
A collection of MCP servers designed for rapid prototyping in CS experimentation workshops.