Skip to main content
Glama
scanProjectDirs.ts1.9 kB
import { Tool } from '@modelcontextprotocol/sdk/types.js'; import { ProjectScanner } from '../components/ProjectScanner.js'; import { Logger } from '../utils/logger.js'; const logger = Logger.getInstance(); export const scanProjectDirsSchema: Tool = { name: 'scan_project_dirs', description: 'プロジェクト内のpackage.jsonとdevスクリプトを検索', inputSchema: { type: 'object', properties: {}, additionalProperties: false } }; 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: [] }); } }

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