Skip to main content
Glama
README.md
# Laravel Forge MCP Server

A Model Context Protocol (MCP) server for interacting with Laravel Forge API. This server enables AI assistants to manage Laravel Forge servers, sites, and deployments.

## Features

- List and get details of Laravel Forge servers
- Manage sites on Laravel Forge servers
- Deploy sites and manage deployment scripts
- Toggle quick deploy functionality
- View deployment history
- Reboot servers and check server load

## Installation

```bash
npm install @bretterer/forge-mcp-server
```

## Usage

### Prerequisites

You need a Laravel Forge API key to use this server. You can get one from your [Laravel Forge account settings](https://forge.laravel.com/user/profile#/api).

### Environment Variables

Set your Laravel Forge API key as an environment variable:

```bash
export FORGE_API_KEY=your_forge_api_key
```

### Running the Server

```bash
npx forge-mcp-server
```

Or add it to your project:

```javascript
import { ForgeServer } from '@bretterer/forge-mcp-server';

const server = new ForgeServer();
server.run().catch(console.error);
```

## Available Tools

The MCP server provides the following tools:

- `list_servers` - List all Laravel Forge servers
- `get_server` - Get details of a specific server
- `list_sites` - List all sites on a server
- `get_site` - Get details of a specific site
- `deploy_site` - Deploy a site
- `get_deployments` - Get deployment history for a site
- `get_deployment_script` - Get the deployment script for a site
- `update_deployment_script` - Update the deployment script for a site
- `toggle_quick_deploy` - Enable or disable quick deploy for a site
- `reboot_server` - Reboot a server
- `get_server_load` - Get server load metrics
- `reset_deployment_state` - Reset deployment state for a site

## Development

### Setup

```bash
git clone https://github.com/bretterer/forge-mcp-server.git
cd forge-mcp-server
npm install
```

### Build

```bash
npm run build
```

### Run in Development Mode

```bash
npm run dev
```

## License

MIT

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

TDQS

B3.1/5.0

Scored across 12 tools

Disambiguation5/5

Each tool targets a distinct action and resource (site, server, deployment). No two tools have overlapping purposes; descriptions are clear and unambiguous.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., deploy_site, get_server_load). No deviation or mixing of conventions.

Tool Count5/5

12 tools is well-scoped for a server management API. Each tool earns its place, covering server and site details, deployment operations, and script management without being overwhelming.

Completeness3/5

Core monitoring and deployment operations are present, but basic lifecycle actions like creating or deleting servers/sites are missing, representing notable gaps for full CRUD coverage.

Maintenance

ActivityInactive
ResponsivenessUnresponsive