MCP App Store
by KeenEthics
Developer-Tools

Overview

Termalin connects your servers to Claude. Ask Claude to check disk space and memory, tail a log, restart a service, edit a config, install a package or look something up in a database, and it runs real commands over SSH, reads and writes files over SFTP, and reports back in the conversation. No SSH key is ever pasted anywhere. Your servers connect outward through Termalin Connectors (one-line install on Linux, Windows or macOS, no inbound port), each run is authenticated with a short-lived certificate minted for that call, and Claude gets access through OAuth from your termal.in account, after you approve it on a consent screen that shows where access is going. It also knows how your servers are doing: Termalin monitors every server with a Connector (no agent to install), so Claude can pull CPU, memory, disk and network numbers and the open alerts, and run long commands as background jobs it checks on later. And it can back a server up (encrypted) before a risky change and check last night's backup. You stay in control: - Per-connection policy: full access, an allowlist of commands, or read-only. - Database queries run the engine's own local client on the server (PostgreSQL, MySQL/MariaDB, Redis, MongoDB, SQLite), so no database password is stored anywhere, and they are read-only unless you allow writes. - Commands and file operations are written to your audit log. - Disconnect Claude from your account page in one click; access stops on the next call. Tools: hosts_list, ssh_exec, ssh_exec_many, job_start, job_status, job_stop, job_list, sftp_list, sftp_read, sftp_write, data_tables, data_schema, data_query, server_metrics, alerts_list, backup_create, backup_list, generate_password. Requirements: a termal.in account on Pro or Team (every new account starts with a 14-day Pro trial, no card needed), at least one server enrolled with a Connector, and a verified email. Works alongside the Termalin desktop, iOS and web apps, but none of them needs to be open.

Tools

alerts_list

ChatGPT
What Termalin's monitoring says is wrong with the user's servers right now (disk filling up, memory or load pinned, a failed service, a restarting container, a certificate about to expire, a server offline), plus what cleared in the last seven days. Start here when asked how the servers are doing. Covers servers with metrics switched on.

data_query

ChatGPT
Run a database query on one of your servers — passwordless. It executes the engine's own client on the host over Termalin's keyless tunnel, using the database's local trust (Postgres peer auth via sudo -u postgres, MySQL/MariaDB unix-socket via sudo mysql, redis-cli, mongosh, sqlite3) — so no database password is needed or stored anywhere. Read-only by default: only SELECT/SHOW-style statements run unless allowWrites is set (full-access keys only). SQL engines return CSV/TSV with a header. For MongoDB pass a shell expression, e.g. db.products.find({}).limit(20).toArray().

data_schema

ChatGPT
Describe one table of a database on one of your servers: its columns with type, whether they can be empty, default value and primary key. Call it before writing a query against a table you have not seen. Works for postgres, mysql, mariadb and sqlite.

data_tables

ChatGPT
List the tables / collections / keys of a database on one of your servers — passwordless, over the same local-client path as data_query.

generate_password

ChatGPT
Generate a strong random password — handy when creating a user or setting a password on a server. Returns the password only; nothing is stored.

hosts_list

ChatGPT
List the servers reachable through Termalin (your tunnel agents). Returns id, name, whether the server is online, the user commands run as, when it was last seen, its country, and ownerNote — what the owner wrote about that server for you (what it is, what to leave alone); follow it. Use the id (or the exact name) as 'host' in the other tools.

job_list

ChatGPT
List the recent background jobs on a server (newest first): id, state, start time and the command.

job_start

ChatGPT
Start a long-running shell command on a server in the background and return a job id right away. Use it for anything that can take more than about a minute — package installs, builds, backups, migrations, large downloads. The job keeps running after this call returns and survives the connection closing; its output goes to a log you read with job_status. The command runs from the login user's home directory.

job_status

ChatGPT
Check a background job started with job_start: whether it is still running or finished (with its exit code), when it started, and the last lines of its output.

job_stop

ChatGPT
Stop a background job started with job_start (asks it to terminate, then forces it after two seconds). Does nothing if the job already finished.

server_metrics

ChatGPT
Numbers Termalin's monitoring collects from the user's servers every minute, without running anything now: CPU, memory, disk, load, network, the busiest processes, failed services, containers, certificates. Without host: one line per server with its latest numbers. With host: that server's latest sample in full and the average and peak over the last hours (default 6). Use it for 'how is the server doing' and 'what happened at night' before reaching for ssh_exec. Covers servers with metrics switched on.

sftp_list

ChatGPT
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.

sftp_read

ChatGPT
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.

sftp_write

ChatGPT
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.

ssh_exec

ChatGPT
Run a single shell command on one of your servers and return its combined output and exit code. Runs keyless over Termalin's tunnel — no SSH key, and the server needs no open inbound port. Each call is a fresh shell (cd does not persist — chain with &&). Keep a call under about 90 seconds: for anything longer (installs, builds, backups) use job_start and check on it with job_status.

ssh_exec_many

ChatGPT
Run the same shell command on several of your servers at once and return each server's output and exit code. Use it to compare or check a fleet (disk space, versions, a service's state) in one call instead of one call per server. Up to 10 servers; the same 90-second limit as ssh_exec applies.

alerts_list

Claude

data_query

Claude

data_schema

Claude

data_tables

Claude

generate_password

Claude

hosts_list

Claude

job_list

Claude

job_start

Claude

job_status

Claude

job_stop

Claude

server_metrics

Claude

sftp_list

Claude

sftp_read

Claude

sftp_write

Claude

ssh_exec

Claude

ssh_exec_many

Claude

App Stats

32

Tools

3

Prompts

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily