mcpField
A
AgentSUMO

AgentSUMO

ローカル
github.com/mw-jeong科学・教育1119 週間前に更新

AgentSUMO について

AgentSUMO は、自然言語で SUMO 交通シミュレーションを計画、実行、分析するためのフレームワークです。Planner Agent が MCP ツールを調整し、結果を Web ダッシュボードに表示します。

主な機能

  1. 01自然言語によるシナリオ計画
  2. 02SUMO のネットワーク、トリップ、ルート生成
  3. 03道路、交通需要、信号の施策実験
  4. 04SQL による実行結果の比較と HTML レポート
  5. 05地図、グラフ、トリップ再生

活用シーン

  1. 01道路閉鎖や車線削減の検討
  2. 02信号制御や交通需要の変更評価
  3. 03シミュレーション実行の比較と交通指標の確認

MCP 対応

Planner Agent は AgentSUMO MCP ツールを使ってシミュレーションを実行します。サーバーはシナリオ生成、施策実験、分析、可視化のツールを公開し、シミュレーションデータ用の SQLite MCP Server にも接続します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mw-jeong-agentsumo": {
"command": "uvx",
"args": [
"agentsumo-mcp"
],
"env": {
"SUMO_HOME": "<SUMO_HOME>",
"AGENTSUMO_MCP_OUTPUT_BASE": "<AGENTSUMO_MCP_OUTPUT_BASE>"
}
}
}
}
起動コマンドuvx agentsumo-mcp
設定が必要な環境変数
SUMO_HOMEAbsolute path to the local SUMO installation directory (must contain bin/, share/, tools/).
AGENTSUMO_MCP_OUTPUT_BASEBase directory for simulation outputs (networks, trips, results). Defaults to the current working directory.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiagentsumo-mcp0.1.2

ツール

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

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

詳細

AgentSUMO

大規模言語モデルを用いた、SUMO の対話型シミュレーションシナリオ生成のためのエージェント型フレームワーク

PyPI tests arXiv Docs License: MIT Python 3.10+ MCP Registry

AgentSUMO の概要

ドキュメント · インストール · ツール · スキーマ · チュートリアル


概要

AgentSUMO を使うと、専門知識のない関係者でも自然言語でやり取りしながら、SUMO の交通シミュレーションを設計、実行、分析できます。プランナーエージェントは、抽象的な政策上の問いを実行可能なシミュレーション計画に変換し、Model Context Protocol(MCP)を介して実行し、ウェブダッシュボードを通じて結果を提示します。

  • 対話型シナリオ設計 — 政策上の問いを説明すると、実行可能なシミュレーションを作成します
  • 政策実験 — 道路閉鎖、車線削減、信号最適化、需要変更
  • シナリオ横断分析 — SQL ベースで実行結果を比較し、HTML レポートを自動生成します
  • ウェブダッシュボード — 地理空間可視化、時系列グラフ、トリップ再生

デモ

ウェブインターフェース

ウェブインターフェース:対話型計画パネル、シナリオ一覧、シミュレーションのリアルタイム状況。



地理空間可視化

地理空間可視化:エッジごとの指標、渋滞オーバーレイ、2.5D ベースマップ上でのトリップ再生。

アーキテクチャ

User (natural language)
    |
    v
Planner Agent (Claude LLM, Interactive Planning Protocol)
    |
    +--> AgentSUMO MCP Client --> AgentSUMO MCP Server (PyPI: agentsumo-mcp) --> SUMO
    |
    +--> SQLite MCP Client    --> SQLite MCP Server (Anthropic, open source)  --> simulations.db
    |
    +--> Filesystem MCP Client --> Filesystem MCP Server (Anthropic, open source) --> additional XML files

推論レイヤー(プランナーエージェント)はこのリポジトリにあります。実行レイヤー(agentsumo-mcp)は PyPI で公開され、依存関係として自動的にインストールされます。

ツールレイヤー

AgentSUMO MCP サーバーは、シミュレーションのワークフローに沿った5つの機能カテゴリに分類される26個のツールを提供します。詳細なリファレンスはagentsumo.readthedocs.io/.../toolsをご覧ください。

カテゴリ目的代表的なツール
シナリオ生成ベースラインとなるSUMOシミュレーションを構築します:OSM → ネットワーク → トリップ → ルート → 実行osm_extract、net_convert、trip_generate、route_generate、sumo_runner
ポリシーの実験インフラ、需要、信号制御への介入を適用しますedge_edit_tool、reduce_lanes_tool、vehicle_generation_tool、flow_generation_tool、tls_offset_tool、tls_adaptation_tool
結果分析SUMOのXML出力をSQLiteに変換し、HTMLレポートを生成しますxml_to_sqlite_tool、simulation_report_tool
可視化ネットワーク、ハイライト表示したエッジ、エッジごとの指標ヒートマップを描画しますvisualize_net_tool、visualize_edge_tool、visualize_policy_target_tool、visualize_edgedata_tool
ユーティリティ関数ネットワーク統計、ルーティング、道路名 ↔ エッジIDの解決、OD座標の検証、ウェブ検索による情報補強network_summary_tool、route_analysis_tool、validate_od_coordinates_tool、web_search_tool

インストール

要件
  • Python 3.10以降
  • SUMO 1.24以降(ローカルにインストールし、SUMO_HOMEを設定)
  • Anthropic Claude APIキー(ご自身のキーをご用意ください)
  • Mapboxアクセストークン(ウェブマップの描画に使用)
1. SUMOをインストールする

macOS

brew install sumo

または、Eclipse SUMOダウンロードページからインストーラーをダウンロードしてください。

Windows — Eclipse SUMOダウンロードページからインストーラーをダウンロードしてください。

Linux(Ubuntu/Debian)

sudo add-apt-repository ppa:sumo/stable
sudo apt-get update
sudo apt-get install sumo sumo-tools sumo-doc
2. Python環境をセットアップする

uvをインストールします:

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

リポジトリをクローンし、仮想環境を作成して、AgentSUMOをインストールします:

git clone https://github.com/mw-jeong/AgentSUMO
cd AgentSUMO

# Create a Python 3.12 venv
uv venv --python 3.12

# Activate the venv
source .venv/bin/activate              # macOS / Linux
# .venv\Scripts\activate               # Windows

# Install AgentSUMO and all dependencies
# (this also pulls agentsumo-mcp from PyPI as a dependency)
uv pip install -e .
3. 環境変数を設定する

AgentSUMOは、APIキーとSUMOのパスを環境変数から読み込みます。最も簡単な方法は、プロジェクトのルートに.envファイルを作成することです:

cp .env.example .env

エディターで.envを開き、次の値を入力します:

ANTHROPIC_API_KEY(必須)— Planner Agentを動作させるClaude APIキーです。Anthropic Consoleで取得してください。

ANTHROPIC_API_KEY=sk-ant-api03-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

MAPBOX_TOKEN(ウェブUIに必須)— ベースマップの描画に使用します。Mapboxアクセストークンページで取得してください。

MAPBOX_TOKEN=pk.eyJ1Ijoixxxxxxxxxxxxxxxxxx

SUMO_HOME(必須)— ローカルにインストールしたSUMOの絶対パスです。このディレクトリにはbin/sumo(Windowsではbin/sumo.exe)が含まれている必要があります。

# macOS (Homebrew)
SUMO_HOME=/opt/homebrew/share/sumo

# macOS (Eclipse SUMO installer)
SUMO_HOME=/Library/Frameworks/EclipseSUMO.framework/Versions/<version>/EclipseSUMO  # e.g. 1.24.0; use the directory name installed under Versions/

# Windows
SUMO_HOME=C:\Program Files (x86)\Eclipse\Sumo

# Linux
SUMO_HOME=/usr/share/sumo

AGENTSUMO_MCP_OUTPUT_BASE(任意)— MCPサーバーがシミュレーション出力(ネットワーク、トリップ、結果)を書き込むベースディレクトリを変更します。デフォルトは現在の作業ディレクトリです。

AGENTSUMO_MCP_OUTPUT_BASE=/path/to/your/output/dir
4. 実行する
# Web interface (opens at http://localhost:8000)
python web.py

# CLI mode
python chat.py

# Clean up simulation outputs
python clean.py

プロジェクト構成

AgentSUMO/
├── agentsumo/
│   ├── agent/        # Planner Agent (Claude orchestrator + prompts)
│   ├── client/       # MCP clients (AgentSUMO, SQLite, Filesystem)
│   └── core/         # Configuration
├── agentsumo_mcp/    # AgentSUMO MCP Server source (also published to PyPI)
│   └── defaults/     # Packaged fixtures (e.g., vehicle_types.add.xml)
├── packaging/mcp/    # PyPI build configuration for agentsumo-mcp
├── web/              # Web interface (FastAPI + Jinja2 templates)
├── docs/             # Sphinx documentation source
├── tests/            # Unit tests
├── assets/           # README images
├── output/           # Runtime artifacts (auto-populated; 8 categories tracked
│                     #   via .gitkeep — simulations/, networks/, trips/,
│                     #   analysis/, reports/, uploads/, visualizations/, additional/)
├── chat.py           # CLI entry point
├── web.py            # Web server entry point
└── .env.example      # Environment variable template

MCPサーバーを単独で使用する

AgentSUMO MCPサーバーは、このフレームワークとは独立して、MCP対応の任意のLLMクライアント(Claude Desktop、OpenAIのツールクライアント、Gemini、ローカルLLM)で使用できます:

pip install agentsumo-mcp

または、インストールせずにuvx経由で使用できます:

uvx agentsumo-mcp

このサーバーは、公式のMCP Registryにio.github.mw-jeong/agentsumo-mcpとして登録されています。

トラブルシューティング

SUMO のパスエラー — .env の SUMO_HOME を確認してください。このディレクトリには bin/sumo(Windows の場合は bin/sumo.exe)が含まれている必要があります。

API キーエラー — .env の ANTHROPIC_API_KEY に有効な Claude API キーが設定されていることを確認してください。キーがない場合、プランナーエージェントは起動しません。

依存関係エラー — 依存関係を再解決してください:

uv pip install -e . --upgrade

レガシートークンファイル(非推奨、0.2.0 で削除予定) — 対応する環境変数が設定されていない場合、AgentSUMO はプロジェクトのルートにある claude_api.txt と mapbox_token.txt へのフォールバックを引き続き行います。ただし、これらのコードパスではインポート時に DeprecationWarning が出力されるようになりました。新規インストールでは .env を使用するワークフローを利用してください。

ドキュメント

詳細なドキュメントは agentsumo.readthedocs.io をご覧ください。

引用

学術研究で AgentSUMO を使用する場合は、次の形式で引用してください:

@article{jeong2025agentsumo,
  title         = {AgentSUMO: An Agentic Framework for Interactive Simulation Scenario Generation in SUMO via Large Language Models},
  author        = {Jeong, Minwoo and Chang, Jeeyun and Yoon, Yoonjin},
  journal       = {arXiv preprint arXiv:2511.06804},
  year          = {2025},
  url           = {https://arxiv.org/abs/2511.06804}
}

ライセンス

MIT。詳細は LICENSE をご覧ください。


開発:

KAIST      CAUS      Spatial Tech Innovation Lab

コメント

MCP は初めてですか?

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

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