@alpacacloud/mcp
v1.4.2
Published
MCP server for Alpaca Cloud — AI agents connect to your project (Postgres, Auth, Storage), plus account-wide Sandboxes (code execution) and Workflows (automation).
Maintainers
Readme
@alpacacloud/mcp
Model Context Protocol (MCP) server for Alpaca Cloud.
Connect an AI agent (Claude, Cursor, Windsurf, etc.) to an Alpaca Cloud project — run SQL, manage schema, auth users, and storage, with no manual token plumbing.
Alpaca Cloud is an all-in-one platform: Postgres + Auth + Storage + Realtime + Edge Functions, plus static-site hosting and Docker app hosting — one platform, SDK, CLI, and MCP server.
Install / run
npx @alpacacloud/mcp@latest --project-url=https://<project>.alpaca-cloud.com --apikey=<service_role_key>Claude Code (one line):
claude mcp add alpacacloud -- npx -y @alpacacloud/mcp@latestOr in a Claude Desktop / Cursor MCP config:
{
"mcpServers": {
"alpacacloud": {
"command": "npx",
"args": ["@alpacacloud/mcp", "--project-url=https://<project>.alpaca-cloud.com", "--apikey=<service_role_key>"]
}
}
}Env vars also work (legacy ALPACABASE_* names still accepted as a fallback):
| Var | Purpose |
|---|---|
| ALPACACLOUD_URL | Your project URL (project-scoped DB/Auth/Storage tools) |
| ALPACACLOUD_SERVICE_KEY | Project service_role key |
| ALPACACLOUD_ACCOUNT_TOKEN | Your personal access token (alp_pat_…) — unlocks the account-wide Sandboxes + Workflows tools. One token grants full account access; no separate sandbox permission. |
| ALPACACLOUD_API_URL | Account API base. Defaults to https://api.alpaca-cloud.com |
| ALPACACLOUD_SANDBOX_TEMPLATE | Default sandbox image (python/node/base). Defaults to python |
| ALPACACLOUD_SANDBOX_NETWORK | true to allow outbound network (pip/npm installs) in new sandboxes. Defaults to false |
HTTP transport (--http) requires MCP_AUTH_TOKEN unless bound to localhost.
Self-describing for any AI
The server advertises tools, resources, and prompts so any MCP-capable AI
discovers the whole platform on connect — no prior knowledge needed:
- Resources — readable markdown guides:
alpacacloud://overview,…/database,…/auth,…/storage,…/realtime,…/edge-functions,…/frontend-hosting,…/app-hosting,…/branching,…/backups-pitr,…/sandboxes(beta),…/management-api. Readalpacacloud://overviewfirst. - Prompts — guided workflows:
explore-project,build-backend,add-vector-search,setup-auth,deploy-site,deploy-docker-app. - Tools — the 23 below, incl.
platform_capabilities(machine-readable catalog).
Tools (23)
Discovery
platform_capabilities— the full catalog of everything Alpaca Cloud can do, and which parts are managed here vs via the account Management API. Call this first.get_project_info— REST / auth / realtime endpoints + S3 details.
Database (Postgres 16)
run_sql— any SQL via the service_rolerun_sqlRPC (rows for SELECT,{ok}for DDL/DML)list_tables·get_table_schema·create_table·list_extensions(pgvector-ready)
Auth (per-project end users)
list_auth_users·create_auth_user·delete_auth_user
Storage
list_buckets·create_bucket·list_objects(upload/download/signed URLs via the SDK or the S3 API)
Sandboxes — code execution (E2B / Fly Machines style) · needs ALPACACLOUD_ACCOUNT_TOKEN
run_code— one-off: spin up an ephemeral sandbox, run code, tear downcreate_sandbox·run_in_sandbox·list_sandboxes·delete_sandbox— persistent sandboxes (exec commands/code, files)
Workflows — automation (n8n style, 400+ nodes) · needs ALPACACLOUD_ACCOUNT_TOKEN
list_workflows·create_workflow·run_workflowlist_workflow_node_types(discover nodes before building) ·list_workflow_templates
Project-scoped vs account-level
Two scopes:
- Project-scoped (service_role key): Database, Auth, Storage.
- Account-scoped (
ALPACACLOUD_ACCOUNT_TOKEN= a personal access token from the dashboard → API Tokens): Sandboxes (code execution) and Workflows (automation). Set it via--account-token=or theALPACACLOUD_ACCOUNT_TOKENenv var.
Other account-wide actions — create projects, deploy frontends/apps, scaling, templates,
alerting, billing — are exposed through the Management API (OAuth2) at
api.alpaca-cloud.com/mgmt/v1 or the dashboard. platform_capabilities lists all of it.
Security
The service_role key has full access and bypasses RLS — treat all results as
privileged. Tool errors are returned as { "error": "…" } (not thrown). For the
HTTP transport, always set MCP_AUTH_TOKEN and keep the bind localhost-only
unless you intend otherwise.
