impreza-mcp

Model Context Protocol server for
Impreza Host. Lets AI coding tools (Claude
Code, Cursor, Codex CLI, Continue, Zed, ...) deploy customer-built
apps to managed Impreza VPSes without leaving the chat.
When you say "deploy this for me" to Claude with this MCP server
loaded, Claude calls impreza_deploy_custom directly — packages your
project, uploads it, builds + runs on your Impreza VPS, and reports
back the URL.
Status
Full surface live. All 34 tools shipped — app deployment (14) plus
account + crypto balance, catalog + ordering, domains/DNS, and VPS lifecycle
(20) — with a setup wizard that generates ready-to-paste config snippets for 5
AI tools.
| Apps & deployments | |
impreza_list_servers | GET /v1/platform/servers |
impreza_list_apps | GET /v1/platform/apps |
impreza_list_deployments | GET /v1/platform/deployments + /custom (merged) |
impreza_deploy_custom | POST /v1/platform/deployments/custom (3 modes) |
impreza_deploy_catalog_app | POST /v1/platform/deployments |
impreza_uninstall_deployment | POST .../uninstall |
impreza_get_logs | POST .../logs (sync tail, last N lines) |
impreza_restart_deployment | POST .../restart |
impreza_redeploy_deployment | POST .../custom/{id}/redeploy (in-place rebuild, same domain) |
impreza_add_onion | POST .../onion/add |
impreza_change_domain | POST .../domain |
impreza_git_webhook_status | GET .../custom/{id}/git-webhook |
impreza_git_webhook_connect | POST .../custom/{id}/git-webhook/connect |
impreza_git_webhook_disconnect | POST .../custom/{id}/git-webhook/disconnect |
| Account & balance | |
impreza_account_info | GET /v1/account |
impreza_list_services | GET /v1/account/services |
impreza_topup | POST /v1/account/topup — top up in BTC / XMR / USDT / TRX |
impreza_topup_status | GET /v1/account/topup/{invoice_id} |
impreza_topup_payment | GET /v1/account/topup/{invoice_id}/payment — crypto address + amount to pay |
| Catalog & ordering | |
impreza_list_products | GET /v1/products — plans + pricing (filter type=server for VPS/dedicated) |
impreza_order_vps | POST /v1/orders — buy from balance; born deployable (@agent); 202 + poll impreza_list_servers |
| Domains & DNS | |
impreza_domain_check | GET /v1/domains/check |
impreza_domain_details | GET /v1/domains/{domain} |
impreza_list_dns | GET /v1/domains/{domain}/dns |
impreza_add_dns_record | POST /v1/domains/{domain}/dns |
impreza_update_dns_record | PUT /v1/domains/{domain}/dns |
impreza_delete_dns_record | DELETE /v1/domains/{domain}/dns |
impreza_set_nameservers | PUT /v1/domains/{domain}/nameservers |
| VPS lifecycle (Proxmox) | |
impreza_vps_status | GET /v1/vps/proxmox/{id}/status |
impreza_vps_power | POST /v1/vps/proxmox/{id}/{start|shutdown|reboot|stop} |
impreza_vps_list_backups | GET /v1/vps/proxmox/{id}/backups |
impreza_vps_create_backup | POST /v1/vps/proxmox/{id}/backups |
impreza_vps_list_templates | GET /v1/vps/proxmox/{id}/templates |
impreza_vps_reinstall | POST /v1/vps/proxmox/{id}/reinstall — destructive (wipes) |
Install + setup
Prerequisites
- Node ≥ 20
- An Impreza Host account with an API key + secret
(clientarea → API Keys; the IP of the machine running this MCP
server must be whitelisted under the key)
One-shot via npx
No global install needed — npx impreza-mcp works.
Or install globally
npm install -g impreza-mcp
Get a ready-to-paste config snippet
The fastest path: ask the binary itself.
npx impreza-mcp setup --tool claude-code
The wizard prints the JSON block to drop into your AI tool's MCP
config + the exact file path + the post-config step (usually "fully
quit + re-open the AI tool"). It does NOT write to disk — paste it
yourself so you don't accidentally clobber an existing config with
other MCP servers.
Or wire it in manually
Claude Code — add to ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):
{
"mcpServers": {
"impreza": {
"command": "npx",
"args": ["-y", "impreza-mcp"],
"env": {
"IMPREZA_API_KEY": "imp_...",
"IMPREZA_API_SECRET": "..."
}
}
}
}
Restart Claude Code. The tools appear under the MCP icon.
Cursor — add to ~/.cursor/mcp.json (same shape as above).
Continue — add to ~/.continue/config.json:
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "stdio",
"command": "npx",
"args": ["-y", "impreza-mcp"],
"env": {
"IMPREZA_API_KEY": "imp_...",
"IMPREZA_API_SECRET": "..."
}
}
}
]
}
}
Zed — add to your settings:
{
"context_servers": {
"impreza": {
"command": {
"path": "npx",
"args": ["-y", "impreza-mcp"],
"env": {
"IMPREZA_API_KEY": "imp_...",
"IMPREZA_API_SECRET": "..."
}
}
}
}
}
Usage in chat
After setup, talk to your AI naturally:
"List my Impreza servers." → calls impreza_list_servers
"Deploy this directory to my Impreza VPS, expose via .onion." →
packages the cwd as a Dockerfile-mode custom deploy, uploads, deploys
with onion=true, reports the .onion address.
"What apps are running on my agent?" → calls
impreza_list_deployments filtered to the right server.
Auth + security
IMPREZA_API_KEY + IMPREZA_API_SECRET live in the AI tool's MCP
config env — not in any file on disk owned by impreza-mcp itself.
The MCP server holds the secret only in memory and only attaches it
as HTTP request headers.
The IP of the machine running this MCP server (almost always your
laptop) must be on the API key's whitelist. Manage the whitelist in
your Impreza clientarea.
Build
npm install
npm run build
License
MIT — see LICENSE.