Skip to main content
Glama

EdgeOne Pages MCP

Official
import { randomBytes } from 'crypto'; import os from 'os'; import path from 'path'; import fs from 'fs'; let installationId: string; function generateInstallationId(): string { try { const idFilePath = path.join(os.tmpdir(), 'edgeone-pages-id'); if (fs.existsSync(idFilePath)) { const id = fs.readFileSync(idFilePath, 'utf8').trim(); if (id) { return id; } } const newId = randomBytes(8).toString('hex'); try { fs.writeFileSync(idFilePath, newId); } catch (writeError) { // do nothing } return newId; } catch (error) { return randomBytes(8).toString('hex'); } } installationId = generateInstallationId(); /** * Get the base URL for EdgeOne Pages deployment */ async function getBaseUrl(): Promise<string> { const res = await fetch('https://mcp.edgeone.site/get_base_url'); if (!res.ok) { throw new Error(`[getBaseUrl] HTTP error: ${res.status} ${res.statusText}`); } const data = await res.json(); return data.baseUrl; } /** * Deploy HTML content to EdgeOne Pages */ async function deployHtml(value: string, baseUrl: string): Promise<string> { const res = await fetch(baseUrl, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Installation-ID': installationId, }, body: JSON.stringify({ value }), }); if (!res.ok) { throw new Error(`[deployHtml] HTTP error: ${res.status} ${res.statusText}`); } const { url } = await res.json(); return url; } /** * Deploy HTML content to EdgeOne Pages and return the deployment URL */ export const deployHtmlToEdgeOne = async (html: string): Promise<string> => { try { const baseUrl = await getBaseUrl(); const url = await deployHtml(html, baseUrl); return url; } catch (e) { console.error('Error deploying HTML:', e); throw e; } };

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/TencentEdgeOne/edgeone-pages-mcp'

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