mcpField
A
Alcatel Lucent Enterprise Aos Mcp Server

Alcatel Lucent Enterprise Aos Mcp Server

Local
github.com/ForicherDeveloper Tools1Updated 54w ago

About Alcatel Lucent Enterprise Aos Mcp Server

This MCP server lets AI systems run basic CLI commands on Alcatel AOS switches over SSH. It separates SSH command execution behind a REST API from the MCP tools, with allowed commands configurable in a file.

Key features

  1. 01Run switch CLI commands over SSH
  2. 02REST API for SSH execution
  3. 03Configure allowed AOS commands
  4. 04Deploy SSH and MCP services with Docker Compose

Use cases

  1. 01Run basic commands on AOS switches
  2. 02Limit which switch commands can be issued
  3. 03Connect a client to a remote MCP service
  4. 04Deploy the MCP and SSH services together

MCP support

It exposes tools for running basic AOS switch commands through MCP. Clients can connect over Streamable HTTP to a remote server or use stdio with a remote aos_ssh REST service.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"aos": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
Run commanddocker run -i --rm compose

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocicompose

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

ALE AOS mcp server

This project provides a mcp (model context protocol) server for alcatel aos switches, see https://modelcontextprotocol.io/docs/getting-started/intro. Basic switch cli commands can vbe used through a ssh connection. It enables LLM interactions with alcatel aos network switches. It contains two subprojects :

  • aos_ssh : provides a rest API to run ssh cli command on ALE aos switches
  • aos_mcp : mcp server providing mcp tools to llm to run basic ssh commands through aos_ssh server REST api.

Demos

  • Demo with github copilot cli

https://github.com/user-attachments/assets/828169e4-867f-44cb-8bb6-dd90116090a2

Architecture

ALE AOS mcp server architecture

Deploy mcp and ssh servers

Docker images for aos_ssh and aos_mcp servers are availables:

  • docker.io/foricher/ale-aos-ssh:[tag]
  • docker.io/foricher/ale-aos-mcp:[tag]

Under deploy folder, the mcp server side is available with a docker compose deployment.

ale-aos-ssh configuration

Update data\aos-ssh-host.json file with your switches host, user, password for ssh connections.

{
  "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"
    }
  ]
}

Update data\aos-ssh-conf.yaml file with allowed aos commands.

allowed_aos_commands:
  - show .*
  - ping .*
  - traceroute .*

ale-aos-ssh configuration

data\mcp_tools.yaml file describes tools used by LLM to run aos commands.

docker compose file

docker-compose.yaml file:

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

Launch docker compose

 cd deploy
 docker compose up 

By default, mcp server is deployed with transport streamable-http

Test with mcp inspector

You can test aos mcp server by using mcp inpector tool, see https://modelcontextprotocol.io/legacy/tools/inspector

npx @modelcontextprotocol/inspector

mcp inspector

Client

  • Connect to remote MCP server with Streamable http transport.

    Both servers ale_aos_mcp, ale_aos_ssh run remotely.

{
 "mcpServers": {
   "aos": {
     "type": "http",
     "url": "http://<aos-mcp-host>:8000/mcp"
   }
 }
}

  • Connect to local MCP server with stdio transport.

    Local ale_aos_mcp server connect to a remote ale_aos_ssh server via provided argument --aos-ssh-url url.

{
   "mcpServers": {
       "aos": {
           "command": "uv run ale_aos_mcp",
           "args": [
               "--aos-ssh-url",
               "http://<aos-ssh-host>:8210"
           ],
           "env": {
           }
       }
   }
}
Use Github Copilot with visual studio code

Under your workspace, inside .vscode folder, put file mcp.json as below.

  • with Streamable http transport
{
 "servers": {
   "aos": {
     "type": "http",
     "url": "http://<aos-mcp-host>:8000/mcp"
   }
 }
}

  • with stdio transport
{
   "servers": {
       "aos": {
           "command": "uv run ale_aos_mcp",
           "args": [
               "--aos-ssh-url",
               "http://<aos-ssh-host>:8210"
           ],
           "env": {
           }
       }
   }
}

Set chat agent mode

Example with github copilot

Use cursor with visual studio code

Under your workspace, inside .cursor folder, put file mcp.json as below.

Set chat agent mode

{
   "mcpServers": {
       "aos": {
           "url": "http://<aos-mcp-host>:8000/mcp"
       }
   }
}

Example with cursor

Use gemini cli

put under .gemini folder, file 'settings.json' as below.

{
"mcpServers": {
  "aos": {
    "name": "AOS MCP Server",
    "description": "AOS MCP Server for managing AOS switches",
    "httpUrl": "http://<aos-mcp-host>:8000/mcp",
    "timeout" : 60000
  }
}
}

Zscaler issue

set NODE_EXTRA_CA_CERTS=C:\\Data\\zscaler\\zscaler.pem
set NODE_TLS_REJECT_UNAUTHORIZED=0

set gemini api key

set GEMINI_KEY_API=<gemini-api-key>

install gemini-cli

npm install -g @google/gemini-cli@latest
gemini -m gemini-2.5-flash

or

npx https://github.com/google-gemini/gemini-cli -m gemini-2.5-flash

gemini cli

Use claude code cli

for more information see (https://docs.anthropic.com/en/docs/claude-code/mcp)

in case of Zscaler issue

set NODE_EXTRA_CA_CERTS=C:\\Data\\zscaler\\zscaler.pem
set NODE_TLS_REJECT_UNAUTHORIZED=0

install claude code

npm install -g @anthropic-ai/claude-code

under your project

cd <project>

add aos mcp server to claude into project.

claude mcp add --transport http --scope project aos http://<mcp-server-host>:8000/mcp

run claude.

claude

claude code

Use opencode cli (linux only)

for more information see (https://opencode.ai).

in case of Zscaler issue

export NODE_TLS_REJECT_UNAUTHORIZED=0

install claude code

npm i -g opencode-ai

under your project

cd <project>

add opencode.json file into project.

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "aos": {
      "type": "remote",
      "url": "http://<mcp-host>:8000/mcp",
      "enabled": true
    }
  }
}

run opencode.

opencode

opencode

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.