Skip to main content
Glama
index.ts2 kB
#!/usr/bin/env node import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { z } from "zod"; import axios from 'axios'; const server = new McpServer({ name: "Laravel Forge", version: "1.0.0" }); const BASE_URL = "https://forge.laravel.com/api/v1"; function getApiKey(): string { const apiKey = process.env.FORGE_API_KEY; if (!apiKey) { throw new Error("FORGE_API_KEY environment variable not set."); } return apiKey; } function getServerId(): string { const serverId = process.env.FORGE_SERVER_ID; if (!serverId) { throw new Error("FORGE_SERVER_ID environment variable not set."); } return serverId; } function getSiteId(): string { const siteId = process.env.FORGE_SITE_ID; if (!siteId) { throw new Error("FORGE_SITE_ID environment variable not set."); } return siteId; } const api = axios.create({ baseURL: BASE_URL, headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${getApiKey()}` } }); 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 }] }; } } ); const transport = new StdioServerTransport(); await server.connect(transport);

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