Skip to main content
Glama
serial_tools.py1.41 kB
#!/usr/bin/env python3 """ Serial port tools for the FastMCP Server """ import serial.tools.list_ports from core.config import mcp # 存储选定的串口设备 selected_port = None @mcp.tool def list_serial_ports() -> list: """List serial ports with valid descriptions (not n/a).""" ports = [] # 获取所有串口设备 for port in serial.tools.list_ports.comports(): # 只列出包含有效description的串口设备(非n/a) if port.description and port.description.lower() != 'n/a': ports.append({ 'device': port.device, 'description': port.description, 'hwid': port.hwid }) return ports @mcp.tool def select_serial_port(port_device: str) -> str: """Select a target serial port for ESP-IDF operations.""" global selected_port # 验证端口是否存在 available_ports = list_serial_ports() port_devices = [port['device'] for port in available_ports] if port_device not in port_devices: raise ValueError(f"Port {port_device} not found in available ports") selected_port = port_device return f"Selected serial port: {selected_port}" @mcp.tool def get_selected_serial_port() -> str: """Get the currently selected serial port.""" global selected_port return selected_port if selected_port else "No port selected"

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jasper-zsh/espidf-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server