System information & packages tools

These tools let an AI assistant inspect a server’s hardware, OS, users, groups, network, disk, and installed software, and install or remove OS-level and Python packages. They answer requests like “what OS is web-01 running”, “is nginx installed on db-03”, or “install the requests package on web-01”.

All tools accept workspace (required) and region (optional, defaults to the configured region). These common parameters are omitted from the tables below.

Summary

ToolDescriptionAccess
get_system_infoHardware specs: CPU model, core count, RAM, architectureRead-only
get_os_versionOS name, version, kernel version, distributionRead-only
list_system_usersOS-level user accounts (passwd entries)Read-only
list_system_groupsOS-level groupsRead-only
list_system_packagesInstalled OS packages (rpm/deb)Read-only
get_network_interfacesNetwork interface configurationRead-only
get_disk_infoDisk devices and partition layoutRead-only
get_system_timeSystem clock, timezone, and uptimeRead-only
get_server_overviewHardware, OS, time, network, and disk in one callRead-only
list_system_package_entriesPackage management entries for a serverRead-only
install_system_packageInstall an OS package via the package managerAdditive
remove_system_packageRemove a system package entryDestructive
list_python_packagesInstalled Python packagesRead-only
install_python_packageInstall a Python package via pipAdditive
remove_python_packageRemove a Python package entryDestructive

System information

get_system_info

Returns hardware and system specs for a server: CPU model, core count, total RAM, and architecture. Use this to check whether a server meets hardware requirements before deploying a workload.

Access: Read-only

Parameters

ParameterTypeRequiredDescription
server_idstringYesServer ID (UUID) to get system info for

Example

“What CPU and RAM does web-01 have?”

The assistant calls get_system_info and reports the CPU model, core count, RAM size, and architecture.

get_os_version

Returns OS name, version, kernel version, and Linux distribution info for a server. Use this to check OS compatibility or plan upgrades.

Access: Read-only

Parameters

ParameterTypeRequiredDescription
server_idstringYesServer ID (UUID) to get OS info for

Example

“What OS and kernel version is db-03 running?”

The assistant calls get_os_version and returns the distribution, version, and kernel.

list_system_users

Lists OS-level user accounts (passwd entries) on a server, including UID, home directory, shell, and group memberships. Filterable by username search or login-enabled status.

This is different from list_iam_users, which lists workspace-level IAM users rather than OS accounts on a server.

Access: Read-only

Parameters

ParameterTypeRequiredDescription
server_idstringYesServer ID (UUID) to get users from
username_filterstringNoSearch by username
login_enabled_onlybooleanNoOnly return users that can log in. Defaults to false

Example

“List the login-enabled users on web-01”

The assistant calls list_system_users with login_enabled_only set to true and returns the matching accounts.

list_system_groups

Lists OS-level groups on a server, including GID and member lists. Filterable by group name search.

This is different from list_iam_groups, which lists workspace-level IAM groups rather than OS groups on a server.

Access: Read-only

Parameters

ParameterTypeRequiredDescription
server_idstringYesServer ID (UUID) to get groups from
groupname_filterstringNoSearch by group name

Example

“What groups exist on db-03, and who’s in the docker group?”

The assistant calls list_system_groups, optionally filtering by name, and lists the members of each matching group.

list_system_packages

Lists installed OS packages (rpm/deb) on a server: package name, version, and architecture. Searchable by package name and filterable by architecture.

This reads the server’s live package inventory. For the package management entries created through install_system_package, see list_system_package_entries below.

Access: Read-only

Parameters

ParameterTypeRequiredDescription
server_idstringYesServer ID (UUID) to get packages from
package_namestringNoSearch by package name
architecturestringNoFilter by architecture (for example, x86_64, aarch64)
limitintegerNoMaximum number of packages to return. Defaults to 100

Example

“Is nginx installed on web-01, and what version?”

The assistant calls list_system_packages with package_name set to nginx and reports the matching entry.

get_network_interfaces

Returns network interface configuration for a server: interface names, IP addresses, MAC addresses, MTU, and link up/down status. Use this to understand network topology or troubleshoot connectivity.

Access: Read-only

Parameters

ParameterTypeRequiredDescription
server_idstringYesServer ID (UUID) to get network interfaces for

Example

“Show me the network interfaces on web-01”

The assistant calls get_network_interfaces and lists each interface with its IP, MAC address, and status.

get_disk_info

Returns physical disk devices and partition layout for a server: disk models, sizes, partition mount points, filesystem types, and capacity. Disk and partition data are fetched concurrently.

Access: Read-only

Parameters

ParameterTypeRequiredDescription
server_idstringYesServer ID (UUID) to get disk info for

Example

“How is disk space partitioned on db-03?”

The assistant calls get_disk_info and describes each disk’s partitions, mount points, and filesystem types.

get_system_time

Returns the current system clock time, timezone setting, and uptime duration for a server. Use this to check time synchronization or verify how long a server has been running.

Access: Read-only

Parameters

ParameterTypeRequiredDescription
server_idstringYesServer ID (UUID) to get time info for

Example

“What’s the current time and uptime on web-01?”

The assistant calls get_system_time and reports the clock time, timezone, and uptime.

get_server_overview

Returns a comprehensive snapshot of a server by combining get_system_info, get_os_version, get_system_time, get_network_interfaces, and get_disk_info into a single call, fetched concurrently. Use this instead of calling the individual system info tools when you need the full picture of a server at once. If one of the underlying checks fails, its section reports an error while the rest of the overview is still returned.

Access: Read-only

Parameters

ParameterTypeRequiredDescription
server_idstringYesServer ID (UUID) to get the overview for

Example

“Give me a full overview of web-01”

The assistant calls get_server_overview and summarizes hardware, OS, uptime, network, and disk in one response.

Package management

Two tools read package state: list_system_packages (above) reads the server’s live package inventory, while list_system_package_entries below reads the package management entries created through install_system_package and remove_system_package. Use the entries tools when you need an entry ID to remove a package.

list_system_package_entries

Lists system package management entries for a server: package names, versions, and installation details from the OS package manager. Use this to audit installed OS-level packages or to find the entry ID needed by remove_system_package.

Access: Read-only

Parameters

ParameterTypeRequiredDescription
server_idstringYesServer ID (UUID) to list packages for
pageintegerNoPage number for pagination
page_sizeintegerNoNumber of items per page

Example

“Show me the package entries for web-01”

The assistant calls list_system_package_entries and lists each entry with its name, version, and status.

install_system_package

Installs a system package on a server via the OS package manager. Optionally pins a specific version. The installation runs asynchronously on the target server, so a completed response confirms the request was accepted, not that installation has finished.

Access: Additive

Parameters

ParameterTypeRequiredDescription
server_idstringYesServer ID (UUID) to install the package on
package_namestringYesName of the package to install
versionstringNoSpecific version to install

Example

“Install nginx on web-01”

The assistant calls install_system_package with package_name set to nginx and reports that the installation was submitted.

remove_system_package

Removes a system package entry by its ID, which triggers package removal on the target server. This does not accept a package name directly—call list_system_package_entries first to find the entry ID.

This is destructive and cannot be undone from the MCP tool itself. Confirm the entry ID belongs to the intended package before removing it.

Access: Destructive

Parameters

ParameterTypeRequiredDescription
entry_idstringYesPackage entry ID to remove (from list_system_package_entries)

Example

“Remove the nginx package from web-01”

The assistant calls list_system_package_entries to find the entry ID for nginx, confirms it with you, then calls remove_system_package with that ID.

list_python_packages

Lists Python packages installed on a server: package names, versions, and installation details. Use this to audit Python dependencies or check for specific libraries.

Access: Read-only

Parameters

ParameterTypeRequiredDescription
server_idstringYesServer ID (UUID) to list Python packages for
pageintegerNoPage number for pagination
page_sizeintegerNoNumber of items per page

Example

“What Python packages are installed on web-01?”

The assistant calls list_python_packages and lists the installed packages with their versions.

install_python_package

Installs a Python package on a server via pip. Optionally pins a specific version. The installation runs asynchronously on the target server.

Access: Additive

Parameters

ParameterTypeRequiredDescription
server_idstringYesServer ID (UUID) to install the package on
package_namestringYesName of the Python package to install
versionstringNoSpecific version to install

Example

“Install requests 2.31.0 on web-01”

The assistant calls install_python_package with package_name set to requests and version set to 2.31.0.

remove_python_package

Removes a Python package entry by its ID, which triggers package removal on the target server. This does not accept a package name directly—call list_python_packages first to find the entry ID.

This is destructive and cannot be undone from the MCP tool itself. Confirm the entry ID belongs to the intended package before removing it.

Access: Destructive

Parameters

ParameterTypeRequiredDescription
entry_idstringYesPython package entry ID to remove (from list_python_packages)

Example

“Remove the requests package from web-01”

The assistant calls list_python_packages to find the entry ID for requests, confirms it with you, then calls remove_python_package with that ID.

Last updated: