一个基本的MCP(模型上下文协议)服务器,用于通过Scrapli与网络设备进行交互。
这个项目是一个概念验证,演示了兼容的MCP客户端(如Claude Desktop)如何使用MCP服务器通过SSH连接到网络设备。选择Scrapli作为连接框架是因为其异步能力。
注意:Scrapli不支持Windows操作系统,因此此MCP服务器只能在Linux/MacOS上安装。本指南仅适用于Linux系统。
该项目使用UV进行包管理。你可以使用pip进行安装:
pip install uv
或者,你可以使用cURL下载安装脚本:
curl -LsSf https://astral.sh/uv/install.sh | sh
安装UV后,克隆此仓库并使用uv sync安装依赖项:
git clone https://git.mikelmaeso.com/mmaeso/mcp-server-scrapli.git
cd mcp-server-scrapli
uv sync
激活虚拟环境:
source .venv/bin/activate
将.env.example文件重命名为.env,并设置你的设备用户名和密码。最后,运行服务器:
uv run main.py
默认情况下,服务器将在0.0.0.0和端口8080上监听,但你可以分别使用---host和--port标志更改此行为:
uv run main.py --host 127.0.0.1 --port 8081
截至2025年4月,Claude Desktop只能使用基于stdio的MCP服务器。如果你在Windows上使用Claude Desktop,唯一的方法是通过MCP SSE网关(如mcp-server-and-gw)连接到此MCP服务器。按照安装说明操作,并在你的claude_desktop_config.json文件中添加以下配置:
{
"mcpServers": {
"Claude Gateway Example": {
"command": "npx",
"args": [
"mcp-server-and-gw", "http://<hostname-of-mcp-server>:<port>/"
]
}
}
}