JUHE API Marketplace
iMAGRAY avatar
MCP Server

PostgreSQL API SSH MCP Server

A universal MCP server that enables AI agents to securely manage PostgreSQL databases, make API requests, and execute SSH commands with features for database analysis, schema editing, and data operations.

0
GitHub Stars
10/7/2025
Last Updated
MCP Server Configuration
1{
2 "name": "psql-ssh-api",
3 "command": "node",
4 "args": [
5 "C:\\path\\to\\your\\psql-ssh-api\\simple_openmcp_server.cjs"
6 ],
7 "env": {
8 "NODE_ENV": "production"
9 }
10}
JSON10 lines

README Documentation

SentryFrogg MCP Server v4.2.0

Document Profile

FieldValue
ProductSentryFrogg MCP Server
Version4.2.0
RuntimeNode.js ≥ 16
InterfacesModel Context Protocol (PostgreSQL · SSH · HTTP)
LicenseMIT

Executive Synopsis

SentryFrogg MCP Server supplies a governed command plane for MCP-compatible agents that operate data platforms, remote shells and web services. The implementation prioritises deterministic behaviour, encrypted credential storage and prescriptive workflows so that autonomous agents can execute infrastructure tasks with enterprise auditability.

Functional Surface

CapabilityDetail
PostgreSQL controlParameterised SQL, catalog discovery, CRUD helpers, mutual TLS, connection profiling.
SSH executionSerial command dispatch per profile, password/key authentication, reachability diagnostics.
HTTP accessREST verbs with JSON payloads, health checks, programmable headers and bearer tokens.
Secret vaultAES-256 encrypted profiles persisted in profiles.json with managed key material.
TelemetryTool-level statistics via getStats() for integration with monitoring stacks.

System Components

ComponentScope
sentryfrogg_server.cjsMCP entry point, tool catalogue, lifecycle supervision.
src/bootstrap/ServiceBootstrap.cjsService registration, dependency wiring, resource cleanup.
src/managers/PostgreSQLManager.cjsSQL execution, profile validation, TLS configuration, pool management.
src/managers/SSHManager.cjsSSH sessions, sequential execution enforcement, profile hygiene.
src/managers/APIManager.cjsHTTP invocation, header synthesis, response shaping.
src/services/ProfileService.cjsEncrypted persistence and retrieval of profile objects.
src/services/Security.cjsKey lifecycle, cryptographic primitives, payload size guards.
src/services/Validation.cjsCanonical validation for incoming payloads.

MCP Tools

mcp_psql_manager

AttributeSpecification
Required flowsetup_profile → downstream action using same profile_name.
Actionssetup_profile, list_profiles, quick_query, show_tables, describe_table, sample_data, insert_data, update_data, delete_data, database_info.
CredentialsEither discrete fields (host, port, username, password, database) or connection_url.
TLS optionsssl_mode, ssl_ca, ssl_cert, ssl_key, ssl_passphrase, ssl_servername, ssl_reject_unauthorized; omitted values reuse stored secrets.
Query rulesquick_query injects LIMIT 100 when absent; bind variables supplied via params array ($1, $2, ...).
Response formatJSON with success, rows, rowCount, fields, command; failures raise MCP internal errors.
Rejection triggersMissing profile, malformed SQL, payload limits exceeded, invalid TLS configuration.

mcp_ssh_manager

AttributeSpecification
Required flowsetup_profile (password or PEM private_key, optional passphrase) → operational action.
Actionssetup_profile, list_profiles, execute, system_info, check_host.
Execution modelCommands trimmed and length-limited; pipes/redirects permitted; per-profile execution is strictly sequential.
OutputsJSON containing success, stdout, stderr, exitCode, durationMs; errors propagate as MCP internal errors.
Security postureSecrets encrypted at rest; no templating—agents must supply fully qualified commands.

mcp_api_client

AttributeSpecification
Actionsget, post, put, delete, patch, check_api.
Inputsurl (required), data (JSON body for mutating verbs), headers (string map), auth_token (prefixed into Authorization unless already set).
BehaviourLocal and private addresses allowed; HTTP status/body returned in structured JSON; transport or parsing failures emit MCP internal errors.

Profile Lifecycle

  1. Invoke setup_profile to persist credentials and TLS artefacts; secrets encrypt with AES-256 using .mcp_profiles.key (0600 permissions).
  2. Reference the same profile_name for subsequent operations; omitted sensitive fields inherit stored encrypted values.
  3. Rotate credentials by reissuing setup_profile; the latest payload supersedes previous entries.
  4. Audit existing profiles via list_profiles; responses never disclose secrets.
  5. Retire unused profiles by editing profiles.json under change control.

TLS Configuration Guidance

  • Prefer embedding sslmode directives in connection_url; explicit payload fields override URL parameters.
  • Keep ssl_reject_unauthorized at true unless communicating with trusted self-signed endpoints.
  • Provide ssl_servername whenever certificate CN/SAN mismatches the host.
  • Supply PEM blocks as single-line strings using \n escape sequences; leading/trailing spaces are disallowed.
  • ssl_passphrase must be non-empty if provided; omit otherwise.

Installation and Operations

TaskCommand
Clone and installgit clone https://github.com/yourusername/sentryfrogg-mcp.git && cd sentryfrogg-mcp && npm install
Syntax checknpm run check
Launch (stdio)node sentryfrogg_server.cjs
Update dependenciesnpm install --package-lock-only && npm audit fix --only=prod (subject to governance)
Reset profile storeRemove profiles.json after confirming backups

Security & Compliance

  • Encryption key lifecycle: .mcp_profiles.key generated on first run; override via ENCRYPTION_KEY for coordinated environments.
  • Secret exposure: MCP responses never include decrypted values; rotation requires explicit setup_profile.
  • Input governance: SQL statements, SSH commands and HTTP payloads are length-limited; oversized inputs are rejected pre-execution.
  • Audit trail: stderr logging captures timestamped events per tool to support collection by SIEM platforms.
  • Dependency governance: locked versions of pg, ssh2, node-fetch, @modelcontextprotocol/sdk; monitor advisories for patch cadence.

Troubleshooting Matrix

SymptomDiagnostic ActionsRemediation
PostgreSQL TLS failureInspect ssl_mode, ssl_servername, certificate chain, Postgres logs.Update TLS materials; rerun setup_profile.
SSH command hangValidate command length, ensure non-interactive execution, check remote prompts.Adjust command or script; rerun setup_profile if credentials changed.
HTTP error responseReview returned status/body, verify headers and auth_token.Correct payload; retry request.
Missing profileExecute list_profiles to confirm presence; ensure consistent profile_name.Recreate via setup_profile.

Change History Reference

Consult CHANGELOG.md for a dated record of functional and operational updates, including TLS support and renaming.

Contribution & Support

  • Submit changes through pull requests accompanied by verification evidence (npm run check).
  • Never commit .mcp_profiles.key or environment-specific secrets.
  • Use maintainer contact information in package.json for escalation or integration assistance.

Quick Install

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source

Boost your projects with Wisdom Gate LLM API

Supporting GPT-5, Claude-4, DeepSeek v3, Gemini and more.

Enjoy a free trial and save 20%+ compared to official pricing.