Skip to main content
Glama

scan_project_dirs

Scan project directories to locate package.json files and identify dev scripts, enabling automated management of npm run dev processes in background.

Instructions

プロジェクト内のpackage.jsonとdevスクリプトを検索

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Main handler function that scans project directories using ProjectScanner, finds package.json with dev scripts, and returns formatted JSON result.
    export async function scanProjectDirs(): Promise<string> { try { logger.info('Scanning for project directories'); const scanner = new ProjectScanner(); const projects = await scanner.scanForProjects(); if (projects.length === 0) { return JSON.stringify({ success: false, message: 'devスクリプトが定義されたpackage.jsonが見つかりませんでした', projects: [] }); } const result = { success: true, message: `${projects.length}個のプロジェクトが見つかりました`, projects: projects.map(project => ({ directory: project.directory, name: project.packageJson.name || 'Unnamed Project', devScript: project.packageJson.scripts?.dev, hasEnvFile: !!project.envPath, envPath: project.envPath, priority: project.priority, dependencies: Object.keys({ ...project.packageJson.dependencies, ...project.packageJson.devDependencies }).slice(0, 5) // Show first 5 dependencies })) }; logger.info(`Found ${projects.length} projects with dev scripts`); return JSON.stringify(result, null, 2); } catch (error) { logger.error('Failed to scan project directories', { error }); return JSON.stringify({ success: false, message: `スキャンエラー: ${error}`, projects: [] }); } }
  • Tool schema defining name, description, and empty input schema (no parameters required).
    export const scanProjectDirsSchema: Tool = { name: 'scan_project_dirs', description: 'プロジェクト内のpackage.jsonとdevスクリプトを検索', inputSchema: { type: 'object', properties: {}, additionalProperties: false } };
  • src/index.ts:55-65 (registration)
    Registers the scanProjectDirsSchema in the array of available tools provided to the MCP server.
    const tools = [ scanProjectDirsSchema, startDevServerSchema, getDevStatusSchema, getDevLogsSchema, stopDevServerSchema, restartDevServerSchema, getHealthStatusSchema, recoverFromStateSchema, autoRecoverSchema, ];
  • src/index.ts:127-135 (registration)
    Switch case in tool call handler that invokes the scanProjectDirs function and formats the response.
    case 'scan_project_dirs': return { content: [ { type: 'text', text: await scanProjectDirs(), }, ], };

Other Tools

Related Tools

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/masamunet/npm-dev-mcp'

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