使用说明
MCP实验
此存储库是 模型上下文协议(MCP) 用于公开的工具服务器 只读家庭实验室基础设施工具 到本地LLM工作流。
当前的实施侧重于Raspberry Pi托管的MCP服务器,该服务器提供Cisco IOS工具(show version)通过SSH,可从以下来源使用:
- 打开WebUI(通过MCP流式HTTP)
- 桌面Python客户端(通过MCP Streamable HTTP)
- SSH stdio上的桌面Python客户端(回退/调试路径)
当前状态(工作)
- 在Raspberry Pi上运行的MCP服务器
FastMCP - 支持两种传输方式:
streamable-http(适用于Open WebUI)stdio(用于基于SSH的测试)
- 思科IOS工具曝光:
cisco_show_version
- 从Open WebUI成功执行工具调用并返回结构化输出
- 存在用于回归测试的桌面测试工具
仓库的规划
-
mcp_server/server.py
MCP服务器的入口点。通过以下方式选择运输方式MCP_TRANSPORT. -
mcp_server/tools/cisco.py
Cisco SSH实现show version. -
config/
SSH配置示例(无机密)。 -
scripts/
桌面侧测试线束:test_mcp_streamable_http.pytest_mcp_via_ssh.py
配置
在Raspberry Pi上创建本地环境文件(未提交):
.env.本地
包含:
- 工具使用的Cisco凭据/SSH配置
- MCP传输选择
- HTTP绑定设置
示例变量(记录在 .env.local.example):
- MCP运输
- MCP_HTTP_HOST
- MCP_HTTP_PORT
- MCP_HTTP_PATH
运行MCP服务器(流式HTTP)
在Raspberry Pi上:
导出MCP_TRANSPORT=可流式传输的http
导出MCP_HTTP_HOST=0.0.0.0
导出MCP_HTTP_PORT=8000
导出MCP_HTTP_PATH=/MCP
python-m mcpserver.server
从桌面验证(流式HTTP)
导出MCP_HTTP_URL=“HTTP://:8000/mcp”
python脚本/test_mcp_streamable_http.py
从桌面验证(SSH stdio回退)
导出MCP_PI_SSH=“PI@"
python脚本/test_mcp_via_ssh.py
设计说明/目标
- 默认情况下为只读工具(不对网络设备进行配置更改)
- 秘密卫生:
.env.local被忽略.env.local.example安全地记录所需变量
- 再现性:
- 测试线束保存在
scripts/升级后验证功能 (开放WebUI、MCP版本、Python等)
- 测试线束保存在
当前能力
- 将真实的基础设施数据暴露给本地LLM
- 通过Open WebUI路由的工具调用
- 结构化+原始CLI输出可用于后续推理
- 安全、可审计的执行路径(SSH+分配列表)
计划改进
- 其他Cisco只读工具(
show clock,show interfaces status) - 结构化字段提取(IOS版本、正常运行时间、序列)
- 主机满列表发现工具
- 打开WebUI配置演练