Zalmotek
服务介绍
jetson-mcp
一个MCP(Model Context Protocol)服务器,用于通过自然语言从同一网络中的客户端监控和远程控制Nvidia Jetson板。
该项目使用FastMCP库来创建服务器。
MCP服务器已连接:
功能
- 提供可通过SSE(Server-Sent Events)传输访问的MCP工具。
get_jetson_hw_info: 读取/etc/nv_boot_control.conf以识别模块/载板信息。get_jetson_sw_info: 读取/etc/nv_tegra_release(Jetpack版本)和/proc/version(Linux内核版本)。- 包含易于安装和设置systemd服务的脚本。
设置与安装(在Jetson上)
-
克隆仓库:
bash
git clone https://github.com/Zalmotek/jetson-mcp
cd jetson-mcp -
运行安装脚本:
该脚本会创建一个Python虚拟环境(venv/)并从requirements.txt安装依赖项。
bash
chmod +x install.sh
./install.sh
运行服务器(在Jetson上)
推荐的方式是将服务器作为由systemd管理的后台服务运行。
-
(可选)查找Jetson IP/主机名:
您需要Jetson的IP地址或主机名才能从其他设备连接。可以使用ip addr或hostname -I等命令。 -
运行服务设置脚本:
该脚本会创建并启用一个systemd服务文件(/etc/systemd/system/jetson-mcp.service),配置为以调用脚本的用户身份运行服务器,并监听8000端口。
bash
chmod +x setup_service.sh
sudo ./setup_service.sh -
启动服务:
bash
sudo systemctl start jetson-mcp.service -
验证服务:
bash
sudo systemctl status jetson-mcp.service检查日志中的错误
sudo journalctl -u jetson-mcp.service -f
-
防火墙: 确保您的Jetson防火墙(如果激活,例如
ufw)允许8000端口(或您选择的端口)上的入站连接。对于ufw示例:
bash
sudo ufw allow 8000/tcp
手动运行(用于测试)
最好直接使用Python解释器运行服务器,这将调用脚本中配置的mcp.run()方法:
bash
source venv/bin/activate
脚本本身现在会调用mcp.run()并设置SSE、主机和端口
python app/main.py
从远程客户端连接
一旦服务器在Jetson上运行并且在网络中可访问(防火墙允许8000端口):
- 确定服务器地址: 在您的局域网中找到Jetson的IP地址(例如
192.168.1.105)或其主机名(例如jetson-nano.local)。 - 配置您的客户端: 在您的MCP客户端应用程序(可以是自定义脚本、类似MCP Inspector的UI,或者可能是Cursor/Claude,如果它们支持网络端点)中,配置它以连接到MCP服务器的网络地址。
- 具体的连接方法取决于客户端,但通常涉及指定SSE端点的URL:
http://<jetson_ip_or_hostname>:8000/sse(SSE的常见模式)
- 具体的连接方法取决于客户端,但通常涉及指定SSE端点的URL:
*注意:Cursor的mcp.json文件主要用于通过stdio传输启动本地服务器。将Cursor连接到这个网络SSE服务器可能需要不同的配置步骤,或者可能不直接支持而无需代理。*请参阅您特定客户端的文档,了解如何连接到网络MCP SSE端点。
示例/截图
硬件信息工具:
软件信息工具: