MCP Server

laravel-forge

io.usefulapi/laravel-forge

What this MCP does

Inspects and operates Laravel Forge infrastructure, including servers, sites, deployments, databases, monitors, scheduled jobs, and site commands.

forge_deploy_site
Deploy site
⚠️ Triggers a new deployment of the site (runs the deployment script). Returns the created deployment. Forge v2: POST /orgs/{organization}/servers/{server}/sites/{site}/deployments.
Destructive
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'server', 'site'], 'properties': {'site': {'type': 'string', 'description': 'Site id.'}, 'server': {'type': 'string', 'description': 'Server id.'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
forge_get_current_user
Get current user
Get the authenticated Forge user. Forge v2: GET /user.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
forge_get_deployment
Get deployment
Get a single deployment's details. Forge v2: GET /orgs/{organization}/servers/{server}/sites/{site}/deployments/{deployment}.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'server', 'site', 'deployment'], 'properties': {'site': {'type': 'string', 'description': 'Site id.'}, 'server': {'type': 'string', 'description': 'Server id.'}, 'deployment': {'type': 'string', 'description': 'Deployment id (from forge_list_deployments).'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
forge_get_deployment_log
Get deployment log
Get a deployment's output/log. Forge v2: GET /orgs/{organization}/servers/{server}/sites/{site}/deployments/{deployment}/log.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'server', 'site', 'deployment'], 'properties': {'site': {'type': 'string', 'description': 'Site id.'}, 'server': {'type': 'string', 'description': 'Server id.'}, 'deployment': {'type': 'string', 'description': 'Deployment id.'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
forge_get_deployment_status
Get deployment status
Get the current deployment status for a site. Forge v2: GET /orgs/{organization}/servers/{server}/sites/{site}/deployments/status.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'server', 'site'], 'properties': {'site': {'type': 'string', 'description': 'Site id.'}, 'server': {'type': 'string', 'description': 'Server id.'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
forge_get_server
Get server
Get a single server's details. Forge v2: GET /orgs/{organization}/servers/{server}.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'server'], 'properties': {'server': {'type': 'string', 'description': 'Server id (from forge_list_servers).'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
forge_get_site
Get site
Get a single site's details (org-level lookup — no server id needed). Forge v2: GET /orgs/{organization}/sites/{site}.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'site'], 'properties': {'site': {'type': 'string', 'description': 'Site id (from forge_list_sites).'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
forge_get_site_env
Get site environment (.env)
Get a site's .env file content. ⚠️ Returns SENSITIVE config (secrets, DB credentials, API keys). Forge v2: GET /orgs/{organization}/servers/{server}/sites/{site}/environment.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'server', 'site'], 'properties': {'site': {'type': 'string', 'description': 'Site id.'}, 'server': {'type': 'string', 'description': 'Server id.'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
forge_list_databases
List databases
List database schemas on a server. Forge v2: GET /orgs/{organization}/servers/{server}/database/schemas.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'server'], 'properties': {'server': {'type': 'string', 'description': 'Server id.'}, 'page_size': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Results per page (maps to page[size]).', 'exclusiveMinimum': 0}, 'page_cursor': {'type': 'string', 'description': 'Pagination cursor (maps to page[cursor]).'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
forge_list_deployments
List deployments
List a site's deployment history. Forge v2: GET /orgs/{organization}/servers/{server}/sites/{site}/deployments.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'server', 'site'], 'properties': {'site': {'type': 'string', 'description': 'Site id.'}, 'server': {'type': 'string', 'description': 'Server id.'}, 'page_size': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Results per page (maps to page[size]).', 'exclusiveMinimum': 0}, 'page_cursor': {'type': 'string', 'description': 'Pagination cursor (maps to page[cursor]).'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
forge_list_monitors
List monitors
List server monitors (CPU/disk/etc.). Forge v2: GET /orgs/{organization}/servers/{server}/monitors.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'server'], 'properties': {'server': {'type': 'string', 'description': 'Server id.'}, 'page_size': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Results per page (maps to page[size]).', 'exclusiveMinimum': 0}, 'page_cursor': {'type': 'string', 'description': 'Pagination cursor (maps to page[cursor]).'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
forge_list_organizations
List organizations
List organizations you belong to. Call this FIRST to get the organization id used by nearly every other tool. Forge v2: GET /orgs.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page_size': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Results per page (maps to page[size]).', 'exclusiveMinimum': 0}, 'page_cursor': {'type': 'string', 'description': 'Pagination cursor from links.next / meta (maps to page[cursor]).'}}}
forge_list_scheduled_jobs
List scheduled jobs
List cron/scheduled jobs on a server. Forge v2: GET /orgs/{organization}/servers/{server}/scheduled-jobs.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'server'], 'properties': {'server': {'type': 'string', 'description': 'Server id.'}, 'page_size': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Results per page (maps to page[size]).', 'exclusiveMinimum': 0}, 'page_cursor': {'type': 'string', 'description': 'Pagination cursor (maps to page[cursor]).'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
forge_list_server_events
List server events
List provisioning/activity events for a server. Forge v2: GET /orgs/{organization}/servers/{server}/events.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'server'], 'properties': {'server': {'type': 'string', 'description': 'Server id.'}, 'page_size': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Results per page (maps to page[size]).', 'exclusiveMinimum': 0}, 'page_cursor': {'type': 'string', 'description': 'Pagination cursor (maps to page[cursor]).'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
forge_list_servers
List servers
List servers in an organization. Call forge_list_organizations first to get the organization id. Forge v2: GET /orgs/{organization}/servers.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization'], 'properties': {'name': {'type': 'string', 'description': 'Filter by server name (maps to filter[name]).'}, 'region': {'type': 'string', 'description': 'Filter by region (maps to filter[region]).'}, 'provider': {'type': 'string', 'description': 'Filter by provider (maps to filter[provider]).'}, 'page_size': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Results per page (maps to page[size]).', 'exclusiveMinimum': 0}, 'page_cursor': {'type': 'string', 'description': 'Pagination cursor (maps to page[cursor]).'}, 'php_version': {'type': 'string', 'description': 'Filter by PHP version (maps to filter[php_version]).'}, 'organization': {'type': 'string', 'description': 'Organization id (from forge_list_organizations).'}, 'database_type': {'type': 'string', 'description': 'Filter by database type (maps to filter[database_type]).'}}}
forge_list_sites
List sites
List sites hosted on a server. Forge v2: GET /orgs/{organization}/servers/{server}/sites.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'server'], 'properties': {'name': {'type': 'string', 'description': 'Filter by site name (maps to filter[name]).'}, 'server': {'type': 'string', 'description': 'Server id.'}, 'page_size': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Results per page (maps to page[size]).', 'exclusiveMinimum': 0}, 'page_cursor': {'type': 'string', 'description': 'Pagination cursor (maps to page[cursor]).'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
forge_run_site_command
Run site command
⚠️ Runs an arbitrary shell command in the site's directory on the server. Use with care. Forge v2: POST /orgs/{organization}/servers/{server}/sites/{site}/commands.
Destructive
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'server', 'site', 'command'], 'properties': {'site': {'type': 'string', 'description': 'Site id.'}, 'server': {'type': 'string', 'description': 'Server id.'}, 'command': {'type': 'string', 'description': 'The shell command to run, e.g. "php artisan migrate --force".'}, 'organization': {'type': 'string', 'description': 'Organization id.'}}}
Added
forge_run_site_command
Sept. 21, 2026, 2:44 a.m.
Added
forge_deploy_site
Sept. 21, 2026, 2:44 a.m.
Added
forge_get_site_env
Sept. 21, 2026, 2:44 a.m.
Added
forge_list_monitors
Sept. 21, 2026, 2:44 a.m.
Added
forge_list_scheduled_jobs
Sept. 21, 2026, 2:44 a.m.
Added
forge_list_databases
Sept. 21, 2026, 2:44 a.m.
Added
forge_get_deployment_status
Sept. 21, 2026, 2:44 a.m.
Added
forge_get_deployment_log
Sept. 21, 2026, 2:44 a.m.
Added
forge_get_deployment
Sept. 21, 2026, 2:44 a.m.
Added
forge_list_deployments
Sept. 21, 2026, 2:44 a.m.
Added
forge_get_site
Sept. 21, 2026, 2:44 a.m.
Added
forge_list_sites
Sept. 21, 2026, 2:44 a.m.
Added
forge_list_server_events
Sept. 21, 2026, 2:44 a.m.
Added
forge_get_server
Sept. 21, 2026, 2:44 a.m.
Added
forge_list_servers
Sept. 21, 2026, 2:44 a.m.
Added
forge_get_current_user
Sept. 21, 2026, 2:44 a.m.
Added
forge_list_organizations
Sept. 21, 2026, 2:44 a.m.