Skip to main content
Glama
m4tyn0

InfluxDB MCP Server

by m4tyn0

InfluxDB MCP サーバー

JWT 認証を介して InfluxDB 1.8 への安全な読み取り専用アクセスを提供するモデル コンテキスト プロトコル (MCP) サーバー。

概要

InfluxDB MCPサーバーは、AIアシスタントが標準化されたインターフェースを介してInfluxDBに保存された時系列データにクエリを実行できるようにします。JWTトークンによる認証により、InfluxDBインスタンスへの読み取り専用アクセスを提供します。

Related MCP server: MongoDB MCP Server

前提条件

  • ドッカー

  • InfluxDB 1.8 インスタンス (すでに実行中)

  • InfluxDBインスタンスの認証情報

インストール

  1. リポジトリをクローンします:

    git clone https://github.com/m4tyn0/influx_mcp cd influxdb-mcp-server
  2. 設定を含む**.envファイルを作成します**。

    cp env.example .env
    INFLUXDB_HOST= INFLUXDB_PORT=8086 INFLUXDB_USERNAME= INFLUXDB_PASSWORD= INFLUXDB_SSL=false INFLUXDB_VERIFY_SSL=true INFLUXDB_TIMEOUT=10 JWT_SECRET= JWT_ALGORITHM=HS256
  3. Docker コンテナをビルドして実行します

    docker build -t influxdb-mcp-server . docker run -d --env-file .env -p 8000:8000 influxdb-mcp-server

JWT認証

サーバーは認証にJWTトークンを使用します。MCPサーバーで認証するにはトークンを生成する必要があります。そのための簡単なスクリプトを以下に示します。

import jwt import datetime # Create a token payload = { "sub": "username", # Replace with the username you want to identify with "iat": datetime.datetime.utcnow(), "exp": datetime.datetime.utcnow() + datetime.timedelta(hours=1) } token = jwt.encode(payload, "your-jwt-secret", algorithm="HS256") print(token)

このトークンを MCP クライアントで使用するために保存します。

MCPクライアントでの使用

  1. JWT トークンを使用して MCP サーバーで認証します

    Tool: auth Arguments: {"token": "your.jwt.token.here"}
  2. InfluxDB データのクエリ:

    Tool: list_databases Arguments: {}
    Tool: list_measurements Arguments: {"database": "your_database_name"}
    Tool: query Arguments: { "database": "your_database_name", "query": "SELECT * FROM measurement_name LIMIT 10" }

トラブルシューティング

問題が発生した場合:

  1. InfluxDBへの接続エラー:

    • INFLUXDB_HOST が正しく、Docker コンテナからアクセスできることを確認します。

    • InfluxDBの認証情報が正しいことを確認してください

    • InfluxDBインスタンスが外部ホストからの接続を受け入れるように設定されていることを確認します。

  2. 認証の問題:

    • JWT_SECRETが正しく設定されていることを確認してください

    • 使用しているトークンがJWT_SECRETと一致しており、期限が切れていないことを確認してください。

    • InfluxDBの認証情報にデータベースへの読み取りアクセス権があることを確認します

  3. ログを確認してください:

    docker logs

セキュリティノート

  • MCPサーバーはInfluxDBインスタンスへの読み取り専用アクセスのみを許可します

  • すべてのクエリはSELECTで始まることを確認するために検証されます

  • JWT認証はMCPサーバーへのアクセスを保護します

  • セキュリティ強化のため、プライベートネットワークでサーバーを実行することを検討してください。

ご協力ありがとうございました。コードに問題がある場合や、もっと何か作ってほしいものがあれば、 m4tyn0@gmail.comまでご連絡ください。

-
security - not tested
F
license - not found
-
quality - not tested

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/m4tyn0/influx_mcp'

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