mcpField
M
MCP EV Assistant Server

MCP EV Assistant Server

ローカル
github.com/Abiorh001AI・エージェント082 週間前に更新

MCP EV Assistant Server について

電気自動車での移動を支援するMCPサーバーです。充電ステーション検索、ルート計画、文書リソース管理を備え、充電を考慮した移動計画やEV関連PDFの利用に向いています。

主な機能

  1. 01場所・距離・コネクター種別で充電ステーションを検索
  2. 02充電スポットを含むEVルートの計画
  3. 03航続距離と現在の充電量を考慮した経路計画
  4. 04PDFの管理とテキスト抽出
  5. 05充電時間推定とルート計画のプロンプト

活用シーン

  1. 01距離とコネクター種別を指定して充電スポットを検索
  2. 02航続距離と充電停車を考慮した移動計画
  3. 03EVのマニュアルやガイドの内容を参照
  4. 04現在量から目標量までの充電時間を推定

MCP 対応

充電ステーション検索とルート計画のツール、対話型プロンプト、購読可能なPDFリソースをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP EV アシスタントサーバー

電気自動車(EV)の充電ステーション、旅行計画、リソース管理を行う強力なサーバー実装です。このサーバーは、EV 関連サービス向けの包括的なツールと API を提供します。

目次

機能

1. EV 充電ステーションサービス
  • 充電ステーションの検索:場所と希望条件に基づいて、近くの EV 充電ステーションを検索します
  • ソケットタイプによる絞り込み:特定の充電ソケットタイプ(CCS、CHAdeMO、Type 2 など)を検索します
  • 距離による検索:充電ステーションを検索する範囲を指定します
2. 旅行計画
  • ルート計画:EV に適した場所間のルートを計画します
  • 充電停止地点の組み込み:必要な充電停止地点を自動的に組み込みます
  • 航続距離の考慮:車両の航続距離と現在の充電レベルを考慮します
3. リソース管理
  • PDF ドキュメント管理:EV 関連の PDF ドキュメント(ユーザーガイド、マニュアルなど)を処理します
  • リソースの購読:リアルタイム更新のためのリソース購読をサポートします
  • 自動テキスト抽出:フォールバック機能を備えた PDF テキスト抽出を行います
4. インタラクティブなプロンプト
  • 充電ステーション検索:充電ステーションを検索するためのインタラクティブなプロンプト
  • 充電時間の見積もり:さまざまなパラメーターに基づいて充電時間を計算します
  • ルート計画の支援:充電を考慮したインタラクティブなルート計画

インストール

1. リポジトリをクローンする
git clone https://github.com/Abiorh001/mcp_ev_assistant_server.git
cd mcp_ev_assistant_server
2. 仮想環境を設定する(推奨)
python -m venv .venv
source .venv/bin/activate  # On Linux/Mac
# or
.venv\\Scripts\\activate  # On Windows
3. 依存関係をインストールする
uv sync

設定

1. 環境変数

プロジェクトのルートに .env ファイルを作成し、次の変数を設定します:

OPENCHARGE_MAP_API_KEY=your_opencharge_map_api_key
GOOGLE_MAP_API_KEY=your_google_map_api_key
2. サーバー設定

servers_config.json を作成または更新します:

{
  "mcpServers": {
    "ev_assistant": {
      "command": "/home/$USER/path/mcp_learning/.venv/bin/python",
      "args": ["/home/$USER/path/mcp_ev_assistant_server/ev_assistant_server.py"],
      "env": {
        "OPENCHARGE_MAP_API_KEY": "your_opencharge_map_api_key",
        "GOOGLE_MAP_API_KEY": "your_google_map_api_key"
      }
    }
  }
}
3. ディレクトリ構造
mcp_ev_assistant_server/
├── ev_assistant_server.py
├── .env
├── servers_config.json
├── Data/                  # PDF resources directory
├── agentTools/           # Tool implementations
│   ├── charge_station_locator.py
│   └── ev_trip_planner.py
└── core/                 # Core functionality
    ├── schemas.py
    └── logger.py

使用方法

サーバーの起動
# Method 1: Direct Python execution
python ev_assistant_server.py


API の例
  1. 充電ステーションを検索する:
result = await client.call_tool("charge_points_locator", {
    "address": "London, UK",
    "max_distance": 10,
    "socket_type": "CCS"
})
  1. 旅行を計画する:
result = await client.call_tool("ev_trip_planner", {
    "user_address": "Manchester, UK",
    "user_destination_address": "Liverpool, UK",
    "socket_type": "Type 2"
})

API リファレンス

ツール
  1. charge_points_locator

    • 目的:場所の近くにある EV 充電ステーションを検索します
    • パラメーター:
      • address:検索する場所(文字列、必須)
      • max_distance:検索半径(キロメートル、整数、必須)
      • socket_type:充電ソケットのタイプ(文字列、必須)
  2. ev_trip_planner

    • 目的:EV に適したルートを計画します
    • パラメーター:
      • user_address:出発地(文字列、必須)
      • user_destination_address:目的地(文字列、必須)
      • socket_type:希望する充電ソケットのタイプ(文字列、必須)
プロンプト
  1. find-charging-stations

    • 必須:
      • location:検索する場所
    • 任意:
      • radius:検索半径(km)
      • socket_type:充電ソケットのタイプ
  2. charging-time-estimate

    • 必須:
      • vehicle_model:EV のメーカーとモデル
      • current_charge:現在のバッテリー残量(パーセント)
      • target_charge:目標とするバッテリー残量(パーセント)
      • charger_power:充電ステーションの出力(kW)
  3. route-planner

    • 必須:
      • start_location:出発地
      • end_location:目的地
      • vehicle_range:満充電時の車両の航続距離
    • 任意:
      • current_charge:現在のバッテリー残量(パーセント)

リソース管理

PDF リソースの処理
  • /Data ディレクトリ内の PDF ファイルを自動的に検出します
  • 複数のフォールバック方式によるテキスト抽出をサポートします
  • 更新のためのリソース購読を処理します
購読システム
# Subscribe to a resource
await client.subscribe_resource("file:///pdf/ev_manual")

# Unsubscribe from a resource
await client.unsubscribe_resource("file:///pdf/ev_manual")

エラー処理

  • 包括的なエラーログ記録
  • PDF 処理のフォールバック機能
  • Pydantic スキーマを使用した入力検証
  • リソースが見つからない場合の適切な処理

開発

新しいツールの追加
  1. core.schemas でツールのスキーマを定義します
  2. agentTools でツール関数を実装します
  3. handle_list_tools() にツールを追加します
  4. handle_call_tool() でツールの処理を実装します
新しいプロンプトの追加
  1. PROMPTS でプロンプトの構造を定義します
  2. handle_get_prompt() で検証を実装します
  3. 必要なスキーマ検証を追加します

コントリビューション

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/AmazingFeature)
  3. 変更をコミットします(git commit -m 'Add some AmazingFeature')
  4. ブランチにプッシュします(git push origin feature/AmazingFeature)
  5. プルリクエストを作成します

ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については、LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。