# actionlake > One surface for every action. Connect every service once; every agent draws from one pool — > credentials held, calls made on its behalf, results cached, services joined, every action priced > and recorded. ## Connect MCP endpoint (Streamable HTTP): `https://connect.actionlake.com/mcp` Sign in with OAuth 2.1, or send an API key in any of these headers: `Authorization: Bearer al_…`, `Authorization: al_…`, or `X-API-Key: al_…`. No account? One unauthenticated call gets you a tenant, a key and 100,000 free upstream calls a month — no signup, no card — as the MCP tool `account {op: "tenant.create"}`, or over HTTP: POST https://api.actionlake.com/v1/account/tenant.create ## Setup by client - Claude Code: `claude mcp add --transport http actionlake https://connect.actionlake.com/mcp` - Claude, ChatGPT, Copilot Studio and other apps: add a custom MCP server / connector with the URL above, and sign in when asked. - VS Code / GitHub Copilot: `code --add-mcp '{"name":"actionlake","type":"http","url":"https://connect.actionlake.com/mcp"}'` - Gemini CLI: `gemini mcp add --transport http actionlake https://connect.actionlake.com/mcp` - Cursor, Windsurf, Cline and other JSON configs: an entry under `mcpServers` with `"url": "https://connect.actionlake.com/mcp"` (Windsurf: `serverUrl`), plus a `headers` object for a key. - A platform that asks for an API key header: header `X-API-Key`, value your `al_…` key. Step by step for each client: https://actionlake.com/console/connect ## What an agent reads on connect actionlake runs actions on real services — Xero, Autotask, ClickUp, your own APIs — with the credentials held here, so you never handle a token. You are billed only for requests actually sent to a vendor; everything else is free. Start with `help {}` if unsure. find_actions what can I do? get_action how exactly do I do it? do do it ask answer a question across services check will this work? (free) cost what will/did it cost? account tenant, keys, card, connections, pins help stuck? start here ## The eight tools - `help`: Get oriented or unstuck. With no input: what you have and what to do first. With `about`: getting started, a topic, or "why did that fail?" — reads your last run. Always free. - `find_actions`: Find actions in plain language: `q: "create a ticket"`. Defaults to what you can run now; `scope: "store"` to see installable. No input lists the verbs. Free. One line per result — call `get_action` for the schema. - `get_action`: The full input schema, output shape, cost and an example call for up to 10 action ids. Free. Call before `do` on anything unfamiliar. - `do`: Perform one action, or several in order. Give an action id from `find_actions` and `input`. `limit` is required on lists (max 200). Billed one call per upstream request; cache hits free. To answer a question across services, use `ask` instead. - `ask`: Answer a question spanning services: give the steps to fetch and a `join`; you get the answer, not the rows. Billed per upstream request. Use this instead of calling `do` repeatedly and joining yourself. - `check`: Dry-run a `do` or `ask` payload: validates inputs, permissions, connections; estimates calls and cost; says what would need confirmation. Nothing is sent. Free. - `cost`: Spend so far, forecast, cap headroom, the price book. Free. - `account`: Manage the tenant: `op` is `tenant.create`, `keys.create`, `keys.list`, `connections.create`, `connections.update`, `connections.delete`, `connections.list`, `oauth_clients.create` (a client id and secret for an admin form such as Copilot Studio or Gemini Enterprise), `oauth_clients.list`, `oauth_clients.revoke`, `billing.add_card`, `pins.add`, `notes.set`, `tenant.update`, `plans.save`, `plans.list`, `services.list`, `install`, `uninstall`, `publish`, `status`, `usage`. Ops that change connections, OAuth clients, variables, notes, services, the Dedicated IP or the card, or decide approvals, need a key granted `account:*` (the root key holds it). A key names its holder (`person` or `agent`); `keys.recovery_email` gives a person key an address that can reset it from the console's “Forgot your key?”. `help {about: 'account'}` lists every op with its arguments and who may run it. Free. ## Pricing You are billed for **upstream calls**: requests actionlake actually sent to a vendor. Never for tool calls, never for actions, never for our own compute. A cache hit costs nothing. So does every failure you did not cause — 401, 403, 429, 5xx, timeouts, and anything our validation rejected before it left the building. The Free plan includes 100,000 upstream calls a month with no card. The price book is public and needs no key: `https://api.actionlake.com/v1/price-book` — plans and prices: https://actionlake.com/pricing ## For developers OpenAPI: `https://api.actionlake.com/openapi.json` — every framework generates a client from it.