npm package: @sproobo/mcp
Description: Sproobo MCP server — deploy sites, manage servers, and configure infrastructure from AI agents
Latest version: 0.3.0

# @sproobo/mcp

[Model Context Protocol](https://modelcontextprotocol.io/) server for [Sproobo](https://sproobo.com) — deploy sites, manage servers, and configure infrastructure from AI agents like Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.

## Quick start

### Claude Desktop

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "sproobo": {
      "command": "npx",
      "args": ["-y", "@sproobo/mcp"],
      "env": {
        "SPROOBO_API_KEY": "spb_your_key_here"
      }
    }
  }
}
```

### Cursor

Add to `.cursor/mcp.json` in your project:

```json
{
  "mcpServers": {
    "sproobo": {
      "command": "npx",
      "args": ["-y", "@sproobo/mcp"],
      "env": {
        "SPROOBO_API_KEY": "spb_your_key_here"
      }
    }
  }
}
```

### Claude Code

```bash
claude mcp add sproobo -- npx -y @sproobo/mcp
```

Then set your API key in the environment:

```bash
export SPROOBO_API_KEY="spb_your_key_here"
```

## Authentication

Create an API key in the Sproobo dashboard under **Settings > API Keys**. See the [API Keys docs](https://sproobo.com/docs/api-keys) for details.

| Variable | Required | Description |
| --- | --- | --- |
| `SPROOBO_API_KEY` | Yes | Your API key (e.g. `spb_...`) |
| `SPROOBO_API_URL` | No | Custom API base URL (defaults to `https://dashboard.sproobo.com`) |

> **Never** commit API keys to source control or shared config files. Use your client's secret store or environment variables.

## Available tools

### Servers

| Tool | Description |
| --- | --- |
| `list_servers` | List all servers with status, IP, and provider info |
| `get_server` | Get detailed info about a specific server |
| `get_server_metrics` | Get latest CPU, memory, disk, and network metrics |

### Site Creation

| Tool | Description |
| --- | --- |
| `analyze_repo` | Analyze a GitHub repo to detect framework, dependencies, and suggest deployment config |
| `suggest_site_config` | Generate a complete site config with port selection, PM2 config, and confidence flags |
| `create_site` | Create a new site on a server and optionally trigger deployment |

### Sites

| Tool | Description |
| --- | --- |
| `list_sites` | List all sites deployed on a server |
| `get_site` | Get site details including domains and deployment type |

### Deployments

| Tool | Description |
| --- | --- |
| `deploy_site` | Trigger a new deployment, optionally for a specific commit |
| `list_deployments` | List deployment history, most recent first |
| `get_deployment` | Get deployment details including status and timing |
| `get_deployment_logs` | Stream build and deploy logs for a deployment |
| `rollback_site` | Rollback to a previous deployment (fast or safe mode) |

### Services

| Tool | Description |
| --- | --- |
| `list_services` | List installed services (Redis, PostgreSQL, etc.) |

### Nginx

| Tool | Description |
| --- | --- |
| `list_nginx_templates` | List available nginx configuration templates |
| `get_nginx_config_files` | Get nginx config files on a server |
| `test_nginx_config` | Test nginx configuration for syntax errors |
| `apply_nginx_template` | Apply an nginx template to a site |

### Firewall

| Tool | Description |
| --- | --- |
| `list_firewall_rules` | List all firewall rules on a server |
| `create_firewall_rule` | Create a new firewall rule |
| `delete_firewall_rule` | Delete a firewall rule |
| `apply_firewall_rules` | Apply configured rules to the server |

## Security

- Sensitive fields (env vars, passwords, tokens, keys, credentials) are automatically redacted from all API responses
- API keys are transmitted as Bearer tokens over HTTPS
- The server never stores credentials — it reads `SPROOBO_API_KEY` from the environment at startup

## Documentation

Full documentation is available at [sproobo.com/docs/mcp](https://sproobo.com/docs/mcp).

## License

MIT