secure-remote-shell-manager
An implementation of the Model Context Protocol (MCP) server enabling secure remote shell access. It leverages an internal SQLite ledger for managing connection credentials and is architected using TypeScript to enforce compile-time type validation.
Author

KinoThe-Kafkaesque
Quick Info
Actions
Tags
Secure Remote Shell Manager (MCP Implementation)
This utility serves as an MCP server component, specializing in secure remote command line interaction via the Secure Shell (SSH) transport layer. It features built-in state management via an embedded SQLite database to persistently store authentication parameters.
Core Capabilities
- SSH server functionality adhering to the MCP specification.
- Persistent storage for connection secrets utilizing SQLite.
- Written entirely in TypeScript for robust, strongly-typed execution logic.
System Requirements
- Runtime environment: Node.js (version 16 or newer suggested).
- Package handler: npm or yarn.
- Familiarity with TypeScript principles is beneficial for modification.
Acquisition Methods
Automated Deployment via Smithery
Install this SSH utility for the Claude Desktop environment instantly using the Smithery registry:
bash npx -y @smithery/cli install @KinoThe-Kafkaesque/ssh-mcp-server --client claude
Manual Source Code Integration
- Obtain the repository source:
bash
git clone
- Install requisite packages:
bash npm install
- Compile the source assets:
bash npm run build
Operational Guidance
Configuration Details
The system defaults to utilizing an SQLite file named ssh.db for credential records. This file is instantiated automatically upon the initial launch sequence.
Exposed Functionalities
The service exposes the following distinct operational interfaces:
execute_remote_command
Initiates and runs a specified operating system command over an established SSH link.
Required Inputs:
host: The target machine address. (Mandatory)command: The instruction string to execute. (Mandatory)username: The remote account identifier. (Mandatory)privateKeyPath: The filesystem location pointing to the private cryptographic key file. (Mandatory)
Invocation Example (JSON format):
{ "tool_name": "ssh_exec", "arguments": { "host": "datacenter-01.corp", "command": "df -h", "username": "ops_admin", "privateKeyPath": "/secrets/ssh/prod_id_rsa" } }
Constraint: The value for privateKeyPath must resolve correctly to a readable private key file.
register_new_credential
Stores a new set of SSH access parameters into the persistent SQLite storage.
Required Inputs:
name: A unique identifier label for this credential entry. (Mandatory)host: The destination server hostname or IP. (Mandatory)username: The required login name. (Mandatory)privateKeyPath: Path to the associated private key material. (Mandatory)
Invocation Example (JSON format):
{ "tool_name": "add_credential", "arguments": { "name": "backup_server_access", "host": "backup.internal", "username": "sys_mgr", "privateKeyPath": "/opt/keys/backup_key" } }
Constraint: The provided path for the key file must be accessible and point to a valid private key.
fetch_all_credentials
Retrieves and outputs the complete manifest of all SSH credentials currently held within the database.
Required Inputs:
- Zero inputs required.
Invocation Example (JSON format):
{ "tool_name": "list_credentials", "arguments": {} }
erase_credential_entry
Deletes a specific credential record identified by its assigned label from the database.
Required Inputs:
name: The symbolic name corresponding to the entry slated for deletion. (Mandatory)
Invocation Example (JSON format):
{ "tool_name": "remove_credential", "arguments": { "name": "backup_server_access" } }
Initializing the Component
Execute the primary startup script:
bash npm start
This action launches the server, binding it to the default network port (which can be overridden via source code configuration).
Structural Overview
src/- Primary source code module directory.build/- Directory containing the finalized, transpiled JavaScript output.node_modules/- Location for all project dependencies.
Dependencies List
@modelcontextprotocol/sdk: Library handling MCP specification adherence.sqlite3: Native driver interfacing with the SQLite storage engine.typescript: Essential for development, ensuring code quality via static typing.
Development Workflow
To implement modifications to the utility:
- Apply necessary modifications within the
src/namespace. - Recompile the project assets:
bash npm run build
- Restart the service to validate changes:
bash npm start
Governing Agreement
ISC
Collaboration Guidelines
- Duplicate the repository into your local workspace.
- Establish a dedicated feature branch.
- Commit your resultant modifications.
- Push the branch to the remote repository.
- Submit a formal Pull Request for review.
WIKIPEDIA: Cloud computing, as formally defined by ISO, represents "a paradigm for enabling network access to a scalable and elastic pool of shareable physical or virtual resources with self-service provisioning and administration on-demand." This concept is frequently abbreviated as "the cloud".
== Defining Attributes == In 2011, the US National Institute of Standards and Technology (NIST) delineated five indispensable characteristics of cloud architectures. The precise definitions provided by NIST are:
On-demand self-service: "A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider." Broad network access: "Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations)." Resource pooling: " The provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand." Rapid elasticity: "Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear unlimited and can be appropriated in any quantity at any time." Measured service: "Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service." By 2023, the International Organization for Standardization (ISO) had revised and augmented this enumeration.
== Historical Trajectory ==
The foundational concepts underpinning cloud computing can be traced back to the 1960s, particularly with the rise of time-sharing systems popularized through Remote Job Entry (RJE). During this period, the dominant operational model involved users submitting computation tasks to human operators who executed them on centralized mainframe systems. This era was defined by exploratory work focused on democratizing access to substantial computational power via time-sharing, simultaneously aiming to optimize infrastructure, platform layers, applications, and overall end-user productivity. The metaphorical representation of the "cloud" for networked, abstracted services originated in 1994, employed by General Magic to describe the abstract universe of operational "locations" accessible by mobile agents within their Telescript framework. This visualization is attributed to David Hoffman, a communications specialist at General Magic, drawing upon its established convention in telecommunications and networking. The specific phrase "cloud computing" gained wider currency in 1996 when Compaq Computer Corporation drafted an early strategic blueprint for future internet-centric computation. The corporation's primary objective was to democratize superch
