Skip to main content
Glama
PraneshASP

Foundry MCP Server

by PraneshASP
utils.ts2 kB
import * as path from "path"; import * as os from "os"; import * as fs from "fs/promises"; import { checkHeimdallInstalled, HEIMDALL_NOT_INSTALLED_ERROR } from "../../utils/command.js"; export const HEIMDALL_DEFAULT_OUTPUT_PATH = "~/.mcp-foundry-workspace/heimdall-output/"; export const DEFAULT_RPC_URL = "http://localhost:8545"; export async function checkHeimdallOrError() { const heimdallInstalled = await checkHeimdallInstalled(); if (!heimdallInstalled) { return { content: [{ type: "text" as const, text: HEIMDALL_NOT_INSTALLED_ERROR }], isError: true }; } return null; } export function getHeimdallOutputDir(customDir?: string): string { if (customDir) { return customDir; } // Default to ~/.mcp-foundry-workspace/heimdall-output const homeDir = os.homedir(); const workspaceDir = path.join(homeDir, '.mcp-foundry-workspace'); return path.join(workspaceDir, 'heimdall-output'); } export async function ensureDirectoryExists(dirPath: string): Promise<void> { try { await fs.mkdir(dirPath, { recursive: true }); } catch (error) { } } export async function readOutputFiles(outputDir: string, fileName?: string): Promise<string> { try { const files = await fs.readdir(outputDir); let targetFiles = files; if (fileName) { targetFiles = files.filter(file => file.includes(fileName)); } if (targetFiles.length === 0) { return "No output files found in the directory."; } let content = ""; for (const file of targetFiles) { const filePath = path.join(outputDir, file); const stats = await fs.stat(filePath); if (stats.isFile()) { const fileContent = await fs.readFile(filePath, 'utf-8'); content += `\n=== ${file} ===\n${fileContent}\n`; } } return content || "Output files are empty."; } catch (error) { return `Error reading output files: ${error instanceof Error ? error.message : String(error)}`; } }

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/PraneshASP/foundry-mcp-server'

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