Skip to main content
Glama
dknell

System Information MCP Server

by dknell

get_network_info_tool

Retrieve detailed network interface data and statistics to monitor system connectivity and performance using the System Information MCP Server.

Instructions

Retrieve network interface information and statistics.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Handler function for the 'get_network_info_tool' tool, registered with @app.tool() decorator. Delegates to the core get_network_info() implementation.
    @app.tool() def get_network_info_tool() -> Dict[str, Any]: """Retrieve network interface information and statistics.""" return get_network_info()
  • Core helper function that implements the network information logic using psutil to gather interface details and I/O statistics.
    @cache_result("network_info", ttl=5) def get_network_info() -> Dict[str, Any]: """Retrieve network interface information and statistics.""" try: interfaces = [] # Get network interfaces net_if_addrs = psutil.net_if_addrs() net_if_stats = psutil.net_if_stats() for interface_name, addresses in net_if_addrs.items(): interface_info: Dict[str, Any] = { "name": interface_name, "addresses": [], "is_up": False, "speed": 0, "mtu": 0, } # Get interface statistics if interface_name in net_if_stats: stats = net_if_stats[interface_name] interface_info.update( {"is_up": stats.isup, "speed": stats.speed, "mtu": stats.mtu} ) # Get addresses for addr in addresses: addr_info = {"family": str(addr.family), "address": addr.address} if addr.netmask: addr_info["netmask"] = addr.netmask interface_info["addresses"].append(addr_info) interfaces.append(interface_info) # Get network I/O statistics try: net_io = psutil.net_io_counters() if net_io: io_stats = { "bytes_sent": net_io.bytes_sent, "bytes_recv": net_io.bytes_recv, "packets_sent": net_io.packets_sent, "packets_recv": net_io.packets_recv, "errin": net_io.errin, "errout": net_io.errout, "dropin": net_io.dropin, "dropout": net_io.dropout, } else: io_stats = { "bytes_sent": 0, "bytes_recv": 0, "packets_sent": 0, "packets_recv": 0, "errin": 0, "errout": 0, "dropin": 0, "dropout": 0, } except Exception as e: logger.warning(f"Could not get network I/O stats: {e}") io_stats = { "bytes_sent": 0, "bytes_recv": 0, "packets_sent": 0, "packets_recv": 0, "errin": 0, "errout": 0, "dropin": 0, "dropout": 0, } return {"interfaces": interfaces, "stats": io_stats} except Exception as e: logger.error(f"Error getting network info: {e}") raise

Other Tools

Related Tools

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/dknell/mcp-system-info'

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