mcpField
A
Alcatel Lucent Enterprise Aos Mcp Server

Alcatel Lucent Enterprise Aos Mcp Server

本地服务
github.com/Foricher开发工具154 周前更新

关于 Alcatel Lucent Enterprise Aos Mcp Server

此 MCP 服务可让 AI 系统通过 SSH 在 Alcatel AOS 交换机上运行基本 CLI 命令。它将 SSH 命令执行封装在 REST API 后,并可通过配置文件限制允许的命令。

主要功能

  1. 01通过 SSH 运行交换机 CLI 命令
  2. 02提供 SSH 执行 REST API
  3. 03配置允许的 AOS 命令
  4. 04用 Docker Compose 部署 SSH 与 MCP 服务

适用场景

  1. 01在 AOS 交换机上运行基本命令
  2. 02限制可执行的交换机命令
  3. 03客户端连接远程 MCP 服务
  4. 04同时部署 MCP 与 SSH 服务

MCP 相关

它通过 MCP 工具提供运行 AOS 交换机基本命令的能力。客户端可通过 Streamable HTTP 连接远程服务,也可使用 stdio 并连接远程 aos_ssh REST 服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"aos": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
启动命令docker run -i --rm compose

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocicompose

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ALE AOS MCP 服务

本项目为 Alcatel AOS 交换机提供 MCP(模型上下文协议)服务,参见 https://modelcontextprotocol.io/docs/getting-started/intro。
可通过 SSH 连接执行基本的交换机 CLI 命令。
它支持与 Alcatel AOS 网络交换机进行大模型交互。
项目包含两个子项目:

  • aos_ssh:提供 REST API,用于在 ALE AOS 交换机上运行 SSH CLI 命令
  • aos_mcp:MCP 服务,向大模型提供 MCP 工具,以便通过 aos_ssh 服务的 REST API 运行基本的 SSH 命令。

演示

  • 使用 GitHub Copilot CLI 演示

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

架构

ALE AOS MCP 服务架构

部署 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 配置

使用交换机的主机、用户和密码更新 data\aos-ssh-host.json 文件,以便建立 SSH 连接。

{
  "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 文件描述了大模型用于运行 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

MCP Inspector

客户端

  • 使用 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

GitHub Copilot 示例

在 Visual Studio Code 中使用 Cursor

在工作区的 .cursor 文件夹中,按如下内容放置 mcp.json 文件。

将聊天模式设置为 agent

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

Cursor 示例

使用 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

Gemini CLI

使用 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。

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

运行 Claude。

claude

Claude Code

使用 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

Opencode

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。