# Actuate > Actuate runs a TypeScript file as a tool an AI agent can call over MCP or HTTP. Each tool has a durable step engine (steps run exactly once, retries are safe), its own SQLite database, waits that cost nothing (sleep, events, payments, human approval by signed link), and uses your own messaging, payment and LLM accounts. Start with `npm create actuate`, deploy with `npx @actuate/cli deploy`; the runtime is open source (Apache-2.0) and self-hostable on Cloudflare Workers. Website: https://actuate.run · Source: https://github.com/actuate-run/actuate · Templates: https://github.com/actuate-run/templates Every page below is also available as Markdown at its .md URL. All pages in one file: https://actuate.run/docs/llms-full.txt ## Getting started - [Introduction](https://actuate.run/docs/getting-started/introduction.md): What an actuator is, and why Actuate exists. - [Quickstart](https://actuate.run/docs/getting-started/quickstart.md): Create an actuator, run it locally, watch it sleep and wake, and deploy it. - [Your first actuator](https://actuate.run/docs/getting-started/first-actuator.md): Build a deposit-booking bot that sends a payment link, waits for the payment, and reminds the customer if it does not arrive. ## Concepts - [Actuators](https://actuate.run/docs/concepts/actuators.md): The actuator contract - ConfigSchema, InputSchema and a default export from defineActuator. - [Steps and replay](https://actuate.run/docs/concepts/steps-and-replay.md): How the journal, memoization, retries and idempotency keys work, and the determinism rules that follow from replay. - [Sleeping and waiting](https://actuate.run/docs/concepts/sleeping-and-waiting.md): sleep, sleepUntil and waitForEvent - durations, timeouts and events that arrive before anyone is waiting. - [Human approvals and input](https://actuate.run/docs/concepts/approvals.md): Pause a run until a person approves, rejects or answers a question through a signed, single-use link. - [Database](https://actuate.run/docs/concepts/database.md): Each actuator has its own SQLite database, queried with parameterised SQL and migrated with ctx.db.migrate. - [Capabilities and providers](https://actuate.run/docs/concepts/capabilities.md): Messaging, payment, LLM and HTTP are declared by the actuator, backed by your own credentials, and only usable inside steps. - [Triggers](https://actuate.run/docs/concepts/triggers.md): Runs start from the API, a webhook, a cron schedule or an MCP tool call. - [MCP and OpenAPI](https://actuate.run/docs/concepts/mcp-and-openapi.md): Every deployed actuator is an MCP tool and has an OpenAPI document, generated from its name, description and InputSchema. ## Reference - [SDK API](https://actuate.run/docs/reference/sdk.md): Every type and function exported by @actuate/sdk. - [CLI](https://actuate.run/docs/reference/cli.md): The actuate command - init, dev, check, deploy, run, logs and login. - [Runtime HTTP API](https://actuate.run/docs/reference/runtime-http.md): Every route of the open-source runtime served by actuate dev and self-hosted workers, with auth rules and environment variables. - [Limits](https://actuate.run/docs/reference/limits.md): CPU and memory per invocation, outbound HTTP rules, plan limits, the hosted platform's guards, and the limits built into the SDK and runtime. ## Guides - [Connect your agent](https://actuate.run/docs/guides/connect-your-agent.md): Add a deployed actuator to Claude Code, Claude Desktop, Cursor or your own agent as an MCP tool. - [Deterministic agent tools](https://actuate.run/docs/guides/agent-tools.md): Let the model decide that something should happen, and let an actuator decide how it happens. - [Self-hosting on workerd](https://actuate.run/docs/guides/self-hosting.md): Run an actuator on your own Cloudflare account or any workerd host with @actuate/runtime. - [Templates](https://actuate.run/docs/guides/templates.md): Start from a first-party actuator template - agent tools such as refunds, approvals and escalations, and automations such as deposit reminders and daily reports.