local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Manages SSH credentials storage through a SQLite database, enabling persistence of connection details for remote command execution.
SSH MCP Server
A Model Context Protocol (MCP) server implementation that provides SSH capabilities. This server allows for secure remote access and execution through the MCP protocol.
Features
- SSH server implementation using MCP protocol
- SQLite database integration for data persistence
- TypeScript implementation for type safety and better development experience
Prerequisites
- Node.js (v16 or higher recommended)
- npm or yarn package manager
- TypeScript knowledge for development
Installation
- Clone the repository:
- Install dependencies:
- Build the project:
Usage
Configuration
The server uses a SQLite database (ssh.db
) to store SSH credentials. The
database file will be created automatically when the server starts.
Tools
The server provides the following tools:
ssh_exec
Execute a command over SSH.
Input Parameters:
host
: The host to connect to. (required)command
: The command to execute. (required)username
: The username to use for the SSH connection. (required)privateKeyPath
: The path to the private key file. (required)
Example Usage:
Note: The privateKeyPath
must be a valid path to a private key file.
add_credential
Add a new SSH credential.
Input Parameters:
name
: The name of the credential. (required)host
: The host to connect to. (required)username
: The username to use for the SSH connection. (required)privateKeyPath
: The path to the private key file. (required)
Example Usage:
Note: The privateKeyPath
must be a valid path to a private key file.
list_credentials
List all stored SSH credentials.
Input Parameters:
- None
Example Usage:
remove_credential
Remove a stored SSH credential.
Input Parameters:
name
: The name of the credential to remove. (required)
Example Usage:
Starting the server
The server will start running on the configured port (default settings can be modified in the source code).
Project Structure
src/
- Source code directorybuild/
- Compiled JavaScript outputnode_modules/
- Project dependencies
Dependencies
@modelcontextprotocol/sdk
: MCP protocol implementationsqlite3
: SQLite database drivertypescript
: Development dependency for TypeScript support
Development
To make changes to the project:
- Make your changes in the
src/
directory - Rebuild the project:
- Start the server to test your changes:
License
ISC
Contributing
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
You must be authenticated.
A Model Context Protocol server implementation that enables secure remote command execution via SSH, with features for managing and using SSH credentials.