Slipway
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_appA | Scaffold a new app from a template. Templates: static (Plain HTML/CSS/JS site. Zero dependencies, instant preview.); react (React + Vite single-page app. Run install_dependencies before previewing.); api (Node.js JSON API server. Zero dependencies.); fullstack (Node.js server + static frontend + SQLite database. Zero dependencies.) |
| list_appsA | List all apps in the Slipway workspace, with running preview/deploy URLs. |
| delete_appB | Permanently delete an app and its data. Requires confirm=true. |
| list_filesB | List all files in an app (node_modules and .git are skipped). |
| read_fileC | Read a file from an app. |
| write_fileB | Create or overwrite a file in an app. Parent directories are created automatically. |
| delete_fileC | Delete a file or directory inside an app. |
| install_dependenciesC | Run npm install in the app directory. |
| start_previewB | Start a live dev preview of the app and return its URL. Give the URL to the user. |
| stop_previewC | Stop a running preview. |
| preview_logsC | Recent stdout/stderr from a running preview — use this to debug. |
| query_databaseA | Run SQL against the app's built-in SQLite database (/data.sqlite). SELECT returns rows as JSON; DDL/DML returns change info. The fullstack template's server uses this same file. |
| set_envA | Set a secret/config value in the app's .env. Injected into the app's process on preview and deploy. Values are never echoed back. |
| list_envB | List the env keys set for an app (keys only, never values). |
| deployA | Deploy the app. "local" builds and serves it persistently on this machine; "vercel" / "netlify" / "cloudflare" publish to a real public URL via that provider's CLI (free tiers work; custom domains are configured in the provider dashboard). |
| send_emailB | Send a transactional email via SMTP. Requires SMTP_HOST/SMTP_PORT/SMTP_USER/SMTP_PASS/MAIL_FROM in the app's env (any SMTP provider works). |
| push_generate_keysA | Generate (or return existing) VAPID keys for Web Push. Returns the public key to use with pushManager.subscribe() in the app's frontend; the private key never leaves this machine. |
| push_sendB | Send a Web Push notification to a browser subscription (the JSON from PushSubscription.toJSON(), which the app's frontend should send to its backend). |
| server_statusA | Show the workspace location and everything currently running. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Each tool targets a distinct resource and action. File operations (list, read, write, delete) are clearly separated, preview and env tools are distinct, and notification tools (email vs push) have no overlap. No two tools could be confused.
All tools use snake_case, and most follow a verb_noun pattern (create_app, list_apps, delete_app, write_file, etc.). A few like 'preview_logs' and 'server_status' are noun phrases but remain consistent in style and readable.
At 19 tools, this is slightly above the typical 3–15 well-scoped range. However, the server covers a broad domain—app lifecycle, file management, env, previews, deployment, and notifications—so each tool earns its place, and the count feels reasonable rather than bloated.
The tool set provides full CRUD for apps and files, env management, preview/deploy workflows, and added features like email and notifications. Minor gaps exist (e.g., no app update/rename, no explicit env deletion), but these can be worked around via file writes or redeployment, so agents will rarely hit dead ends.