ABS MCP サーバー
オーストラリア統計局(ABS)データAPIへのアクセスを提供するMCP(モデルコンテキストプロトコル)サーバー。このサーバーにより、AIアシスタントはSDMX-ML APIを介してABS統計データを照会および分析できます。
特徴
- SDMX-ML API を介して利用可能なすべての ABS データセットを動的に検出します。
- オプションのフィルターを使用して ABS データセットをクエリする
- 複数のデータ形式(JSON、CSV、XML)のサポート
- AIアシスタントとのシームレスな統合を実現するMCPプロトコルを基盤に構築
- パフォーマンス向上のためのキャッシュシステム
- 包括的なログ記録とエラー処理
インストール
発達
前提条件
建物
ランニング
開発ツール
npm run build
: TypeScriptコードをビルドするnpm start
: サーバーを実行するnpm run inspector
: テスト用にMCPインスペクタを実行する
プロジェクト構造
src/
├── index.ts # Main server implementation
├── services/
│ └── abs/
│ ├── ABSApiClient.ts # ABS API communication
│ └── DataFlowService.ts # Data flow management and caching
├── types/
│ └── abs.ts # TypeScript type definitions
└── utils/
└── logger.ts # Logging configuration
実装の詳細
ABS APIクライアント
ABSApiClient
クラスは、ABS データ API との通信を処理します。
- データ交換にはSDMX-ML形式を使用します
- 複数の応答形式(JSON、CSV、XML)をサポート
- 適切なエラー処理とログ記録を実装する
- 設定可能なタイムアウトと再試行
データフローサービス
DataFlowService
クラスは ABS データ フローを管理します。
- ABS APIから利用可能なデータセットを動的に取得します
- 設定可能な更新間隔でキャッシュを実装します
- 特定のデータセットをクエリするためのメソッドを提供する
- データの変換とフォーマットを処理する
ログ記録
Winston を使用した包括的なログ記録システム:
- 開発のためのデバッグレベルのログ
- 構造化されたJSONログ形式
- コンソールとファイル転送オプション
- 設定可能なログレベルとフォーマット
Claude Desktopとの統合
- Claude Desktop が実行中の場合は閉じます
- ABS MCPサーバーを起動します:
npm start
- Claudeデスクトップを起動
- ABSツールは「利用可能なMCPツール」ウィンドウに表示されます。
APIドキュメント
ABS データ API の詳細については、以下をご覧ください。
貢献
- リポジトリをフォークする
- 機能ブランチを作成する
- 変更を加える
- プルリクエストを送信する
ライセンス
MITライセンス