npm package: @getpultdev/mcp-server
Description: MCP server for Pult platform — manage apps, deployments, databases, and more from AI tools
Author: Pult
Latest version: 0.2.0

# @getpultdev/mcp-server

MCP server for [Pult](https://pult.rest) — manage apps, deployments, databases, domains, and more from AI tools.

Works with [Claude Code](https://docs.anthropic.com/en/docs/claude-code), Cursor, Windsurf, and any [MCP](https://modelcontextprotocol.io)-compatible client.

## Setup

### Claude Code

```bash
claude mcp add pult -- npx @getpultdev/mcp-server
```

Set your API key:

```bash
export PULT_API_KEY=your-api-key
```

### claude_desktop_config.json / Cursor / Windsurf

```json
{
  "mcpServers": {
    "pult": {
      "command": "npx",
      "args": ["@getpultdev/mcp-server"],
      "env": {
        "PULT_API_KEY": "your-api-key"
      }
    }
  }
}
```

## Tools (183)

### Apps & Regions
| Tool | Description |
|------|-------------|
| `list-apps` | List all your Pult apps |
| `get-app` | Get app details |
| `create-app` | Create a new app |
| `delete-app` | Delete an app |
| `list-regions` | List available regions for an app |
| `add-region` | Add a deployment region |
| `remove-region` | Remove a deployment region |
| `get-app-metrics` | Get app resource metrics |
| `purge-cache` | Purge CDN cache |
| `get-project-url` | Get API, database, auth, and storage URLs |

### Deployments
| Tool | Description |
|------|-------------|
| `deploy-app` | Trigger a deployment |
| `list-deployments` | List recent deployments |
| `get-deployment` | Get deployment details |
| `get-build-logs` | Get build logs for a deployment |
| `rollback-deployment` | Rollback to the previous deployment |

### Environment Variables
| Tool | Description |
|------|-------------|
| `list-env` | List environment variables |
| `set-env` | Set environment variables (key-value pairs) |
| `delete-env` | Delete an environment variable |
| `reveal-env-var` | Reveal the decrypted value of an env var |

### Domains
| Tool | Description |
|------|-------------|
| `list-domains` | List custom domains |
| `add-domain` | Add a custom domain |
| `verify-domain` | Verify domain DNS |
| `delete-domain` | Remove a domain |

### Database
| Tool | Description |
|------|-------------|
| `get-database` | Get database status and connection info |
| `create-database` | Provision a managed PostgreSQL database |
| `delete-database` | Delete the managed database |
| `query-database` | Execute SQL queries |
| `list-tables` | List all tables |
| `get-table-schema` | Get column definitions for a table |
| `create-table` | Create a new table |
| `drop-table` | Drop a table |
| `insert-rows` | Insert rows into a table |
| `update-rows` | Update rows in a table |
| `delete-rows` | Delete rows from a table |
| `get-table-row-count` | Get row count for a table |
| `list-rls-policies` | List Row Level Security policies |
| `create-rls-policy` | Create an RLS policy |
| `delete-rls-policy` | Delete an RLS policy |
| `list-db-functions` | List database functions |
| `list-db-roles` | List database roles |
| `list-backups` | List database backups |
| `create-backup` | Create a database backup |
| `get-db-stats` | Get database statistics |
| `create-db-replica` | Create a read replica |
| `list-db-replicas` | List read replicas |
| `delete-db-replica` | Delete a read replica |
| `list-migrations` | List applied migrations |
| `apply-migration` | Apply a SQL migration |
| `list-extensions` | List PostgreSQL extensions |
| `enable-extension` | Enable a PostgreSQL extension |

### Environments (Branching)
| Tool | Description |
|------|-------------|
| `list-environments` | List environments (production, preview, staging) |
| `create-environment` | Create a new environment |
| `get-environment` | Get environment details |
| `delete-environment` | Delete an environment |
| `promote-environment` | Promote to production |

### Logs
| Tool | Description |
|------|-------------|
| `get-logs` | Get runtime logs |

### Services
| Tool | Description |
|------|-------------|
| `list-services` | List services |
| `get-service` | Get service details |
| `create-service` | Create a new service |
| `update-service` | Update service config |
| `delete-service` | Delete a service |
| `deploy-service` | Deploy a specific service |
| `list-service-env` | List service env vars |
| `set-service-env` | Set service env vars |
| `reveal-service-env` | Reveal encrypted service env var |

### Auth
| Tool | Description |
|------|-------------|
| `get-auth-status` | Get auth service status |
| `enable-auth` | Enable authentication |
| `disable-auth` | Disable authentication |
| `list-auth-users` | List registered users |
| `get-auth-user` | Get user details |
| `create-auth-user` | Create a user |
| `ban-auth-user` | Ban a user |
| `unban-auth-user` | Unban a user |
| `delete-auth-user` | Delete a user |
| `list-auth-providers` | List auth providers |
| `update-auth-provider` | Configure a provider |
| `get-auth-settings` | Get auth settings |
| `update-auth-settings` | Update auth settings |
| `list-auth-logs` | List auth event logs |
| `get-auth-hooks` | Get auth hooks config |
| `update-auth-hooks` | Update auth hooks |
| `get-auth-templates` | Get email templates |
| `update-auth-template` | Update an email template |

### Storage
| Tool | Description |
|------|-------------|
| `get-storage` | Get storage info |
| `enable-storage` | Enable storage |
| `update-storage` | Update storage config |
| `presign-upload` | Get a presigned upload URL |
| `delete-storage` | Disable storage |
| `list-storage-buckets` | List storage buckets |
| `create-storage-bucket` | Create a bucket |
| `delete-storage-bucket` | Delete a bucket |
| `list-storage-files` | List files |
| `delete-storage-files` | Delete files |
| `move-storage-file` | Move/rename a file |
| `list-storage-policies` | List access policies |
| `create-storage-policy` | Create an access policy |
| `delete-storage-policy` | Delete an access policy |
| `get-storage-settings` | Get storage settings |
| `update-storage-settings` | Update storage settings |

### Redis
| Tool | Description |
|------|-------------|
| `get-redis-status` | Get Redis instance status |
| `enable-redis` | Enable Redis (Valkey) |
| `disable-redis` | Disable Redis |
| `get-redis-info` | Get server info (memory, clients, uptime) |
| `list-redis-keys` | List keys matching a pattern |
| `get-redis-key` | Get key value and metadata |
| `delete-redis-key` | Delete a key |
| `execute-redis-command` | Execute a raw Redis command |
| `get-redis-settings` | Get Redis settings |
| `update-redis-settings` | Update Redis settings |

### Realtime
| Tool | Description |
|------|-------------|
| `get-realtime-status` | Get WebSocket service status |
| `enable-realtime` | Enable realtime |
| `disable-realtime` | Disable realtime |
| `list-realtime-channels` | List active channels |
| `broadcast-realtime` | Broadcast a message |
| `get-realtime-settings` | Get realtime settings |
| `update-realtime-settings` | Update realtime settings |

### Queue
| Tool | Description |
|------|-------------|
| `get-queue-stats` | Get queue statistics |
| `list-queue-jobs` | List queue jobs |
| `retry-queue-job` | Retry a failed job |
| `delete-queue-job` | Delete a job |

### Cron Jobs
| Tool | Description |
|------|-------------|
| `list-cron-jobs` | List scheduled cron jobs |
| `create-cron-job` | Create a cron job |
| `delete-cron-job` | Delete a cron job |
| `toggle-cron-job` | Enable or disable a cron job |

### AI Gateway
| Tool | Description |
|------|-------------|
| `list-ai-keys` | List configured provider keys |
| `add-ai-key` | Add a provider API key |
| `delete-ai-key` | Remove a provider key |
| `test-ai-key` | Test a provider key |
| `get-ai-config` | Get gateway configuration |
| `update-ai-config` | Update gateway configuration |
| `get-ai-usage` | Get usage overview (requests, tokens, cost) |
| `get-ai-logs` | Get request logs |
| `get-ai-stats` | Get usage stats by model |
| `get-ai-models` | List available AI models |

### Vector Store
| Tool | Description |
|------|-------------|
| `list-vector-collections` | List vector collections |
| `create-vector-collection` | Create a collection |
| `browse-vectors` | Browse vectors |
| `upsert-vectors` | Insert or update vectors |
| `search-vectors` | Search by similarity |
| `delete-vectors` | Delete vectors |
| `drop-vector-collection` | Drop a collection |
| `list-vector-documents` | List ingested documents |
| `ingest-vectors` | Ingest documents for embedding |
| `chunk-upload-vectors` | Upload a chunk for large docs |
| `finalize-chunk-upload` | Finalize chunked upload |
| `get-vector-job-status` | Get ingest job status |
| `list-vector-jobs` | List ingest jobs |
| `get-vector-history` | Get ingest history |

### Git & GitHub
| Tool | Description |
|------|-------------|
| `get-git-status` | Check if a repo is connected |
| `connect-git` | Connect a GitHub repo |
| `disconnect-git` | Disconnect the repo |
| `get-github-status` | Check GitHub account connection |
| `list-github-repos` | List accessible repositories |
| `get-repo-contents` | Browse repo file tree |

### Teams
| Tool | Description |
|------|-------------|
| `list-teams` | List all teams |
| `create-team` | Create a team |
| `update-team` | Update team name |
| `delete-team` | Delete a team |
| `list-team-members` | List members |
| `add-team-member` | Invite a member |
| `update-member-role` | Update a member's role |
| `remove-team-member` | Remove a member |
| `list-team-invites` | List pending invitations |
| `delete-team-invite` | Cancel an invitation |
| `accept-invite` | Accept a team invitation |

### Billing
| Tool | Description |
|------|-------------|
| `get-billing-status` | Get plan and subscription info |
| `get-subscription` | Get subscription details |
| `get-billing-usage` | Get resource usage |
| `list-invoices` | List recent invoices |
| `upgrade-plan` | Generate upgrade checkout URL |
| `get-billing-portal` | Get Stripe billing portal link |
| `cancel-plan` | Cancel subscription |
| `resume-plan` | Resume cancelled subscription |
| `update-payment-method` | Update payment method |

### Analytics
| Tool | Description |
|------|-------------|
| `get-analytics-overview` | Get visitors, requests, errors, latency |
| `get-web-analytics` | Get top pages, referrers, countries |
| `get-realtime-visitors` | Get live visitor count |
| `get-analytics-timeseries` | Get timeseries data |
| `get-request-analytics` | Get request-level analytics |
| `get-web-vitals` | Get Core Web Vitals |
| `get-custom-events` | Get custom analytics events |

### Account
| Tool | Description |
|------|-------------|
| `get-me` | Get your profile |
| `update-me` | Update your profile |
| `list-api-keys` | List your API keys |
| `create-api-key` | Create an API key |
| `delete-api-key` | Delete an API key |
| `sign-out-all` | Invalidate all sessions |

### Documentation
| Tool | Description |
|------|-------------|
| `search-docs` | Search Pult documentation |

## Resources

| URI | Description |
|-----|-------------|
| `pult://apps` | All apps |
| `pult://apps/{id}` | App details |
| `pult://apps/{id}/deployments` | Deployments |
| `pult://apps/{id}/env` | Environment variables |
| `pult://apps/{id}/domains` | Custom domains |
| `pult://apps/{id}/logs` | Runtime logs |
| `pult://config/api-url` | Current API URL |

## Environment Variables

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `PULT_API_KEY` | Yes | — | Your Pult API key |
| `PULT_API_URL` | No | `https://api.pult.rest` | API base URL |

## License

MIT