impreza-mcp
v0.4.5
Published
Model Context Protocol server for Impreza Host — privacy-first, no-KYC hosting an AI agent can run end-to-end: self-onboard its own anonymous account (no e-mail), fund it in Bitcoin/Monero, then deploy customer-built apps to managed Impreza VPSes and mana
Maintainers
Readme
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.
| Tool | Wraps |
|------|-------|
| 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-mcpGet a ready-to-paste config snippet
The fastest path: ask the binary itself.
npx impreza-mcp setup --tool claude-code
# also: cursor | continue | zed | codex-cliThe 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_deploymentsfiltered 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
# dist/server.js is the entry pointLicense
MIT — see LICENSE.
