Skip to main content

systems-manager

Version: 2.2.1

systems-manager is the typed host-operations provider for Agent Connector SDK and Arbora. It exposes cross-platform package, service, process, network, disk, managed-file, firewall, physical-storage, Agent OS, and privacy-safe host-ingestion capabilities without exposing a raw command tool.

The current package requires Python 3.11–3.14 and agent-connector-sdk>=2.0.0,<3.0.0.

Install and run

Install only the interface the operator need:

pip install "systems-manager[mcp]"
systems-manager-mcp --transport stdio

The optional extras are:

Extra Capability
mcp FastMCP provider runtime
agent Agent server and Logfire integration
all MCP plus agent runtime
test Test dependencies

For an ephemeral MCP start:

uvx --from "systems-manager[mcp]" systems-manager-mcp --transport stdio

The checked-in mcp_config.json is a reference-only client catalog. It contains env:// references and safe deny defaults, never deployment endpoints, credentials, certificate paths, filesystem paths, hostnames, or identities. Project-specific values belong in AgentConfig or the process launcher.

Security contract

  • Network MCP listeners require configured authentication. Non-loopback listeners also require direct TLS or a trusted TLS-stop proxy, exact allowed hosts, and the current Agent Connector SDK transport checks.
  • Host mutations are denied unless SYSTEMS_MANAGER_ALLOW_HOST_MUTATIONS=true and the individual request receives destructive-operation approval.
  • Managed-file writes also require SYSTEMS_MANAGER_ALLOW_FILESYSTEM_MUTATIONS=true.
  • Sensitive reads and active probes have independent default-deny gates.
  • Managed paths are confined beneath an explicit SYSTEMS_MANAGER_FILESYSTEM_ROOT; there is no working-directory fallback.
  • Raw shell, arbitrary commands, plaintext credentials, model-authored cron creation, and compatibility command aliases are not capabilities.
  • Logs and observability are metadata-only. Keep LANGFUSE_CAPTURE_CONTENT=false.

AgentConfig, secrets, and TLS

Use TLS_PROFILE / TLS_PROFILE_REF with TLS_PROFILES_REF for shared checked outbound trust. Service-specific profiles such as OIDC_TLS_PROFILE_REF, MODEL_TLS_PROFILE_REF, and LANGFUSE_TLS_PROFILE_REF may select entries from the same runtime catalog. Do not hardcode CA paths or verification flags in application code, and do not disable verification for incomplete certificate chains.

Out-of-band BMC health reads consume one runtime secret projection from SYSTEMS_MANAGER_BMC_CREDENTIALS. AgentConfig resolves the checked env:// or secret reference before start; the provider accepts exactly a JSON object with host, user, and password. No secret-store vendor, secret path, token, or credential value is embedded in this package.

The MCP listener's own certificate or trusted-proxy boundary uses the current Agent Utilities MCP_TLS_* configuration. The optional agent listener uses SERVER_TLS_* and requires JWT configuration for non-loopback serving.

MCP tools

The default MCP_TOOL_MODE=intent exposes the small intent-verb surface. Backing action-routed tools stay available for governed discovery and on-demand loading. Tool and tag filters can further reduce the visible surface.

Auto-generated from the live MCP server; do not edit between the markers.

Condensed action-routed tools (MCP_TOOL_MODE=condensed)

MCP Tool Toggle Env Var Description
capture_system_snapshot OS_PROVIDERTOOL Takes a point-in-time snapshot of the system state (CPU, RAM, Processes).
get_management_capabilities —
get_network_connections OS_PROVIDERTOOL Maps active TCP/UDP endpoints directly to owning processes.
get_process_details OS_PROVIDERTOOL Retrieves deep cross-platform process details (threads, modules, memory).
health_check —
list_kernel_modules OS_PROVIDERTOOL List loaded drivers/modules (lsmod or driverquery).
list_services OS_PROVIDERTOOL Cross-platform service enumeration (systemctl or Get-Service).
manage_service OS_PROVIDERTOOL Start/Stop/Restart/Enable/Disable services cross-platform.
query_system_logs OS_PROVIDERTOOL Cross-platform log querying (journalctl or Get-WinEvent).
sm_advanced_operations — Operations for SSH and specialized managers
sm_agent_identity_operations IDENTITYTOOL Issues or verifies privacy-preserving agent identities.
sm_agent_scheduler_operations AGENT_HEALTHTOOL Manages the cognitive scheduler: get stats, list processes, preempt, or reset quota.
sm_agent_specialist_operations SPECIALIST_REGISTRYTOOL Manages specialist packages: install, uninstall, list, or search.
sm_agent_watchdog_operations WATCHDOGTOOL Manages file watchdog triggers: check file change, list active watchers, or drain triggers.
sm_cron_operations — Operations for cron jobs
sm_disk_operations — Operations for managing system disks
sm_file_operations — Operations for file and log management
sm_firewall_operations — Operations for firewall management
sm_network_operations — Operations for network analysis
sm_process_operations — Operations for managing system processes
sm_service_operations — Operations for managing system services
sm_storage_health STORAGE_HEALTHTOOL Physical disk + BMC drive-fault health: SMART (incl. megaraid passthrough),
sm_system_operations — System operations for managing packages, system health, and updates
sm_user_operations — Operations for user and group management
start_system_trace OS_PROVIDERTOOL Start a kernel-level event trace (ETW on Windows, or strace on Linux).
stop_system_trace OS_PROVIDERTOOL Stop a kernel-level event trace.
systems_ingest_host — Ingest a keyed host telemetry projection through the governed ChangeEnvelope boundary as typed HardwareNode, NetworkInterface, and DiskVolume nodes.

27 action-routed tool(s) · 0 verbose 1:1 tool(s). Each is enabled unless its <DOMAIN>TOOL toggle is set false; MCP_TOOL_MODE selects the surface (intent default — the six verb-tools, granular set loaded on demand · condensed action-routed · verbose 1:1 · both). Auto-generated — do not edit.

Typical backing domains include OS/package lifecycle, services, processes, networks, disks, managed files, cron removal, structured firewall rules, storage/BMC diagnostics, Agent OS administration, and governed host telemetry ingestion. Discover an action schema before calling it; unavailable operations must not be emulated with another tool.

Knowledge-graph ingestion

systems_ingest_host reads local typed telemetry and submits an allowlisted projection through the Agent Connector SDK native governed ingestion boundary. It emits only:

  • HardwareNode, NetworkInterface, and DiskVolume nodes;
  • hasInterface and hasVolume relationships;
  • HMAC-SHA-256 opaque identifiers derived with the deployment-owned SYSTEMS_MANAGER_PSEUDONYMIZATION_KEY.

Hostnames, network addresses, hardware addresses, usernames, local paths, credentials, and arbitrary extra fields are rejected or excluded. Missing graph authority, invalid content, and unavailable ingestion fail explicitly; they are not silent no-ops.

Arbora delegation

Host operations run inside the service's local operating-system boundary. For fleet work, Arbora delegates to an authenticated systems-manager service on the target boundary. Inventory, endpoints, credentials, TLS profiles, and target aliases remain external deployment configuration. Persist only opaque, non-personal references.

The bundled systems-manager-operations skill covers every current provider workflow. Older BMC command and NIC-bond script skills were consolidated because those raw-script surfaces are not part of the typed current contract.

Agent server

Install the agent extra and start:

systems-manager-agent --help

Workspace, MCP catalog, and custom-skill paths are accepted only when explicitly configured and present. There is no packaged-config or current-directory fallback. A non-loopback listener requires an explicit allow gate, direct or trusted-proxy TLS, JWT issuer/JWKS/audience configuration, and debug mode disabled.

Environment variables

The generated table is sourced from the value-free .env.example plus the inherited Agent Connector SDK contract.

Package environment variables

Variable Example Description
SYSTEMS_MANAGER_FILESYSTEM_ROOT — Required managed filesystem boundary
SYSTEMS_MANAGER_TEMP_ROOT — Optional cleanup root beneath the managed boundary
SYSTEMS_MANAGER_PSEUDONYMIZATION_KEY secret-injected Deployment-owned secret, at least 32 bytes
SYSTEMS_MANAGER_BMC_CREDENTIALS — Secret-projected JSON with host/user/password
TLS_PROFILE — Shared mandatory-verification transport profile
TLS_PROFILES_REF — Runtime reference to the transport profile catalog
LANGFUSE_TLS_PROFILE_REF — Runtime reference to verified Langfuse trust
MCP_TOOL_MODE intent Current intent-first tool surface
SYSTEMS_MANAGER_ALLOW_HOST_MUTATIONS false Default-deny host mutations
SYSTEMS_MANAGER_ALLOW_FILESYSTEM_MUTATIONS false Default-deny file mutations
SYSTEMS_MANAGER_ALLOW_SENSITIVE_READS false Default-deny sensitive inventory
SYSTEMS_MANAGER_ALLOW_NETWORK_PROBES false Default-deny active probes
SYSTEMS_MANAGER_MAX_BLOCKING_OPERATIONS 2 Bounded host-operation concurrency
SYSTEMS_MANAGER_HEALTH_INGEST true Enable governed health trend ingestion
SYSTEMS_MANAGER_HEALTH_AGGREGATE_S 3600 Health trend aggregation window
SYSTEMS_MANAGER_NODE_REF — Runtime node alias; only a keyed digest persists
SYSTEMS_MANAGER_NODE_REFS — Runtime aliases for governed derivation
SYSTEMS_MANAGER_NOTIFY_URL — Optional credential-free HTTPS notification target
SYSTEMS_MANAGER_NOTIFY_TLS_PROFILE — Optional inline mandatory-verification notification TLS profile
SYSTEMS_MANAGER_NOTIFY_TLS_PROFILE_REF — Runtime reference to the notification TLS profile
SYSTEMS_MANAGER_MCP_IMAGE_DIGEST — Required immutable MCP image digest
SYSTEMS_MANAGER_AGENT_IMAGE_DIGEST — Required immutable agent image digest
SYSTEMS_MANAGER_REPOSITORY_ALLOWLIST_JSON [] Approved credential-free repositories
SYSTEMS_MANAGER_LOCAL_PACKAGE_SHA256_MAP {} Approved package paths and digests
SYSTEMS_MANAGER_COMMAND_TIMEOUT_SECONDS 120 Default command timeout
SYSTEMS_MANAGER_ENV_METADATA_ALLOWLIST — Non-sensitive environment names readable as metadata
SYSTEMS_MANAGER_UV_VERSION — Exact approved uv release
SYSTEMS_MANAGER_NVM_COMMIT — Exact approved NVM commit
SYSTEMS_MANAGER_NVM_DIR — NVM directory beneath the managed filesystem root
ALLOW_UPDATE_ON_K8S false Keep Kubernetes lifecycle guard enabled
MISCTOOL true Register base health/readiness tools
OS_PROVIDERTOOL true Register operating-system provider tools
STORAGE_HEALTHTOOL true Register storage health tools
AGENT_HEALTHTOOL true Register agent health tools
IDENTITYTOOL true Register identity tools
SPECIALIST_REGISTRYTOOL true Register specialist registry tools
WATCHDOGTOOL true Register filesystem watchdog tools
MAX_CONCURRENT_AGENTS 5 Agent scheduler limit
AGENT_POLICIES_PATH — Runtime policy location
PERMISSIONS_SIGNING_KEY secret-injected Runtime secret projection for identity signing
SPECIALIST_REGISTRY_PATH — Runtime specialist registry location
MCP_CONFIG_PATH — Runtime MCP catalog location
PROJECT_ROOT — Runtime automation boundary
WORKSPACE_PATH — Explicit agent workspace directory
TRANSPORT stdio Local MCP transport
HOST 127.0.0.1 Loopback bind for HTTP transports
PORT 8000 Bind port for HTTP transports
SYSTEMS_MANAGER_ALLOW_REMOTE_AGENT_SERVER false Explicit non-loopback agent-listener gate
ENABLE_OTEL false Enable only with an approved collector
LANGFUSE_CAPTURE_CONTENT false Never capture host/tool content
SERVER_TRUSTED_PROXY_CIDRS — Trusted proxy networks for a remotely served agent

Inherited agent-connector-sdk variables (apply to every connector)

Variable Example Description
MCP_ENABLED_TOOLS — Comma-separated tool allow-list
MCP_DISABLED_TOOLS — Comma-separated tool deny-list
MCP_ENABLED_TAGS — Comma-separated tag allow-list
MCP_DISABLED_TAGS — Comma-separated tag deny-list
EUNOMIA_TYPE none Authorization mode: none | embedded | remote
EUNOMIA_POLICY_FILE mcp_policies.json Embedded Eunomia policy file
EUNOMIA_REMOTE_URL — Remote Eunomia authorization server URL
OTEL_EXPORTER_OTLP_ENDPOINT — OTLP collector endpoint
MCP_CLIENT_AUTH — Outbound MCP child auth: oidc-client-credentials | basic | none
OIDC_CLIENT_ID — OIDC client id (service-account auth)
OIDC_CLIENT_SECRET_REF secret://identity/oidc-client-secret Runtime secret reference for the OIDC service account
MCP_BASIC_AUTH_USERNAME — HTTP Basic username (MCP_CLIENT_AUTH=basic)
MCP_BASIC_AUTH_PASSWORD_REF secret://identity/mcp-basic-password Runtime secret reference for HTTP Basic auth (MCP_CLIENT_AUTH=basic)
DEBUG False Verbose logging
PYTHONUNBUFFERED 1 Unbuffered stdout (recommended in containers)
MCP_URL http://localhost:8000/mcp URL of the MCP server the agent connects to
PROVIDER openai LLM provider for the agent
MODEL_ID gpt-4o Model id for the agent
ENABLE_WEB_UI True Serve the AG-UI web interface

51 package + 19 inherited variable(s). Auto-generated from .env.example + the shared agent-connector-sdk set — do not edit.

Development and release gates

pytest -q
ruff check systems_manager tests
black --check systems_manager tests
mkdocs build --strict
pre-commit run --all-files

Run host operations only through mocks during tests. Do not run native builds or live host mutations as a validation shortcut. The source dependency floor is intentionally agent-connector-sdk>=2.0.0; regenerate and commit a neutral lock only after that release is available from the configured package index. Never commit an editable local source or a stale dependency resolution.

See the documentation for installation, deployment, configuration, usage, multi-host delegation, and security details.

Governed capability contract

This package ships a compact canonical skill surface with specialist procedures kept as referenced workflows. The current MCP tools, skill metadata, connector_manifest.yml, ontology, mappings, shapes, fixtures, migrations, tool-schema fingerprints, and certification metadata form one versioned capability contract. Validate them together; do not rely on stale tool names or historical per-task skill wrappers.

Runtime endpoints, credentials, certificate trust, tenant identity, retention, and observability policy are deployment inputs and are never packaged values. See Configuration, trust, and privacy before enabling a network transport, connector ingestion, Arbora delegation, or trace export.

Metadata

Release files for systems-manager 2.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for systems-manager 2.2.1
File Interpreter ABI Platform
systems_manager-2.2.1-py3-none-any.whl Python 3 none any Details

Release files / systems_manager-2.2.1-py3-none-any.whl

Download URL systems_manager-2.2.1-py3-none-any.whl
Size 145.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c9c66cfcd2f4e3e28df43f0e22ed746242db61471b38af0f1cc9a9a04c692a84
BLAKE2b-256 checksum
How to use checksums
db7958fc0cc38e210f0a7bf822fda05aad9505e7346645f5cdeecdb386c78dca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

2.2.1 This release

1 release file

2.2.0

1 release file

1.36.0

2 release files

1.35.2

2 release files

1.34.0

2 release files

1.32.0

2 release files

1.31.0

2 release files

1.30.0

2 release files

1.24.0

2 release files

1.22.0

2 release files

1.20.0

2 release files

1.15.0

2 release files

1.12.1

2 release files

1.12.0

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.1

2 release files

1.3.0

2 release files

1.2.54

2 release files

1.2.53

2 release files

1.2.47

2 release files

1.2.45

2 release files

1.2.44

2 release files

1.2.41

2 release files

1.2.40

2 release files

1.2.39

2 release files

1.2.21

2 release files

1.2.20

2 release files

1.2.19

2 release files

1.2.18

2 release files

1.2.17

2 release files

1.2.16

2 release files

1.2.15

2 release files

1.2.14

2 release files

1.2.13

2 release files

1.2.12

2 release files

1.2.11

2 release files

1.2.10

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.1.28

2 release files

1.1.25

2 release files

1.1.24

2 release files

1.1.23

2 release files

1.1.22

2 release files

1.1.21

2 release files

1.1.20

2 release files

1.1.19

2 release files

1.1.17

2 release files

1.1.16

2 release files

1.1.15

2 release files

1.1.14

2 release files

1.1.13

2 release files

1.1.11

2 release files

1.1.10

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.30.4

1 release file

0.30.3

1 release file

0.30.2

1 release file

0.30.1

1 release file

0.30.0

1 release file

0.29.0

1 release file

0.28.0

1 release file

0.27.0

1 release file

0.26.0

1 release file

0.25.0

1 release file

0.24.0

1 release file

0.23.0

1 release file

0.22.0

1 release file

0.21.0

1 release file

0.20.0

1 release file

0.19.0

1 release file

0.18.0

1 release file

0.17.0

1 release file

0.16.0

1 release file

0.13.0

1 release file

0.12.0

1 release file

0.11.0

1 release file

0.10.0

1 release file

0.9.0

1 release file

0.8.0

1 release file

0.7.0

1 release file

0.6.0

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page