termalin-web
Server Details
Run commands and read/write files on your servers over Termalin's keyless tunnels (hosted MCP).
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.3/5 across 5 of 5 tools scored.
Each tool targets a distinct operation: host listing, SFTP directory listing, SFTP file read, SFTP file write, and shell execution. Although ssh_exec could be used for file operations, the SFTP tools are clearly specialized, and descriptions make the boundaries clear.
All tool names follow a consistent <protocol>_<action> snake_case pattern (hosts_list, sftp_list, sftp_read, sftp_write, ssh_exec). The pattern is uniform and predictable.
Five tools is an appropriate size for a server-management MCP server. Each tool serves a clear purpose without redundancy, covering host discovery, file transfer, and command execution.
The tool surface covers host listing, file listing/reading/writing, and arbitrary command execution, which covers most workflows. Missing operations like SFTP delete/rename can be accomplished via ssh_exec, so no critical gaps.
Available Tools
6 toolsgenerate_passwordAInspect
Generate a strong random password — handy when creating a user or setting a password on a server. Returns the password only; nothing is stored.
| Name | Required | Description | Default |
|---|---|---|---|
| length | No | length (default 20, 8-128) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It clearly states that the tool returns only the password and that nothing is stored, which conveys side-effect-free behavior. It does not mention cryptographic details or potential logging, but the note about non-storage is a key transparency point.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, using a single sentence to convey purpose, use case, and return behavior. Every clause earns its place, and the em-dash adds readability without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with one optional parameter and no output schema or annotations. The description covers what it does, when to use it, what it returns, and the absence of side effects, making it fully complete for an agent to understand and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the sole parameter (length) with type, default, and range, giving 100% coverage. The description adds no additional parameter-specific information or examples beyond what the schema provides, so it does not elevate beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a strong random password, with a specific use case ('handy when creating a user or setting a password on a server'). This distinguishes it from sibling tools like sftp_read or ssh_exec, which perform different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool ('handy when creating a user or setting a password on a server'), but does not explicitly mention when not to use it or alternatives. Since there are no password-related sibling tools, the usage context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hosts_listAInspect
List the servers reachable through Termalin (your tunnel agents). Returns id, name, whether the server is online, and the default login user. Use the id with ssh_exec.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It details the return payload (id, name, online status, default login user) and clarifies that it lists only reachable servers. It does not mention side effects, but for a read-only list operation, this level of disclosure is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences that efficiently state the action, scope, return fields, and a usage hint. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no output schema, and simple list behavior, the description is fully sufficient. It covers what the tool returns and how to use the result with a sibling tool, leaving no significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, and the schema already fully covers this with an empty properties object. The description adds no parameter details, but none are needed; per instructions, a zero-parameter tool earns a baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and a specific resource ('servers reachable through Termalin'), which clearly distinguishes it from sibling tools that perform file operations or remote commands. It also explicitly mentions the tool's output fields, reinforcing its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a clear usage context: use this tool to discover available hosts and their ids, then use those ids with ssh_exec. It names a sibling tool (ssh_exec) and explains how the result connects to it, though it does not explicitly state when not to use alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sftp_listAInspect
List a directory on one of your servers over SFTP. Returns each entry's name, whether it's a directory, size and modified time. Runs keyless over Termalin's tunnel, like ssh_exec.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | Server id from hosts_list | |
| path | No | Directory to list (default the login home, ".") | |
| username | No | Login user (defaults to the tunnel's user, else root) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses keyless authentication ('Runs keyless over Termalin's tunnel') and the return format, which are useful behavioral details. It does not mention error handling or side effects, but listing a directory is inherently non-destructive, making this adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the purpose front-loaded. The second sentence adds useful return details and infrastructure context without redundancy. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with 3 well-documented parameters and no output schema, the description provides the necessary return format (name, directory, size, modified time) and keyless tunnel context. This sufficiently covers the operational and output expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, as each parameter (host, path, username) has a clear description. The tool description adds no additional parameter semantics beyond the operation itself, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'List a directory on one of your servers over SFTP', a specific verb and resource that distinguishes it from sftp_read/sftp_write and ssh_exec. It further clarifies by listing the returned fields (name, directory flag, size, modified time).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by stating it's for directory listing over SFTP and mentions the keyless tunnel mechanism similar to ssh_exec. However, it lacks explicit when-to-use versus alternatives or any when-not-to-use guidance, but the scope is well-implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sftp_readAInspect
Read a text file from one of your servers over SFTP and return its contents. Files over 512 KB or non-text (binary) files are refused — use ssh_exec (e.g. sed/tail) for those.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | Server id from hosts_list | |
| path | Yes | Absolute or home-relative file path | |
| username | No | Login user (defaults to the tunnel's user, else root) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses key behavioral traits (refusal of large/binary files) and the alternative, but does not mention edge cases like missing files or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main purpose, and includes practical constraints without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool, complete parameter schema, and clear description of constraints and alternatives, the description is sufficiently complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The tool description adds no extra parameter semantics beyond referencing hosts_list for host, which is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb (read), resource (text file over SFTP), and action (return contents). Differentiates from siblings like sftp_write and ssh_exec by specifying read-only text access.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when not to use this tool (files over 512 KB or binary) and directs to ssh_exec as an alternative, making the usage boundary clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sftp_writeAInspect
Create or overwrite a text file on one of your servers over SFTP. 'content' is written as UTF-8. Capped at 512 KB; for binary uploads use a terminal/scp instead.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | Server id from hosts_list | |
| path | Yes | Destination file path (created or overwritten) | |
| content | Yes | UTF-8 text to write | |
| username | No | Login user (defaults to the tunnel's user, else root) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the destructive nature (overwrite), UTF-8 encoding, file size cap, and binary alternative. It does not mention parent directory creation or error handling, but the details are sufficient for basic usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that immediately state the purpose and then provide necessary constraints. No word is wasted, and it is structured with the action first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write tool with no output schema, the description covers the primary behavior, size limit, and an alternative for binary uploads. It could mention return values or error behavior, but this is not critical for an SFTP write operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already documented. The description adds context about content encoding and the size cap, but these are behavioral constraints rather than parameter-specific clarifications. No additional parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Create or overwrite'), resource ('a text file'), and method ('over SFTP'). It also distinguishes itself from siblings like sftp_list and sftp_read by focusing on write operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states that binary uploads should use a terminal/scp instead, providing a clear when-not-to-use guideline. It implies text file usage and the 512 KB cap, but does not explicitly mention alternatives like sftp_read for reading files.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ssh_execAInspect
Run a single shell command on one of your servers and return its combined output. Runs keyless over Termalin's tunnel — no SSH key, and the server needs no open inbound port.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | Server id from hosts_list | |
| command | Yes | Shell command to execute | |
| username | No | Login user (defaults to the tunnel's user, else root) | |
| timeoutSeconds | No | Max seconds to wait (default 60, up to 300) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It adds meaningful context: 'keyless over Termalin's tunnel — no SSH key, and the server needs no open inbound port' and 'combined output' (implying stdout/stderr). While it does not cover all behaviors (e.g., exit code handling), the key security and execution-method details are provided, which is more than expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the main action, and every clause contributes value (execution, output, security, connectivity). There is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (4 parameters, 2 required, no nested objects) and absence of an output schema, the description sufficiently covers the core operation and return value ('combined output'). It omits details like timeout or username defaults, but those are already in the schema, so the description is complete enough for an agent to select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all four parameters, including defaults and purpose. The description does not add further parameter-level meaning, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Run a single shell command on one of your servers and return its combined output.' It uses a specific verb ('Run') and resource ('shell command on servers'), and the sibling tool names (sftp_list, sftp_read, etc.) are clearly file-transfer operations, distinguishing this as the execution tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is for running one-time shell commands, and it explicitly mentions the purpose of connectivity (keyless, tunnel-based). It does not explicitly name when not to use it or suggest alternatives, but the sibling tools make the distinction obvious. This meets the 'clear context, no exclusions' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for SSH and local terminal access. Supports interactive commands, long-running processes, and TUI apps like tmux/zellij63MIT
- AlicenseAqualityCmaintenanceEnables reading, writing, editing, searching, running commands, transferring files, and using git on a remote Linux server over SSH via MCP tools.222AGPL 3.0
- FlicenseBqualityBmaintenanceEnables remote command execution, scripting, file operations, and persistent tmux sessions on a VPS via MCP protocol.1771
- AlicenseAqualityBmaintenanceMCP server for managing remote servers via SSH, enabling command execution, file transfer, rsync, tunnels, health checks, backups, and database operations.176281MIT