npm package: @sovereignai/northflank-mcp
Description: Northflank cloud infrastructure MCP server for Claude Desktop — manage projects, services, jobs, databases, and more via natural language
Author: Wellforce IT
Latest version: 1.0.0

# @wellforce/northflank-mcp

Northflank cloud infrastructure MCP server for Claude Desktop — manage projects, services, jobs, databases, domains, volumes, and more via natural language.

## Installation

Add to your Claude Desktop config file:

- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "northflank": {
      "command": "npx",
      "args": ["-y", "@wellforce/northflank-mcp"],
      "env": {
        "NORTHFLANK_API_TOKEN": "your-api-token-here"
      }
    }
  }
}
```

Restart Claude Desktop. You should see a hammer icon with 102 tools available.

## Getting Your API Token

1. Log into [Northflank](https://app.northflank.com)
2. Go to **Account Settings > API > Tokens** (or **Team Settings > API** for team tokens)
3. Click **Create new token**
4. Copy the token

## Environment Variables

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `NORTHFLANK_API_TOKEN` | Yes | — | Northflank API token (User, Team, or Service Account) |
| `NORTHFLANK_BASE_URL` | No | `https://api.northflank.com/v1` | API base URL (for self-hosted/enterprise) |

## Tools (102 total)

### Projects (6)
| Tool | Description |
|------|-------------|
| `northflank_list_projects` | List all projects |
| `northflank_get_project` | Get project by ID |
| `northflank_create_project` | Create a new project |
| `northflank_update_project` | Update a project |
| `northflank_put_project` | Create or update project (upsert) |
| `northflank_delete_project` | Delete a project |

### Services (17)
| Tool | Description |
|------|-------------|
| `northflank_list_services` | List services in a project |
| `northflank_get_service` | Get service by ID |
| `northflank_create_build_service` | Create build service from Git |
| `northflank_create_deployment_service` | Create deployment from container image |
| `northflank_create_combined_service` | Create combined build+deploy service |
| `northflank_update_build_service` | Update a build service (PUT) |
| `northflank_delete_service` | Delete a service |
| `northflank_restart_service` | Restart a service |
| `northflank_pause_service` | Pause a service |
| `northflank_resume_service` | Resume a paused service |
| `northflank_scale_service` | Scale service instances |
| `northflank_update_service_deployment` | Update deployment config |
| `northflank_update_service_build_options` | Update build options |
| `northflank_trigger_service_build` | Trigger a new build |
| `northflank_get_service_ports` | Get port configuration |
| `northflank_get_service_runtime_env` | Get runtime env vars |
| `northflank_update_service_runtime_env` | Update runtime env vars |

### Jobs (12)
| Tool | Description |
|------|-------------|
| `northflank_list_jobs` | List jobs in a project |
| `northflank_get_job` | Get job by ID |
| `northflank_create_cron_job` | Create a scheduled cron job |
| `northflank_create_manual_job` | Create a manual job |
| `northflank_delete_job` | Delete a job |
| `northflank_pause_job` | Pause a job |
| `northflank_scale_job` | Scale job instances |
| `northflank_trigger_job_build` | Trigger a job build |
| `northflank_list_job_builds` | List job builds |
| `northflank_list_job_runs` | List job runs |
| `northflank_get_job_run` | Get a specific job run |
| `northflank_get_job_runtime_env` | Get job runtime env |

### Addons / Databases (15)
| Tool | Description |
|------|-------------|
| `northflank_list_addons` | List addons in a project |
| `northflank_get_addon` | Get addon by ID |
| `northflank_create_addon` | Create addon (PostgreSQL, MongoDB, Redis, etc.) |
| `northflank_delete_addon` | Delete an addon |
| `northflank_pause_addon` | Pause an addon |
| `northflank_resume_addon` | Resume a paused addon |
| `northflank_scale_addon` | Scale addon resources |
| `northflank_get_addon_credentials` | Get connection credentials |
| `northflank_create_addon_backup` | Create a backup |
| `northflank_get_addon_backup` | Get backup details |
| `northflank_restore_addon_backup` | Restore from backup |
| `northflank_import_addon_backup` | Import external backup |
| `northflank_create_addon_backup_schedule` | Create backup schedule |
| `northflank_list_addon_types` | List available addon types |
| `northflank_list_addon_containers` | List addon containers |

### Secrets (6)
| Tool | Description |
|------|-------------|
| `northflank_list_secrets` | List secret groups |
| `northflank_get_secret` | Get secret group by ID |
| `northflank_create_secret` | Create secret group |
| `northflank_update_secret` | Update secret group |
| `northflank_delete_secret` | Delete secret group |
| `northflank_link_addon_to_secret` | Link addon credentials to secret |

### Domains (14)
| Tool | Description |
|------|-------------|
| `northflank_list_domains` | List registered domains |
| `northflank_register_domain` | Register a domain |
| `northflank_delete_domain` | Delete a domain |
| `northflank_verify_domain` | Verify domain DNS |
| `northflank_get_domain_certificate` | Get SSL certificate info |
| `northflank_import_domain_certificate` | Import custom certificate |
| `northflank_add_subdomain` | Add a subdomain |
| `northflank_delete_subdomain` | Delete a subdomain |
| `northflank_verify_subdomain` | Verify subdomain DNS |
| `northflank_assign_subdomain_service` | Assign service to subdomain |
| `northflank_unassign_subdomain_service` | Unassign service |
| `northflank_enable_subdomain_cdn` | Enable CDN |
| `northflank_disable_subdomain_cdn` | Disable CDN |
| `northflank_manage_subdomain_paths` | Manage path routes |

### Volumes (5)
| Tool | Description |
|------|-------------|
| `northflank_list_volumes` | List volumes |
| `northflank_get_volume` | Get volume by ID |
| `northflank_create_volume` | Create persistent volume |
| `northflank_delete_volume` | Delete a volume |
| `northflank_list_volume_backups` | List volume backups |

### Registries (5)
| Tool | Description |
|------|-------------|
| `northflank_list_registries` | List container registries |
| `northflank_get_registry` | Get registry by ID |
| `northflank_create_registry` | Create registry integration |
| `northflank_update_registry` | Update registry |
| `northflank_delete_registry` | Delete registry |

### Integrations (5)
| Tool | Description |
|------|-------------|
| `northflank_list_integrations` | List VCS/cloud integrations |
| `northflank_get_integration` | Get integration by ID |
| `northflank_create_integration` | Create integration |
| `northflank_update_integration` | Update integration |
| `northflank_delete_integration` | Delete integration |

### Templates (5)
| Tool | Description |
|------|-------------|
| `northflank_list_templates` | List deployment templates |
| `northflank_get_template` | Get template by ID |
| `northflank_create_template` | Create template |
| `northflank_run_template` | Run a template |
| `northflank_delete_template` | Delete template |

### Log Sinks (7)
| Tool | Description |
|------|-------------|
| `northflank_list_log_sinks` | List log sinks |
| `northflank_get_log_sink` | Get log sink by ID |
| `northflank_create_log_sink` | Create log sink |
| `northflank_update_log_sink` | Update log sink |
| `northflank_delete_log_sink` | Delete log sink |
| `northflank_pause_log_sink` | Pause log sink |
| `northflank_resume_log_sink` | Resume log sink |

### Metrics (1)
| Tool | Description |
|------|-------------|
| `northflank_retrieve_metrics` | Retrieve resource metrics |

### Billing (3)
| Tool | Description |
|------|-------------|
| `northflank_list_invoices` | List invoices |
| `northflank_get_invoice` | Get invoice by ID |
| `northflank_list_plans` | List available plans |

### API Escape Hatch (1)
| Tool | Description |
|------|-------------|
| `northflank_api_call` | Generic API call for uncovered endpoints |

## Development

```bash
git clone https://github.com/Support-Forge/MCP.git
cd MCP
npm install
npm run build --workspace=packages/northflank-mcp
npm test --workspace=packages/northflank-mcp
```

```bash
# Watch mode
npm run dev --workspace=packages/northflank-mcp

# Test with MCP Inspector
npm run inspect --workspace=packages/northflank-mcp
```

## API Reference

- **Base URL**: `https://api.northflank.com/v1/`
- **Auth**: Bearer token
- **Rate limit**: 1000 requests/hour
- **Pagination**: cursor-based, 50 items/page
- **Docs**: https://northflank.com/docs/v1/api/

## License

MIT