Alcatel Lucent Enterprise Aos Mcp Server について
このMCPサーバーは、SSH経由でAlcatel AOSスイッチの基本的なCLIコマンドをAIシステムから実行できるようにします。SSHコマンド実行をREST APIとして分離し、設定ファイルで許可するコマンドを指定できます。
主な機能
- 01SSH経由でスイッチCLIを実行
- 02SSH実行用REST API
- 03許可するAOSコマンドの設定
- 04Docker ComposeによるSSH・MCPサーバーの展開
活用シーン
- 01AOSスイッチで基本コマンドを実行
- 02実行可能なスイッチコマンドを制限
- 03クライアントからリモートMCPサーバーへ接続
- 04MCPとSSHのサーバーをまとめて展開
MCP 対応
AOSスイッチの基本コマンドを実行するツールをMCP経由で提供します。クライアントはStreamable HTTPでリモートサーバーに接続するか、stdio経由でリモートのaos_ssh RESTサービスを利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ALE AOS mcp サーバー
このプロジェクトは、Alcatel AOS スイッチ向けの MCP(Model Context Protocol)サーバーを提供します。詳細は https://modelcontextprotocol.io/docs/getting-started/intro を参照してください。 基本的なスイッチの CLI コマンドを SSH 接続経由で実行できます。 これにより、LLM と Alcatel AOS ネットワークスイッチとのやり取りが可能になります。 以下の 2 つのサブプロジェクトが含まれています。
- aos_ssh:ALE AOS スイッチで SSH CLI コマンドを実行する REST API を提供します
- aos_mcp:aos_ssh サーバーの REST API 経由で基本的な SSH コマンドを実行するための MCP ツールを LLM に提供する MCP サーバーです。
デモ
- GitHub Copilot CLI を使ったデモ
https://github.com/user-attachments/assets/828169e4-867f-44cb-8bb6-dd90116090a2
- Visual Studio Code で GitHub Copilot を使用する
- Visual Studio Code で Cursor を使用する
- Gemini CLI
- Claude Code CLI
- Opencode CLI(Linux のみ)
アーキテクチャ

MCP サーバーと SSH サーバーのデプロイ
aos_ssh および aos_mcp サーバー用の Docker イメージを利用できます。
- docker.io/foricher/ale-aos-ssh:[tag]
- docker.io/foricher/ale-aos-mcp:[tag]
deploy フォルダーには、Docker Compose による MCP サーバー側のデプロイ構成があります。
ale-aos-ssh の設定
SSH 接続に使用するスイッチのホスト、ユーザー、パスワードを data\aos-ssh-host.json ファイルに設定します。
{
"jump_ssh_hosts": [
{
"name": "jump_name",
"public_host": "public_host_or_ip_address",
"public_port": 22,
"private_host": "private_host_or_ip_address",
"private_port": 22,
"user": "jump_user",
"password": "jupmp_password"
}
],
"hosts": [
{
"host": "host_or_ip_address1",
"user": "user",
"password": "password",
"tags": ["sw1"]
},
{
"host": "host_or_ip_address2",
"user": "user",
"password": "password",
"tags": ["sw2"],
"jump_ssh_name": "jump_name"
}
]
}
許可する AOS コマンドを data\aos-ssh-conf.yaml ファイルに設定します。
allowed_aos_commands:
- show .*
- ping .*
- traceroute .*
ale-aos-ssh の設定
data\mcp_tools.yaml ファイルでは、LLM が AOS コマンドを実行するために使用するツールを定義します。
Docker Compose ファイル
docker-compose.yaml ファイル:
services:
aos-ssh:
image: docker.io/foricher/ale-aos-ssh:0.1.2.2
ports:
- "8210:8110"
volumes:
- ./data/aos-ssh-host.json:/app/data/aos-ssh-host.json
- ./data/aos-ssh-conf.yaml:/app/data/aos-ssh-conf.yaml
aos-mcp:
image: docker.io/foricher/ale-aos-mcp:0.1.2
ports:
- "8000:8000"
environment:
- ALE_AOS_MCP_SSH_URL=http://aos-ssh:8110
- ALE_AOS_MCP_TRANSPORT=streamable-http
# - ALE_AOS_MCP_TRANSPORT=sse
- ALE_AOS_MCP_TOOLS_FILE=/app/data/mcp_tools.yaml
volumes:
- ./data:/app/data
depends_on:
- aos-ssh
Docker Compose を起動します。
cd deploy
docker compose up
デフォルトでは、MCP サーバーは streamable-http トランスポートでデプロイされます。
MCP Inspector でテストする
MCP Inspector ツールを使用して AOS MCP サーバーをテストできます。詳細は https://modelcontextprotocol.io/legacy/tools/inspector を参照してください。
npx @modelcontextprotocol/inspector
- Transport Type に「Streamable HTTP」を選択します
- URL を入力します:http://mcp-host:8000/mcp
- プロキシセッションのトークンを入力します

クライアント
-
Streamable HTTP トランスポートでリモート MCP サーバーに接続します。
ale_aos_mcp と ale_aos_ssh の両サーバーがリモートで実行されます。
{
"mcpServers": {
"aos": {
"type": "http",
"url": "http://<aos-mcp-host>:8000/mcp"
}
}
}
-
stdio トランスポートでローカル MCP サーバーに接続します。
ローカルの ale_aos_mcp サーバーは、指定された引数 --aos-ssh-url url を使ってリモートの ale_aos_ssh サーバーに接続します。
{
"mcpServers": {
"aos": {
"command": "uv run ale_aos_mcp",
"args": [
"--aos-ssh-url",
"http://<aos-ssh-host>:8210"
],
"env": {
}
}
}
}
Visual Studio Code で GitHub Copilot を使用する
ワークスペース内の .vscode フォルダーに、以下のように mcp.json ファイルを配置します。
- Streamable HTTP トランスポートの場合
{
"servers": {
"aos": {
"type": "http",
"url": "http://<aos-mcp-host>:8000/mcp"
}
}
}
- stdio トランスポートの場合
{
"servers": {
"aos": {
"command": "uv run ale_aos_mcp",
"args": [
"--aos-ssh-url",
"http://<aos-ssh-host>:8210"
],
"env": {
}
}
}
}
チャットの agent モードを設定します。

Visual Studio Code で Cursor を使用する
ワークスペース内の .cursor フォルダーに、以下のように mcp.json ファイルを配置します。
チャットの agent モードを設定します。
{
"mcpServers": {
"aos": {
"url": "http://<aos-mcp-host>:8000/mcp"
}
}
}

Gemini CLI を使用する
.gemini フォルダーに、以下のように 'settings.json' ファイルを配置します。
{
"mcpServers": {
"aos": {
"name": "AOS MCP Server",
"description": "AOS MCP Server for managing AOS switches",
"httpUrl": "http://<aos-mcp-host>:8000/mcp",
"timeout" : 60000
}
}
}
Zscaler の問題
set NODE_EXTRA_CA_CERTS=C:\\Data\\zscaler\\zscaler.pem
set NODE_TLS_REJECT_UNAUTHORIZED=0
Gemini API キーを設定します
set GEMINI_KEY_API=<gemini-api-key>
Gemini CLI をインストールします
npm install -g @google/gemini-cli@latest
gemini -m gemini-2.5-flash
または
npx https://github.com/google-gemini/gemini-cli -m gemini-2.5-flash

Claude Code CLI を使用する
詳細については、(https://docs.anthropic.com/en/docs/claude-code/mcp)を参照してください。
Zscaler の問題が発生した場合
set NODE_EXTRA_CA_CERTS=C:\\Data\\zscaler\\zscaler.pem
set NODE_TLS_REJECT_UNAUTHORIZED=0
Claude Code をインストールします
npm install -g @anthropic-ai/claude-code
プロジェクト内で
cd <project>
プロジェクトに AOS MCP サーバーを追加します。
claude mcp add --transport http --scope project aos http://<mcp-server-host>:8000/mcp
Claude を実行します。
claude

Opencode CLI を使用する(Linux のみ)
詳細については、(https://opencode.ai)を参照してください。
Zscaler の問題が発生した場合
export NODE_TLS_REJECT_UNAUTHORIZED=0
Claude Code をインストールします
npm i -g opencode-ai
プロジェクト内で
cd <project>
プロジェクトに opencode.json ファイルを追加します。
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"aos": {
"type": "remote",
"url": "http://<mcp-host>:8000/mcp",
"enabled": true
}
}
}
Opencode を実行します。
opencode

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