# hatchable

Build and host full-stack web apps and sites on Hatchable from any MCP client. DB, auth, storage, domains, and cron per project. Free tier.

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add hatchable/hatchable

# Browse available tools
npx -y @smithery/cli@latest tool list hatchable/hatchable

# Get full schema for a tool
npx -y @smithery/cli@latest tool get hatchable/hatchable create_project

# Call a tool
npx -y @smithery/cli@latest tool call hatchable/hatchable create_project '{}'
```

## Direct MCP Connection

Endpoint: `https://hatchable--hatchable.run.tools`

## Tools (33)

- `create_project` — Create a new Hatchable project. This generates a URL slug, creates a dedicated PostgreSQL database, and returns the pro…
- `get_project` — Get project details including slug, visibility, status, deployed functions, and the database schema (tables, columns, t…
- `list_projects` — List all projects you own or collaborate on, with their visibility, tier, role, and current version.
- `deploy` — Deploy the project. Runs migrations/*.sql (tracked so each runs once), runs seed.sql on first deploy, copies public/ fi…
- `write_file` — Write or overwrite a project file. Paths are relative to the project root.
- `write_files` — Write multiple project files in a single call. Same rules as write_file but batched — faster for scaffolding a new proj…
- `read_file` — Read the content of a project file.
- `grep` — Regex content search across a project's files. Postgres-backed, scoped to one project, with glob filtering.
- `list_files` — List all files in a project with their paths, sizes, and hashes.
- `patch_file` — Apply a targeted edit to an existing project file without rewriting the entire file. Finds the first occurrence of `old…
- `delete_file` — Delete a project file. Takes effect after the next deploy.
- `execute_sql` — Run SQL against the project's dedicated PostgreSQL database.
- `get_schema` — Return the database schema for the project's PostgreSQL database: tables, columns (with types), and indexes.
- `set_env` — Set environment variables for a project. Available in functions via process.env.KEY. Keys containing SECRET, PASSWORD, …
- `set_visibility` — Change a project's visibility.
- `run_function` — Execute a deployed function and return the real response. Use this to test your API endpoints.
- `view_logs` — View function execution logs with rich filtering. Each entry includes status_code, duration_ms, log_output (captured co…
- `list_deployments` — List deployments for a project in reverse-chronological order. Each entry includes version, status, deployed_at, descri…
- `list_functions` — List every deployed API function for a project: route, method, runtime tier, cron schedule (if any), and 24-hour invoca…
- `get_deployment` — Detail view of one deployment by version number — returns the full file manifest (paths, hashes, sizes) and function li…
- `list_cron_jobs` — List every scheduled (cron) function in a project with its cron expression, 7-day run count, error count, and last_run_…
- `list_env` — List environment variable keys for a project. Only key names and an is_secret flag are returned — values are never expo…
- `delete_env` — Delete one or more environment variables by key. Pass `key` for a single delete or `keys` for a batch. Missing keys are…
- `update_project` — Update project metadata: name, tagline, description, category. Only the fields you pass are touched. For visibility cha…
- `import_file_from_url` — Fetch a remote URL and save the response body as a project file — server-side, so the bytes never pass through your con…
- `search_documentation` — Search Hatchable's own documentation for platform behavior — routing, the SDK surface, deploy semantics, auth config, r…
- `dry_run_deploy` — Run every deploy-time validator against the project's current files without actually deploying. Returns `errors` (hard …
- `upload_file` — Multipart file upload for content that exceeds a single model response's output token cap (big SPA bundles, large seed …
- `list_pending_uploads` — Show multipart uploads currently staged for this project that haven't yet been committed. Use this to recover from a di…
- `run_code` — Execute arbitrary JS in the project's isolate runtime with the same bindings a deployed function gets: `db`, `auth`, `e…
- `fork_project` — Fork a public project into your account. Copies all code and database schema (no data). The fork starts as a personal p…
- `search_projects` — Search the public Hatchable project directory — other people's projects that you can view or fork. Use this to find exi…
- `setup_account` — Associate an email and handle with your account.

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get hatchable/hatchable <tool-name>
```

## Resources

- `ui://widget/deploy-card.html`
