LocalDude について
InfluxDBの時系列データを検索するNode.js/TypeScript製のMCPサーバーです。カスタムFluxクエリの実行に加え、測定項目とフィールドの最新値や期間内データを取得できます。
主な機能
- 01カスタムFluxクエリの実行
- 02測定項目の最新値の取得
- 03期間を指定した測定データの検索
活用シーン
- 01最新のセンサー値の確認
- 02指定期間のセンサー測定値の調査
MCP 対応
カスタムFluxクエリ、最新値検索、期間指定検索などのInfluxDBツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
LocalDude
Model Context Protocol(MCP)SDK を使用する Node.js/TypeScript プロジェクトです。
GitHub リポジトリ
このプロジェクトは GitHub でホストされています。リポジトリをクローンするには、次のコマンドを実行します。
git clone https://github.com/username/localdude.git
cd localdude
コントリビューション
コントリビューションを歓迎します!このプロジェクトへの貢献方法については、CONTRIBUTING.md をご覧ください。
インストール
npm install
利用可能なスクリプト
開発
npm run dev- ファイルの変更時に自動で再ビルドする開発モードでアプリケーションを起動しますnpm run dev:server- ファイルの変更時に自動で再ビルドする開発モードでサーバーを起動します
ビルドと実行
npm run build- TypeScript ファイルを JavaScript にコンパイルしますnpm run watch- ウォッチモードで TypeScript ファイルをコンパイルします(再起動はしません)npm run start- メインアプリケーションをビルドして起動しますnpm run server- サーバーをビルドして起動します
自動再ビルド機能
このプロジェクトでは、TypeScript ファイルが変更されると自動的に再ビルドして再起動するよう設定されています。これは次のツールを使用して実装されています。
- nodemon:ファイルの変更を監視し、再ビルドを実行します
- ts-node:TypeScript ファイルを直接実行します
自動再ビルドの動作は nodemon.json で設定されており、次の変更を監視します。
- ルートディレクトリにあるすべての
.tsファイル srcディレクトリが存在する場合は、その中にあるすべての.tsファイル
変更が検出されると、アプリケーションは自動的に再ビルドされ、再起動します。
InfluxDB 連携
このプロジェクトには、時系列データの保存とクエリを行うための InfluxDB 連携機能が含まれています。
設定
InfluxDB 連携を使用するには、.env ファイルに次の環境変数を設定する必要があります。
INFLUXDB_URL=http://localhost:8086
INFLUXDB_TOKEN=your_influxdb_token
INFLUXDB_ORG=your_organization
INFLUXDB_BUCKET=your_bucket
これらは .env.example ファイルからコピーし、プレースホルダーの値を実際の InfluxDB 接続情報に置き換えてください。
利用可能な InfluxDB ツール
サーバーには、InfluxDB を操作するための次のツールが用意されています。
-
influxdb-query:カスタム Flux クエリを実行します
{ "query": "from(bucket: \"your_bucket\") |> range(start: -1h) |> filter(fn: (r) => r._measurement == \"your_measurement\")" } -
influxdb-latest:指定した measurement と field の最新データポイントを取得します
{ "measurement": "your_measurement", "field": "your_field", "timeRange": "-1h" // optional, defaults to "-1h" } -
influxdb-range:指定した時間範囲内のデータを取得します
{ "measurement": "your_measurement", "field": "your_field", "start": "-1h", "stop": "now()" // optional, defaults to "now()" }
これらのツールは、MCP サーバーのインターフェースを通じて InfluxDB データベースへのクエリに使用できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。