Skip to main content
Glama
brynj-digital

laravel-forge-readonly-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FORGE_BASE_URLNoBase URL for Forge API. Default: https://forge.laravel.com/api
FORGE_API_TOKENYesYour Laravel Forge API token. Required.
FORGE_ORGANIZATIONNoYour Forge organization slug. Optional but recommended.
FORGE_REQUESTS_PER_MINUTENoRate limit for API requests. Default: 60
FORGE_UNSAFE_ALLOW_SECRETSNoAllow reading secret endpoints. Default: false

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_organizationsA

List the Forge organisations this API token can reach, with their slugs. Every other tool takes an organisation slug (or uses the configured default). Start here if you do not know the slug.

list_serversA

List the servers in an organisation — provider, region, size, PHP version, IP addresses and provisioning status. Supports filter/sort/include (try include="tags"). Use this to find a server id for the other tools.

get_serverA

Get one server in full: provider and region, sizes, PHP and database versions, IP addresses, tags and provisioning state.

list_server_eventsA

A server's recent Forge activity — provisioning steps, service restarts, configuration changes, who triggered them and whether they succeeded. The closest thing Forge has to an audit trail, and the first place to look when something changed unexpectedly.

get_server_phpA

The PHP versions installed on a server, which is the default, and their patch levels. Useful for spotting servers left on an end-of-life version.

list_sitesA

List every site in an organisation across all servers, with its domain, project type, PHP version, repository, deployment and maintenance-mode state. Prefer this over listing sites server by server. Note that the hosting server is NOT included by default — pass include="server" to answer "which server hosts acme.com?" in one call.

get_siteA

Get one site in full: domain and aliases, web directory, PHP version, repository and branch, quick-deploy state and which server it lives on. Note that Forge addresses a single site at organisation level, so no server id is needed.

list_domainsA

The domains attached to a site, including aliases and their certificate state. Pair with list_certificates to audit SSL expiry.

list_certificatesA

A site's SSL certificates with their type, status and expiry — the read to use for certificate-expiry checks. Requires the site:meta scope.

list_deploymentsA

A site's deployment history — commit, author, status, duration and timestamps. Use it to find when a site last shipped, or to identify a failed deployment to inspect with get_deployment.

get_deploymentA

One deployment in detail: commit, author, status, timings and any failure information. Note that the deployment OUTPUT log needs the site:manage-deploys scope, which also grants the ability to deploy — so a read-only token will get a 403 for the log while this summary still works.

get_deployment_scriptA

The site's deployment script — the commands Forge runs on each deploy. Read-only: this cannot change the script.

get_site_logsA

Tail a site's logs: the Laravel/application log, or the Nginx access or error log. The first place to look when a site is throwing errors. Requires the server:manage-logs scope (whose only write power is clearing logs).

list_scheduled_jobsA

Cron/scheduled jobs, either for a whole server or for one site. Shows the command, user, frequency and last run state — use it to confirm a schedule exists and is firing.

list_background_processesA

Daemons and queue workers on a server — command, user, process count and status. Use it to check queue workers are running and correctly sized.

get_site_integrationA

Whether a first-party Laravel integration is enabled for a site: Horizon, Octane, Reverb, Pulse, Inertia, the scheduler, or maintenance mode. "laravel-maintenance" answers "is this site in maintenance mode?".

list_site_commandsA

The history of commands run from a site's Commands panel, with who ran them and when. An audit read — this cannot run a command.

list_databasesA

Database schemas on a server, or the database users and the schemas they can access. Names and grants only — this never reads database contents.

list_backup_configsA

Database backup configurations on a server — schedule, retention, destination and which databases are covered. Answers "is this server actually being backed up?". Listing individual backup INSTANCES needs the server:create-backups scope, which also grants restore, so it is not exposed here.

forge_getA

Perform an arbitrary GET against the Forge API for endpoints the named tools do not cover — monitors, firewall rules, Nginx templates, recipes, teams, PHP config, heartbeats, providers and so on. Pass a path relative to the API base with real ids substituted, e.g. "/orgs/acme/servers/12345/monitors". Only documented Forge GET endpoints are permitted: writes are impossible, and a small set of reads that would expose secrets (.env contents, registry and provider credentials, SSH and deploy keys) or hand over a deploy capability (the deployment trigger URL) are refused with an explanation. Query parameters go in query, not in the path — e.g. {"page[size]": 50}.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brynj-digital/laravel-forge-readonly-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server