DPLoy
Enables AI agents to deploy applications and manage servers over SSH using natural language commands, with built-in tools for Python bots, Docker Compose, and SSL setup.
README
DPLoy
An MCP server that deploys to your VPS in plain English. Give your AI coding agent an IP address and an SSH key path, then just say what you want — "deploy this repo as a Python bot", "put SSL on this domain", "spin up this docker-compose project" — and it does the work over SSH.
Built for use with Claude Code, Cursor, Codex, or any other MCP-compatible client. No dashboard, no daemon, no account. It's a thin stdio MCP server that wraps SSH.
Why this exists
Most "AI + infrastructure" tools are full platforms with their own UI, memory, and message-routing layer. This is the opposite: a small set of tools that plug straight into the agent you already use, so you don't have to leave your editor to deploy something.
What it can do
exec— run any single shell command over SSHwrite_file— write a file to the server via SFTPdeploy_python_bot— clone a repo, set up a venv, installrequirements.txt, and run it as asystemdservice with auto-restart (built with aiogram-style Telegram bots in mind, but works for any long-running Python process)setup_nginx_ssl— install nginx + certbot, reverse-proxy to a local port, and get a free Let's Encrypt certificatedeploy_docker_compose— clone a repo, install Docker if needed, and rundocker compose up -d --buildview_audit_log_path— find the local log of everything that's been run
Security model
- Key-based auth only. Password authentication isn't supported anywhere in this codebase, on purpose.
- No persisted server list. You pass
host/username/privateKeyPathon every call. Nothing about your servers is written to disk by this tool (besides the audit log of commands run). - Dangerous commands require confirmation. Things like
rm -rf,reboot,mkfs,dd, flushing iptables, etc. are pattern-matched and blocked unless the call includesconfirmed: true. The intended flow is: the agent tries the command, gets blocked, explains the risk to you in plain language, and only retries with confirmation after you say yes. - Local audit log. Every command run through this tool is appended to
~/.dploy-mcp/audit.logas one JSON line per command (host, command, exit code, duration, timestamp).
This is a tool that gives an AI agent shell access to a real server. Use a
non-root deploy user with sudo only where needed, point it at
non-critical / staging servers first, and read what the agent is about to
run before approving anything destructive.
Install
git clone https://github.com/wellmb/DPloy.git
cd DPloy
npm install
npm run build
Claude Code
claude mcp add --transport stdio dploy -- node /absolute/path/to/DPloy/build/index.js
Cursor
Add to ~/.cursor/mcp.json (or your project's .cursor/mcp.json):
{
"mcpServers": {
"dploy": {
"command": "node",
"args": ["/absolute/path/to/DPloy/build/index.js"]
}
}
}
Any other MCP client (Claude Desktop, etc.)
Same shape as above — point command at node and args at the built
build/index.js.
Usage
Once connected, just talk to your agent normally:
Deploy https://github.com/me/my-bot.git to 168.119.45.12 as root using ~/.ssh/id_ed25519. Entry point is main.py, app name "my-bot". Here's the .env content: ...
Put SSL on bot.example.com for 168.119.45.12, my app listens on port 3000, use ~/.ssh/id_ed25519 as root, email me@example.com
SSH into 168.119.45.12 and check the systemd status of my-bot
If the agent ever needs to run something destructive, it will tell you what it wants to do and why, and ask you to confirm before it's allowed through.
Recipes vs. raw exec
The deploy_* tools cover the common cases end to end. For anything outside
that — checking logs, restarting a single service, inspecting disk space,
one-off debugging — the agent will fall back to exec and just run the
right command directly.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.