Skip to main content
Glama

Memory Bank MCP Server

by t3ta
esm-migration-plan.json3.9 kB
{ "schema": "memory_document_v2", "metadata": { "id": "b31e2f65-63c1-444e-9b45-cc66675f5a1c", "title": "ESM移行計画", "documentType": "generic", "path": "esm-migration-plan.md", "tags": [], "lastModified": "2025-03-18T13:12:58.869Z", "createdAt": "2025-03-18T13:12:58.869Z", "version": 1 }, "content": { "rawContent": "# ESM移行計画\n\n## 背景と目的\n\nメモリバンクMCPサーバーはESモジュール形式で開発されていましたが、テスト環境との互換性問題から一時的にCommonJSへの移行を検討していました。しかし、MCP SDKがデュアルパッケージ形式(ESM/CommonJS両対応)であり、内部テストもESMで実行されていることが判明したため、ESM形式に戻す方針に変更します。\n\nこの移行の主な目的は:\n\n1. **SDKのネイティブサポート形式との一致**: MCP SDKのメイン形式はESM\n2. **将来的な互換性の確保**: ESMは今後の標準となるモジュールシステム\n3. **コード品質と一貫性の向上**: 一時的な変換によるバグリスクの低減\n\n## 実装計画\n\n### 1. Jest設定のESMモード対応\n\n```javascript\n// jest.config.js\nimport { createDefaultEsmPreset } from \"ts-jest\";\nconst defaultEsmPreset = createDefaultEsmPreset();\n\nexport default {\n ..defaultEsmPreset,\n moduleNameMapper: {\n \"^(\\\\.{1,2}/.*)\\\\.js$\": \"$1\"\n },\n transformIgnorePatterns: [\n \"/node_modules/(?!@modelcontextprotocol/sdk)(?!uuid)/\"\n ],\n testPathIgnorePatterns: [\"/node_modules/\", \"/dist/\"]\n};\n```\n\n### 2. TypeScript設定の最適化\n\n```json\n// tsconfig.json\n{\n \"compilerOptions\": {\n \"target\": \"ES2020\",\n \"module\": \"Node16\",\n \"moduleResolution\": \"Node16\",\n \"esModuleInterop\": true,\n \"strict\": true,\n \"skipLibCheck\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"outDir\": \"./dist\",\n \"rootDir\": \"./src\",\n \"declaration\": true\n }\n}\n```\n\n### 3. package.json設定の更新\n\n```json\n{\n \"type\": \"module\",\n \"scripts\": {\n \"test\": \"node --experimental-vm-modules node_modules/jest/bin/jest.js\"\n }\n}\n```\n\n### 4. 必要なファイルの修正\n\n1. **ヘルパーモジュールの更新**:\n - `import` 文と `export` 文の形式を確認・修正\n - 相対パスでの `.js` 拡張子の追加\n - 型定義方法の最適化\n\n2. **テストファイルの更新**:\n - モジュールインポート方法の修正\n - 型定義の参照方法の確認\n\n## 実装手順\n\n1. **基本設定の変更**:\n - package.jsonの`\"type\": \"module\"`の追加/確認\n - tsconfig.jsonの更新\n - jest.config.jsの作成・最適化\n\n2. **テスト基盤の更新**:\n - server-manager.tsの修正\n - mcp-client.tsの修正\n - test-utils.tsの修正\n\n3. **テストファイルの更新**:\n - basic-mcp-test.test.tsの修正\n - その他のテストファイルの段階的更新\n\n4. **検証プロセス**:\n - 基本的なテストの実行確認\n - より複雑なテストへの段階的移行\n - 完全なテストスイートのカバレッジ確保\n\n## 期待される成果\n\n1. MCP SDKとのシームレスな統合\n2. より安定したテスト環境\n3. 将来の拡張に対する堅牢な基盤\n4. 開発生産性の向上\n\n## 修正影響範囲\n\n1. テスト環境の設定ファイル\n2. テストヘルパーモジュール\n3. 既存のテストファイル\n\n本番コードへの影響は最小限に抑えられる見込みです。\n", "sections": { "": "1. テスト環境の設定ファイル\n2. テストヘルパーモジュール\n3. 既存のテストファイル\n\n本番コードへの影響は最小限に抑えられる見込みです。" } } }

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