Skip to main content
Glama
JordanDalton

Laravel Forge MCP Server

deploy-site

Deploy your Laravel Forge sites directly by triggering a deployment process, ensuring your application updates are live without manual intervention.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
deployYesDeploy the site.

Implementation Reference

  • The handler function for the 'deploy-site' tool. It retrieves server and site IDs from environment variables, makes a POST request to the Laravel Forge API to deploy the site, and returns success or error content.
    async ({ deploy }) => {
      const serverId = getServerId();
      const siteId = getSiteId();
      try {
        const response = await api.post(`/servers/${serverId}/sites/${siteId}/deployment/deploy`);
        return {
          content: [{ type: "text", text: `Deployment started successfully for site ${siteId} on server ${serverId}.\n` + JSON.stringify(response.data, null, 2) }]
        };
      } catch (error: any) {
        let errorMessage = `Error deploying site ${siteId} on server ${serverId}: ${error.message}`;
        if (error.response) {
          errorMessage += `\nStatus: ${error.response.status}\nData: ${JSON.stringify(error.response.data, null, 2)}`;
        }
        return {
          content: [{ type: "text", text: errorMessage }]
        };
      }
    }
  • Input schema for the 'deploy-site' tool, defining a boolean 'deploy' parameter.
    {
      deploy: z.boolean().describe("Deploy the site."),
    },
  • src/index.ts:46-68 (registration)
    Registration of the 'deploy-site' tool using server.tool, including schema and handler.
    server.tool("deploy-site",
      {
        deploy: z.boolean().describe("Deploy the site."),
      },
      async ({ deploy }) => {
        const serverId = getServerId();
        const siteId = getSiteId();
        try {
          const response = await api.post(`/servers/${serverId}/sites/${siteId}/deployment/deploy`);
          return {
            content: [{ type: "text", text: `Deployment started successfully for site ${siteId} on server ${serverId}.\n` + JSON.stringify(response.data, null, 2) }]
          };
        } catch (error: any) {
          let errorMessage = `Error deploying site ${siteId} on server ${serverId}: ${error.message}`;
          if (error.response) {
            errorMessage += `\nStatus: ${error.response.status}\nData: ${JSON.stringify(error.response.data, null, 2)}`;
          }
          return {
            content: [{ type: "text", text: errorMessage }]
          };
        }
      }
    );
Install Server

Other Tools

Related Tools

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/JordanDalton/laravel-forge-mcp-server'

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