Skip to main content
Glama

Memory Bank MCP Server

by t3ta
cli.ts3.61 kB
#!/usr/bin/env node import * as fs from 'fs'; import * as path from 'path'; import { Command } from 'commander'; import { PackageStructureTool } from './index'; const program = new Command(); const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, '../package.json'), 'utf8')); program .name('package-analyzer') .description('TypeScriptプロジェクトのパッケージ構造を解析し、ダイアグラムを生成するツール') .version(packageJson.version); program .command('analyze') .description('プロジェクトを解析してダイアグラムを生成') .argument('[projectPath]', 'プロジェクトのパス (デフォルト: カレントディレクトリ)') .option('-c, --config <path>', '設定ファイルのパス') .option('-t, --type <type>', 'ダイアグラムのタイプ (directory, class, dependency)', 'directory') .option('-o, --output <path>', '出力ファイルのパス') .option('-f, --format <format>', '出力フォーマット (mermaid, json, html)', 'mermaid') .option('-j, --json', 'プロジェクト構造をJSONとして出力') .action((projectPath, options) => { try { // プロジェクトパスのデフォルト値を設定 const targetPath = projectPath || process.cwd(); // ツールを初期化 const tool = new PackageStructureTool(options.config); // 出力フォーマットを設定 if (options.format) { tool.updateConfig({ output: { format: options.format } }); } // プロジェクトを解析 console.log(`プロジェクトを解析中: ${targetPath}`); const structure = tool.analyze(targetPath); console.log(`解析完了: ${structure.rootDirectories.length} ディレクトリ, ${structure.packagePaths.size} パッケージ`); // ダイアグラムを生成 if (!options.json) { const diagramType = options.type as 'directory' | 'class' | 'dependency'; console.log(`${diagramType}ダイアグラムを生成中...`); const diagram = tool.generateDiagram(diagramType); // 出力ファイル名を決定 const outputFilename = options.output ? path.basename(options.output) : undefined; const outputPath = tool.outputDiagram(diagram, outputFilename); console.log(`ダイアグラムを保存しました: ${outputPath}`); } // JSON出力オプションがあればJSON形式で出力 if (options.json) { const outputFilename = options.output ? path.basename(options.output) : undefined; const outputPath = tool.outputStructureJson(outputFilename); console.log(`プロジェクト構造を保存しました: ${outputPath}`); } } catch (error) { console.error('エラー:', error.message); process.exit(1); } }); program .command('init') .description('設定ファイルを初期化') .option('-p, --path <path>', '設定ファイルの保存先パス') .action((options) => { try { const configPath = options.path; const tool = new PackageStructureTool(configPath); // デフォルト設定を保存 tool.saveConfig(); console.log('設定ファイルを初期化しました!'); } catch (error) { console.error('エラー:', error.message); process.exit(1); } }); program.parse(process.argv); // コマンドが指定されていない場合はヘルプを表示 if (!process.argv.slice(2).length) { program.outputHelp(); }

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/t3ta/memory-bank-mcp-server'

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