Skip to main content
Glama

MCP Filesystem Server

by A-Niranjan
project_detector.ts2.03 kB
import { promisify } from 'node:util' import { exec } from 'node:child_process' import fs from 'node:fs' import path from 'node:path' // Placeholder for potential future use of execAsync promisify(exec) type PackageManager = 'npm' | 'pnpm' | 'yarn' interface ProjectCommands { install: string build: string start: string test: string lint?: string dev?: string preview?: string serve?: string } export function errorTypeToString(errorCode: string): string { const errorTypes: { [key: string]: string } = { TS2339: 'Property Error', TS2393: 'Duplicate Implementation', TS2367: 'Type Comparison Error', TS2322: 'Type Assignment Error', TS6133: 'Unused Variable', } return errorTypes[errorCode] || 'Unknown Error' } export async function detectPackageManager( projectPath: string ): Promise<PackageManager | 'unknown'> { const lockFiles = { 'pnpm-lock.yaml': 'pnpm', 'yarn.lock': 'yarn', 'package-lock.json': 'npm', } for (const [lockFile, manager] of Object.entries(lockFiles)) { if (fs.existsSync(path.join(projectPath, lockFile))) { return manager as PackageManager } } return 'unknown' } export function getProjectCommands(packageManager: PackageManager): ProjectCommands { const pmCmd = packageManager === 'pnpm' ? 'pnpm' : packageManager === 'yarn' ? 'yarn' : 'npm' const commands: ProjectCommands = { install: `${pmCmd} install`, build: `${pmCmd} run build`, start: `${pmCmd} run start`, test: `${pmCmd} run test`, } // Conditionally add optional commands if (packageManager === 'pnpm' || packageManager === 'npm') { commands.dev = `${pmCmd} run dev` commands.preview = `${pmCmd} run preview` commands.serve = `${pmCmd} run serve` } // Optional lint command if (packageManager === 'npm') { commands.lint = `${pmCmd} run lint` } return commands } export async function detectProjectType(_projectPath: string): Promise<string> { // Placeholder implementation return 'nodejs' }

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/A-Niranjan/mcp-filesystem'

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