Skip to main content
Glama
tanamurayuuki

Gemini URL Context & Search MCP Server

README.md3.73 kB
# 📁 src/ - TypeScript ソースコード このフォルダには、MCP サーバーの全ソースコードが Clean Architecture に基づいて整理されています。 ## 🏗️ アーキテクチャ構成 ``` src/ ├── 🏛️ domain/ # ドメイン層(ビジネスロジック) ├── 🎯 usecase/ # ユースケース層(アプリケーションロジック) ├── 🔌 adapter/ # アダプター層(外部システム連携) ├── ⚙️ config/ # 設定管理 ├── 🧪 test/ # テスト設定 ├── 🚀 index.ts # MCPサーバーエントリーポイント └── 🔍 test-runner.ts # 統合テスト実行 ``` --- ## 🏛️ **domain/** - ドメイン層 **責務**: ビジネスルール・ドメインモデルの定義(外部依存なし) ### Value Objects(値オブジェクト) - `Url.ts` - URL の正規化・検証・等価性 - `ModelName.ts` - 許可されたモデル名の型安全管理 - `Page.ts` - ページコンテンツの表現・画像URL正規化 ### Domain Services(ドメインサービス) - `TextTrimmer.ts` - テキスト制限・単語境界での切り詰め - `ImageUrlNormalizer.ts` - 相対→絶対URL変換・フィルタリング ### Domain Models(ドメインモデル) - `ExtractContentResult.ts` - API応答の構造化・JSON変換 - `Environment.ts` - 環境設定・API キー管理 ### Domain Errors(ドメイン例外) - `DomainError.ts` - 型付きエラー・例外分類 --- ## 🎯 **usecase/** - ユースケース層 **責務**: アプリケーションの流れ・ビジネス処理の調整 - `ExtractContentUseCase.ts` - URL抽出の全体フロー制御 - `GoogleSearchUseCase.ts` - Google検索の結果整理・フォーマット --- ## 🔌 **adapter/** - アダプター層 **責務**: 外部システム(API)との連携・依存関係の抽象化 ### Interface(抽象化) - `IGenAI.ts` - AI API の共通インターフェース ### Implementations(実装) - `GoogleGenAI.ts` - Gemini API 実装(URL Context) - `GoogleSearchGenAI.ts` - Google Search API 実装 - `FakeGenAI.ts` - テスト用モック実装 ### Factory(生成) - `GenAIFactory.ts` - 本番・テスト環境での実装切り替え --- ## ⚙️ **config/** - 設定管理 **責務**: アプリケーション設定・環境依存の管理 - `CompanyConfig.ts` - 社内向け設定(ドメイン制限・プロキシ等) --- ## 🧪 **test/** - テスト設定 **責務**: テスト環境の共通設定 - `setup.ts` - Jest グローバル設定・テストヘルパー --- ## 🚀 **実行ファイル** ### `index.ts` - MCPサーバーメイン **責務**: - MCP プロトコルサーバーの起動 - ツール定義・ハンドラー登録 - 依存関係の注入・初期化 ### `test-runner.ts` - 統合テスト **責務**: - 全体の動作確認 - Fake実装による統合テスト実行 --- ## 🎯 設計原則 ### 📐 Clean Architecture - **依存関係の方向**: 外側→内側(Domain は他に依存しない) - **抽象化**: Interface で外部依存を隠蔽 - **テスタビリティ**: Fake実装で外部システムを差し替え ### 🛡️ 型安全性 - **Value Object**: 不正な値の混入を防止 - **Domain Error**: 例外の型による適切な処理 - **TypeScript 厳密モード**: コンパイル時エラー検出 ### 🔄 テスト駆動開発 - **単体テスト**: 各ドメインモデルの動作検証 - **統合テスト**: 全体フローの動作確認 - **テスト容易性**: 依存関係注入による差し替え --- **Clean で保守しやすいコードベース!** ✨

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/tanamurayuuki/MCP-URLcontext'

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