Tunnel Manager
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Bind host for HTTP transports | 0.0.0.0 |
| PORT | No | Bind port for HTTP transports | 8000 |
| DEBUG | No | Verbose logging | False |
| TRANSPORT | No | Transport protocol (stdio, streamable-http, sse) | stdio |
| TUNNEL_PASSWORD | No | SSH password (when not using a key) | |
| TUNNEL_USERNAME | No | SSH username | |
| PYTHONUNBUFFERED | No | Unbuffered stdout | 1 |
| TUNNEL_INVENTORY | No | Path to the shared inventory | ~/.config/agent-utilities/inventory.yml |
| TUNNEL_CERTIFICATE | No | Path to an SSH certificate | |
| TUNNEL_REMOTE_HOST | No | Default remote host | |
| TUNNEL_REMOTE_PORT | No | Default remote SSH port | 22 |
| TUNNEL_IDENTITY_FILE | Yes | Path to the SSH private key (default ~/.ssh/id_ed25519) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tunnel_manager_add_hostD | Invoke the add_host operation. |
| tunnel_manager_get_hostA | Get a host config by alias, denying an alias the caller isn't entitled to. Returns |
| tunnel_manager_list_hostsA | List the host aliases the CALLER is entitled to, secrets redacted. Scoped to the caller's Okta/Keycloak identity
(CONCEPT:AU-OS.identity.identity-scoped-resource-autoload); an
unauthenticated/local caller (SYSTEM_ACTOR) sees all — unchanged from
today. Each entry excludes |
| tunnel_manager_load_inventoryC | Invoke the load_inventory operation. |
| tunnel_manager_remove_hostD | Invoke the remove_host operation. |
| tunnel_manager_save_inventoryC | Invoke the save_inventory operation. |
| tunnel_ingest_hostsC | List the managed SSH inventory and push it into the epistemic-graph KG. Maps each alias → a typed |
| tm_remote_run_commandC | Run command (tm_remote). Single-host SSH operations with shared connection params. |
| tm_remote_send_fileC | Send file (tm_remote). Single-host SSH operations with shared connection params. |
| tm_remote_receive_fileC | Receive file (tm_remote). Single-host SSH operations with shared connection params. |
| tm_remote_check_sshC | Check ssh (tm_remote). Single-host SSH operations with shared connection params. |
| tm_remote_test_key_authC | Test key auth (tm_remote). Single-host SSH operations with shared connection params. |
| tm_remote_setup_passwordlessC | Setup passwordless (tm_remote). Single-host SSH operations with shared connection params. |
| tm_remote_copy_ssh_configC | Copy ssh config (tm_remote). Single-host SSH operations with shared connection params. |
| tm_remote_rotate_keyC | Rotate key (tm_remote). Single-host SSH operations with shared connection params. |
| tm_remote_remove_host_keyC | Remove host key (tm_remote). Single-host SSH operations with shared connection params. |
| tm_inventory_configure_key_authC | Configure key auth (tm_inventory). Bulk inventory operations against YAML host groups. |
| tm_inventory_mesh_bootstrapC | Mesh bootstrap (tm_inventory). Bulk inventory operations against YAML host groups. |
| tm_inventory_run_commandC | Run command (tm_inventory). Bulk inventory operations against YAML host groups. |
| tm_inventory_copy_ssh_configC | Copy ssh config (tm_inventory). Bulk inventory operations against YAML host groups. |
| tm_inventory_rotate_keyC | Rotate key (tm_inventory). Bulk inventory operations against YAML host groups. |
| tm_inventory_send_fileC | Send file (tm_inventory). Bulk inventory operations against YAML host groups. |
| tm_inventory_receive_fileC | Receive file (tm_inventory). Bulk inventory operations against YAML host groups. |
| tm_operation_startC | Start (tm_operations). Operation lifecycle and session management. |
| tm_operation_get_progressC | Get progress (tm_operations). Operation lifecycle and session management. |
| tm_operation_cancelC | Cancel (tm_operations). Operation lifecycle and session management. |
| tm_operation_get_metricsC | Get metrics (tm_operations). Operation lifecycle and session management. |
| tm_operation_list_sessionsC | List sessions (tm_operations). Operation lifecycle and session management. |
| tm_system_get_infoC | Get info (tm_system). Remote system intelligence via SSH. |
| tm_system_discover_servicesC | Discover services (tm_system). Remote system intelligence via SSH. |
| tm_system_analyze_logsC | Analyze logs (tm_system). Remote system intelligence via SSH. |
| tm_system_network_topologyC | Network topology (tm_system). Remote system intelligence via SSH. |
| tm_file_recursive_opsC | Recursive ops (tm_files). Advanced file operations on remote hosts. |
| tm_file_content_searchC | Content search (tm_files). Advanced file operations on remote hosts. |
| tm_file_watchC | Watch (tm_files). Advanced file operations on remote hosts. |
| tm_file_diff_compareC | Diff compare (tm_files). Advanced file operations on remote hosts. |
| tm_file_backupC | Backup (tm_files). Advanced file operations on remote hosts. |
| tm_security_security_auditC | Security audit (tm_security). Security scanning and compliance. |
| tm_security_compliance_checkC | Compliance check (tm_security). Security scanning and compliance. |
| tm_security_vulnerability_scanC | Vulnerability scan (tm_security). Security scanning and compliance. |
| tm_security_access_control_auditC | Access control audit (tm_security). Security scanning and compliance. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| connector-status | Ask for this connector server's current operational status. |
| infrastructure_specialist | SSH infrastructure specialist: host inventory, remote execution, key hardening and security audits over the tunnel-manager MCP server. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| _connector_status_resource | Native resource exposing this server's static status payload. |
| ontology://tunnel-manager-mcp/tunnel.ttl | |
| connector-resources | Data sources, ontology mappings and resources of this connector. |
| tunnel-manager-ssh-hardening/SKILL.md | Harden and audit SSH access across a host fleet via the tunnel-manager MCP server — set up passwordless key auth, build a full-mesh trust, rotate SSH keys fleet-wide, distribute a shared ssh config, and run security / compliance / vulnerability audits against a host. Use when the agent must move a fleet off password auth, rotate keys, or assess a host's security posture. Do NOT use to add host aliases (use tunnel-manager-host-inventory) or to run arbitrary commands / copy files (use tunnel-manager-remote-execution). |
| tunnel-manager-ssh-hardening/_manifest | File listing for tunnel-manager-ssh-hardening |
| tunnel-manager-operations/SKILL.md | Operate tunnel-manager through its governed MCP and Arbora capabilities, including tunnel manager host inventory, tunnel manager remote execution, tunnel manager ssh hardening. Use when a request requires this provider's read, change, automation, ingestion, troubleshooting, or evidence workflows. |
| tunnel-manager-operations/_manifest | File listing for tunnel-manager-operations |
| tunnel-manager-development/SKILL.md | Develop, test, and publish tunnel-manager without breaking its typed SSH inventory, remote-execution, MCP action, packaged-content, spec-dashboard, or governed Pages contracts. Use when changing connector code, docs, skills, workflows, or repository-owned specifications. |
| tunnel-manager-development/_manifest | File listing for tunnel-manager-development |
| tunnel-manager-host-inventory/SKILL.md | Manage the shared SSH host inventory via the tunnel-manager MCP server — list, add, and remove host aliases (hostname, user, port, identity_file) and push the inventory into the knowledge graph as typed :Host / :HostGroup / :SshKey nodes. Use when the agent must register a new SSH target, look up how a host is reached, prune a stale alias, or sync the fleet inventory into the KG. Do NOT use to run commands on a host (use tunnel-manager-remote-execution) or to set up key auth / audits (use tunnel-manager-ssh-hardening). |
| tunnel-manager-host-inventory/_manifest | File listing for tunnel-manager-host-inventory |
| tunnel-manager-remote-execution/SKILL.md | Run shell commands and transfer files over SSH via the tunnel-manager MCP server — on a single host (tm_remote) or fanned out across an inventory group (tm_inventory), plus SSH reachability and key-auth checks. Use when the agent must execute a command remotely, copy a file to/from a host, run something across a whole group, or verify a host is reachable. Do NOT use to add/remove host aliases (use tunnel-manager-host-inventory) or to set up passwordless auth / audit a host (use tunnel-manager-ssh-hardening). |
| tunnel-manager-remote-execution/_manifest | File listing for tunnel-manager-remote-execution |
TDQS
Scored across 41 tools
The tm_remote_* and tm_inventory_* families duplicate actions such as run_command, send_file, receive_file, copy_ssh_config, and rotate_key, distinguished mainly by single-host vs bulk YAML-group scope. Host listing/inventory tools also overlap conceptually, though security and operation-lifecycle tools are clearer.
Names are consistently snake_case, but prefixes mix tunnel_manager_, tm_, and tunnel_, and tm_security_security_audit redundantly repeats the domain. The domain-grouping is readable, but the convention is not fully predictable.
41 tools is heavy for a tunnel manager and includes many niche file, system, and security operations. Several tools are near-variants of the same action across remote and inventory scopes, suggesting the surface is over-scoped.
Coverage is broad across host inventory, remote operations, bulk inventory, files, system intelligence, security, and operation lifecycle. However, there is no explicit update_host operation and no obvious tunnel open/close/list lifecycle despite the server name, leaving notable gaps.