Allows for reading and modifying environment variables within .env files to manage Laravel application configuration.
Manages Git repository configurations and branches for automated application deployment workflows.
Automates GitHub deploy key setup using Device Flow OAuth for secure server-side repository access.
Provides tools for deploying and managing Laravel applications, including full stack provisioning, release management, and zero-downtime deployments.
Supports database management tasks such as listing, creating databases, and restarting the MySQL service on target servers.
Enables management and restarting of the NGINX service for web server operations.
Provides capabilities to manage PHP versions and restart PHP services required for application runtimes.
Supports monitoring and restarting the Redis service as part of the application infrastructure.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Faber MCP Serverdeploy this project to production"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Faber MCP Server
MCP (Model Context Protocol) server for deploying Laravel applications to Faber servers directly from Cursor.
Overview
Faber MCP enables you to deploy and manage Laravel applications on Faber servers using AI agents in Cursor. Simply ask your AI assistant to "deploy this project to production" and it handles the rest - including provisioning new stacks, managing GitHub deploy keys, and triggering deployments.
Features
Deploy Laravel apps from Cursor with natural language commands
Available globally across all your projects
Multi-server support (production, staging, etc.)
Automatic GitHub deploy key setup via Device Flow OAuth
Full stack management (apps, domains, databases, SSL)
Release management and rollbacks
Real-time logs and debugging
Installation
Option 1: Install from npm (when published)
Option 2: Install from source
Configuration
Step 1: Create Server Configuration
Create ~/.faber-mcp.json with your Faber server details.
You can copy example-config.json as a starting point:
Or create it from scratch:
Requirements:
SSH key must have access to the Faber server
faberCLI must be installed on the serverYou must be able to authenticate as root
Step 2: Configure Cursor
Edit ~/.cursor/mcp.json (create if it doesn't exist):
Alternative configurations:
If Cursor can't find the global command, use the full path:
Or use npx (no global install needed):
Important: Restart Cursor completely after adding the MCP server configuration.
Usage Examples
Deploy Current Project
Simply ask Cursor's AI agent:
"Deploy this project to production"
The agent will:
Check if the app already exists on the server
If not, prompt you for:
Project name (username in Faber)
Git repository URL
Domain name
PHP version
Git branch
Create the full stack (app, domain, database, SSL, .env)
GitHub Authorization (if GitHub OAuth is configured on server):
Cursor will display a message like:
GitHub Authorization Required 1. Open: https://github.com/login/device 2. Enter code: A1B2-C3D4 Waiting for authorization...Click the verification URI and enter the code
Authorize the application in your browser
Server automatically adds the deploy key to your repository
Or if the app exists, trigger a deployment
Other Commands
"Check if myapp is deployed on production"
"List all apps on the production server"
"Rollback myapp to the previous release"
"Show me the production server status"
"Deploy this to staging server"
Multi-Server Support
When using multiple servers, specify which one:
"Deploy this to staging server"
The agent will use the staging profile from your config. If not specified, it uses defaultServer.
Available Tools
The MCP server provides these tools to Cursor's AI agent:
App Management
faber_check_app- Check if an app exists and get detailsfaber_list_apps- List all deployed appsfaber_create_stack- Create full application stack (handles GitHub deploy key setup)faber_deploy- Trigger zero-downtime deploymentfaber_get_deploy_key- Retrieve SSH public key for an app (for manual GitHub setup)
Server Management
faber_server_status- Get server health and service statusfaber_service_restart- Restart services (nginx, php, mysql, redis)
Domain Management
faber_list_domains- List configured domainsfaber_create_domain- Create/assign domain to app
Database Management
faber_list_databases- List all databasesfaber_create_database- Create a new database
Release Management
faber_list_releases- List available releases for an appfaber_rollback- Rollback to a previous release
Logs & Debugging
faber_webhook_logs- View webhook execution logsfaber_app_logs- View Laravel application logs
Environment
faber_get_env- Read .env file (read-only)faber_set_env_var- Set a specific .env variable
Troubleshooting
MCP server not connecting
Verify SSH key has access:
ssh -i ~/.ssh/id_rsa root@your-server.comCheck
~/.faber-mcp.jsonsyntax is valid JSONEnsure
faberCLI is installed on the server:ssh root@server "which faber"
Cursor not recognizing tools
Restart Cursor completely after adding MCP config
Check Cursor's MCP logs: View → Output → Select "MCP" from dropdown
Verify the path in
~/.cursor/mcp.jsonis correct and absolute
SSH connection errors
Test SSH connection manually first
Ensure SSH key permissions:
chmod 600 ~/.ssh/id_rsaCheck server firewall allows SSH on port 22
Faber commands failing
Verify you're running as root on the server
Check Faber is installed:
ssh root@server "faber version"Review server logs:
ssh root@server "faber logs"
Requirements
Node.js 18+ (for running the MCP server locally)
SSH access to Faber server(s)
Faber CLI installed on target server(s)
Cursor IDE with MCP support
Development
License
MIT
Links
Faber Server - Laravel server management CLI
MCP Protocol - Model Context Protocol specification