Skip to main content
Glama

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 }] }; } } );

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