Skip to main content
Glama
update-server-json.js1.49 kB
#!/usr/bin/env node import { createHash } from "node:crypto"; import { existsSync, readdirSync, readFileSync, writeFileSync } from "node:fs"; function sha256OfFile(path) { const buf = readFileSync(path); return createHash("sha256").update(buf).digest("hex"); } try { const pkg = JSON.parse(readFileSync("package.json", "utf8")); // Ensure final artifact name is macuse.mcpb; if pack produced another name, rename was handled in prepare step const file = readdirSync(".").find((f) => f.endsWith(".mcpb")) || "macuse.mcpb"; const hash = sha256OfFile(file); const server = existsSync("server.json") ? JSON.parse(readFileSync("server.json", "utf8")) : {}; // Update version and package information server.version = pkg.version; // Update the first package entry (MCPB package) if (server.packages && server.packages.length > 0) { server.packages[0].version = pkg.version; server.packages[0].identifier = `https://github.com/macuse-app/macuse/releases/download/v${pkg.version}/macuse-${pkg.version}.mcpb`; server.packages[0].file_sha256 = hash; server.packages[0].transport = { type: "stdio", }; } writeFileSync("server.json", `${JSON.stringify(server, null, 2)}\n`); console.log("server.json updated:", { version: pkg.version, package_identifier: server.packages?.[0]?.identifier, file_sha256: hash, }); } catch (err) { console.error("Failed to update server.json:", err.message); process.exit(1); }

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/macuse-app/macuse'

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