pulsar-deploy-mcp
v0.1.0
Published
MCP server for Pulsar Deploy — lets AI agents (Claude Desktop, Cline, Continue, etc.) drive your Pulsar Deploy account: list/create/deploy projects, manage env vars, query managed databases, tail logs, and more.
Maintainers
Readme
Pulsar Deploy MCP Server
An MCP (Model Context Protocol) server that lets AI agents — Claude Desktop, Cline, Continue, Cursor — drive a Pulsar Deploy account directly. Ask Claude "deploy my-app" or "spin up a Postgres for the api project" and it just works.
Setup
Get a token. Sign in to https://pulsardeploy.com → Settings → Tokens → Create. Copy the
pulsar_xxxxxxxxvalue.Add to your MCP client config. Example for Claude Desktop (
~/Library/Application Support/Claude/claude_desktop_config.jsonon macOS or%APPDATA%\Claude\claude_desktop_config.jsonon Windows):{ "mcpServers": { "pulsar-deploy": { "command": "npx", "args": ["-y", "pulsar-deploy-mcp"], "env": { "PULSAR_API_TOKEN": "pulsar_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "PULSAR_API_URL": "https://api.pulsardeploy.com" } } } }Restart your MCP client. Open a new chat and try:
- "what projects do I have on pulsar?"
- "deploy
my-app" - "tail the logs for that deployment"
- "create a postgres database called
api-dband attach it tomy-app"
PULSAR_API_URL is optional — defaults to the hosted Pulsar Deploy. Self-hosted
users set it to their own API origin.
What's exposed
The server intentionally surfaces high-level intent rather than every REST route. 22 tools cover the day-to-day:
| Tool | What it does |
| ---------------------------- | ------------------------------------------------------------------- |
| list_projects | All your projects with live URL + last deploy status |
| get_project | One project, full config + last 10 deploys |
| create_project_from_github | Paste a GitHub URL — framework auto-detected, build config inferred |
| delete_project | Destructive; confirm with user |
| deploy | Trigger production deploy at HEAD |
| get_deployment | Status, URL, duration, error |
| tail_logs | Last N build log lines for a deployment |
| search_logs | Substring-match across all stored build/deploy logs |
| rollback | Roll back to previous live deploy |
| list_env_vars | Masked — safe to show user |
| set_env_var / delete_env_var | Encrypted server-side; effect on next deploy |
| list_databases | Managed Postgres / MySQL / Redis / Mongo / PocketBase |
| create_database | Auto-links DATABASE_URL (or equivalent) to a named project |
| get_connection_string | Owner-only |
| run_sql | Against a managed Postgres/MySQL — DROP DATABASE/ROLE blocked |
| restart_database | Stop + start a managed instance |
| list_domains / add_domain | Custom domains + DNS instructions |
| wake_project | Wake the most recent sleeping deployment |
| get_resource_stats | CPU / memory / network for a project's live container |
| health_summary | One-shot status across every project |
The handler accepts project / database arguments as either UUIDs or names, so
the AI doesn't need to round-trip via list_projects every time.
Self-hosting / development
cd packages/mcp-server
npm install
npm run dev # tsx watch
# or
npm run build && node dist/index.jsSecurity
- Auth is your Personal Access Token. Treat it like a password — anyone with it can deploy / delete / read env vars in your account.
- The server runs locally in your MCP client's process. The token never leaves
your machine except in the
Authorization: Bearer ...header to your configuredPULSAR_API_URL. delete_projectanddelete_env_varare flagged "destructive" in the tool descriptions — well-behaved AI clients will confirm with you first.
