---
title: "Appwrite Cloud MCP server for AI agents - actionlake"
description: "Give Claude 763 Appwrite Cloud actions through one MCP server: project, tables DB, databases. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/appwrite-cloud
updated: 2026-10-23
---

Connectors · Email & messaging

# Appwrite Cloud MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Appwrite Cloud and the rest of your systems. It gives your agent 763 Appwrite Cloud actions (237 reads, 436 writes and 90 that wait for a confirmation) and holds the Appwrite Cloud credential itself, so the agent never does. It paces Appwrite Cloud's limits and records every call.

[Connect Appwrite Cloud free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "appwrite.users.list",
  intent: "check which Appwrite Cloud account is connected"
}
# List users · read · 1 upstream call
```

- 763 actions in one signed file
- 237 read look, never change
- 436 write create and update
- 90 wait for a yes destructive, confirmed first

Set up

## Connect Appwrite Cloud in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Appwrite Cloud.
   Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `project_id` Appwrite project ID (Console > project > Settings)
   - `api_key` Appwrite API key (Console > project > Overview > Integrations > API keys) with the scopes the actions you call need
   - `host` Where your Appwrite Cloud lives: your host
   - `organization_id` Your Appwrite Cloud organization id
   ```
   account { op: "connections.requirements", service: "appwrite" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "appwrite.users.list" }
   # list users · read · 1 upstream call
   check { action: "appwrite.users.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Appwrite Cloud at a glance

**Sign-in**

Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`project_id` `api_key`

**Setup fields**

`host` `organization_id`

**Limits we pace to**

25 calls a second, per connection

**API covered**

Appwrite REST API 2.5.0 (server SDK surface, /v1)`cloud.appwrite.io/v1`

**Built from**

Appwrite Cloud's documentation, read 23 October 2026[OpenAPI spec (GitHub)](https://raw.githubusercontent.com/appwrite/specs/main/specs/latest/open-api3-latest.json) [appwrite.io](https://appwrite.io/docs/references)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

216 of 237 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

6, so ask can line Appwrite Cloud up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Appwrite Cloud.

763 actions in 30 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **237** read look, never change
- **436** write create and update
- **90** destructive wait for a confirmation

1. ### Project
   116
   17 read · 93 write · 6 destructive
   Create project Android platform · Create project Apple platform · Create project environment · Create ephemeral project key
2. ### Tables DB
   81
   18 read · 55 write · 8 destructive
   List tables · List databases · Create table · Create database
3. ### Databases
   71
   12 read · 52 write · 7 destructive
   Create database · Create bigint attribute · Create boolean attribute · Create collections
4. ### Domains
   46
   13 read · 31 write · 2 destructive
   Create a new domain. · Create Google Workspace preset (Records) · Create iCloud preset (Records) · Create Mailgun preset (Records)
5. ### Users
   41
   11 read · 24 write · 6 destructive
   List users · Create user · Get user · Delete user
6. ### Messaging
   40
   9 read · 27 write · 4 destructive
   Create Appwrite provider · Create email · Create Mailgun provider · Create Msg91 provider
7. ### Postgresql
   38
   16 read · 17 write · 5 destructive
   Create database · Create backup · Create backup policy · Create branch
8. ### Documents DB
   37
   14 read · 17 write · 6 destructive
   Create database · Create collection · Create document · Create failover

**22 more areas · 293 actions**

- Mysql **35**
- Vectors DB **35**
- Mongo **32**
- Functions **24**
- Organization **23**
- Sites **23**
- Apps **22**
- Teams **15**
- Waf **13**
- Backups **12**
- Proxy **10**
- Storage **9**
- Locale **8**
- Analytics **7**
- Webhooks **6**
- Advisor **5**
- Tokens **5**
- Presences **3**
- Activities **2**
- Graphql **2**
- Embeddings **1**
- Ping **1**

Top actions

## The Appwrite Cloud API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 21 of Appwrite Cloud's 21 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `appwrite.users.list` List users | List users. | read | `identity.user.list` 474 connectors |
| `appwrite.storage.list_files` List files | List files. | read | `content.file.list` 77 connectors |
| `appwrite.teams.list` List teams | List teams. | read | `identity.group.list` 262 connectors |
| `appwrite.teams.list_memberships` List team memberships | List team memberships. | read | `identity.group_member.list` 103 connectors |
| `appwrite.tables_db.list_tables` List tables | List tables. | read | `content.table.list` 21 connectors |
| `appwrite.tables_db.list` List databases | List databases. | read | `content.database.list` 12 connectors |
| `appwrite.users.create` Create user | Create user. | write | `identity.user.create` 262 connectors |
| `appwrite.teams.create` Create team | Create team. | write | `identity.group.create` 205 connectors |
| `appwrite.storage.get_file` Get file | Get file. | read | `content.file.get` 74 connectors |
| `appwrite.storage.delete_file` Delete file | Delete file. | destructive | `content.file.delete` 68 connectors |
| `appwrite.tables_db.create_table` Create table | Create table. | write | `content.table.create` 16 connectors |
| `appwrite.tables_db.create` Create database | Create database. | write | `content.database.create` 15 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Appwrite Cloud actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Appwrite Cloud files changed this week, and who changed them?
   calls `appwrite.storage.list_files`
2. Write write
   Create user in Appwrite Cloud. Show me exactly what you will send before you save it.
   calls `appwrite.users.create`

Governance for Appwrite Cloud

## Destructive actions wait for a yes.

90 Appwrite Cloud actions are destructive. The first 10:

- Delete file `appwrite.storage.delete_file`
- Delete user `appwrite.users.delete`
- Delete team `appwrite.teams.delete`
- Delete table `appwrite.tables_db.delete_table`
- Delete database `appwrite.tables_db.delete`
- Delete Application `appwrite.apps.delete`
- Delete database `appwrite.mongo.delete`
- Delete database `appwrite.mysql.delete`
- Delete site `appwrite.sites.delete`
- Delete token `appwrite.tokens.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do appwrite.storage.delete_file confirm_policy: **human**

Delete file?

**intent:** the user asked me to delete file

run suspended · waiting for a named person · key _appwrite-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "appwrite-agent",
  allowed_actions: ["appwrite.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "appwrite.storage.delete_file", approver: "lead@example.com" },
    { match: "appwrite.users.delete", approver: "lead@example.com" },
    { match: "appwrite.teams.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Appwrite Cloud only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Appwrite Cloud costs on actionlake.

Every Appwrite Cloud action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Appwrite Cloud refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 763 Appwrite Cloud actions
- 763 actions page each page of a long list is one call
- 216 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Appwrite Cloud action.

763 actions by area: the id your agent calls, what it does, and its effect.

**Project 116**

- `appwrite.project.create_android_platform` Create project Android platform write
- `appwrite.project.create_apple_platform` Create project Apple platform write
- `appwrite.project.create_environment` Create project environment write
- `appwrite.project.create_ephemeral_key` Create ephemeral project key write
- `appwrite.project.create_linux_platform` Create project Linux platform write
- `appwrite.project.create_mock_phone` Create project mock phone write
- and 110 more in this area

**Tables DB 81**

- `appwrite.tables_db.create` Create database write
- `appwrite.tables_db.create_table` Create table write
- `appwrite.tables_db.list` List databases read
- `appwrite.tables_db.list_tables` List tables read
- `appwrite.tables_db.create_big_int_column` Create bigint column write
- `appwrite.tables_db.create_boolean_column` Create boolean column write
- and 75 more in this area

**Databases 71**

- `appwrite.databases.create` Create database write
- `appwrite.databases.create_big_int_attribute` Create bigint attribute write
- `appwrite.databases.create_boolean_attribute` Create boolean attribute write
- `appwrite.databases.create_collection` Create collections write
- `appwrite.databases.create_datetime_attribute` Create datetime attribute write
- `appwrite.databases.create_document` Create document write
- and 65 more in this area

**Domains 46**

- `appwrite.domains.create` Create a new domain. write
- `appwrite.domains.create_preset_google_workspace` Create Google Workspace preset (Records) write
- `appwrite.domains.create_preset_i_cloud` Create iCloud preset (Records) write
- `appwrite.domains.create_preset_mailgun` Create Mailgun preset (Records) write
- `appwrite.domains.create_preset_outlook` Create Outlook preset (Records) write
- `appwrite.domains.create_preset_proton_mail` Create ProtonMail preset (Records) write
- and 40 more in this area

**Users 41**

- `appwrite.users.create` Create user write
- `appwrite.users.delete` Delete user destructive
- `appwrite.users.get` Get user read
- `appwrite.users.list` List users read
- `appwrite.users.create_argon_2_user` Create user with Argon2 password write
- `appwrite.users.create_bcrypt_user` Create user with bcrypt password write
- and 35 more in this area

**Messaging 40**

- `appwrite.messaging.create_appwrite_provider` Create Appwrite provider write
- `appwrite.messaging.create_email` Create email write
- `appwrite.messaging.create_mailgun_provider` Create Mailgun provider write
- `appwrite.messaging.create_msg_91_provider` Create Msg91 provider write
- `appwrite.messaging.create_push` Create push notification write
- `appwrite.messaging.create_resend_provider` Create Resend provider write
- and 34 more in this area

**Postgresql 38**

- `appwrite.postgresql.create` Create database write
- `appwrite.postgresql.create_backup` Create backup write
- `appwrite.postgresql.create_backup_policy` Create backup policy write
- `appwrite.postgresql.create_branch` Create branch write
- `appwrite.postgresql.create_execution` Create execution write
- `appwrite.postgresql.create_extension` Create extension write
- and 32 more in this area

**Documents DB 37**

- `appwrite.documents_db.create` Create database write
- `appwrite.documents_db.create_collection` Create collection write
- `appwrite.documents_db.create_document` Create document write
- `appwrite.documents_db.create_failover` Create failover write
- `appwrite.documents_db.create_index` Create index write
- `appwrite.documents_db.create_operations` Create operations write
- and 31 more in this area

**Mysql 35**

- `appwrite.mysql.create` Create database write
- `appwrite.mysql.create_backup` Create backup write
- `appwrite.mysql.create_backup_policy` Create backup policy write
- `appwrite.mysql.create_branch` Create branch write
- `appwrite.mysql.create_execution` Create execution write
- `appwrite.mysql.create_failover` Create failover write
- and 29 more in this area

**Vectors DB 35**

- `appwrite.vectors_db.create` Create database write
- `appwrite.vectors_db.create_collection` Create collection write
- `appwrite.vectors_db.create_document` Create document write
- `appwrite.vectors_db.create_failover` Create failover write
- `appwrite.vectors_db.create_index` Create index write
- `appwrite.vectors_db.create_operations` Create operations write
- and 29 more in this area

**Mongo 32**

- `appwrite.mongo.create` Create database write
- `appwrite.mongo.create_backup` Create backup write
- `appwrite.mongo.create_backup_policy` Create backup policy write
- `appwrite.mongo.create_branch` Create branch write
- `appwrite.mongo.create_failover` Create failover write
- `appwrite.mongo.create_migration` Create migration write
- and 26 more in this area

**Functions 24**

- `appwrite.functions.create` Create function write
- `appwrite.functions.create_duplicate_deployment` Create duplicate deployment write
- `appwrite.functions.create_execution` Create execution write
- `appwrite.functions.create_template_deployment` Create template deployment write
- `appwrite.functions.create_variable` Create variable write
- `appwrite.functions.create_vcs_deployment` Create VCS deployment write
- and 18 more in this area

**Organization 23**

- `appwrite.organization.create_ephemeral_project_key` Create ephemeral project key write
- `appwrite.organization.create_installation` Create Installation write
- `appwrite.organization.create_membership` Create organization membership write
- `appwrite.organization.create_project` Create organization project write
- `appwrite.organization.delete` Delete organization destructive
- `appwrite.organization.delete_installation` Delete Installation destructive
- and 17 more in this area

**Sites 23**

- `appwrite.sites.create` Create site write
- `appwrite.sites.create_duplicate_deployment` Create duplicate deployment write
- `appwrite.sites.create_template_deployment` Create template deployment write
- `appwrite.sites.create_variable` Create variable write
- `appwrite.sites.create_vcs_deployment` Create VCS deployment write
- `appwrite.sites.delete` Delete site destructive
- and 17 more in this area

**Apps 22**

- `appwrite.apps.create` Create Application write
- `appwrite.apps.create_installation_token` Create Installation Token write
- `appwrite.apps.create_key` Create App Key write
- `appwrite.apps.create_secret` Create Secret write
- `appwrite.apps.delete` Delete Application destructive
- `appwrite.apps.delete_installation` Delete Installation destructive
- and 16 more in this area

**Teams 15**

- `appwrite.teams.create` Create team write
- `appwrite.teams.get` Get team read
- `appwrite.teams.list` List teams read
- `appwrite.teams.list_memberships` List team memberships read
- `appwrite.teams.create_installation` Create Installation write
- `appwrite.teams.create_membership` Create team membership write
- and 9 more in this area

**Waf 13**

- `appwrite.waf.create_bypass_rule` Create a bypass WAF rule. write
- `appwrite.waf.create_challenge_rule` Create a challenge WAF rule. write
- `appwrite.waf.create_deny_rule` Create a deny WAF rule. write
- `appwrite.waf.create_rate_limit_rule` Create a rate-limit WAF rule. write
- `appwrite.waf.create_redirect_rule` Create a redirect WAF rule. write
- `appwrite.waf.delete_rule` Delete a WAF rule. destructive
- and 7 more in this area

**Backups 12**

- `appwrite.backups.create_archive` Create archive write
- `appwrite.backups.create_policy` Create backup policy write
- `appwrite.backups.create_restoration` Create restoration write
- `appwrite.backups.list_archives` List archives read
- `appwrite.backups.delete_archive` Delete archive destructive
- `appwrite.backups.delete_policy` Delete backup policy destructive
- and 6 more in this area

**Proxy 10**

- `appwrite.proxy.create_api_rule` Create API rule write
- `appwrite.proxy.create_function_rule` Create function rule write
- `appwrite.proxy.create_invalidation` Create invalidation write
- `appwrite.proxy.create_redirect_rule` Create redirect rule write
- `appwrite.proxy.create_site_rule` Create site rule write
- `appwrite.proxy.create_smtp_rule` Create SMTP function rule write
- and 4 more in this area

**Storage 9**

- `appwrite.storage.create_bucket` Create bucket write
- `appwrite.storage.delete_file` Delete file destructive
- `appwrite.storage.get_file` Get file read
- `appwrite.storage.list_files` List files read
- `appwrite.storage.delete_bucket` Delete bucket destructive
- `appwrite.storage.get_bucket` Get bucket read
- and 3 more in this area

**Locale 8**

- `appwrite.locale.list_codes` List locale codes read
- `appwrite.locale.list_continents` List continents read
- `appwrite.locale.list_countries` List countries read
- `appwrite.locale.list_countries_eu` List EU countries read
- `appwrite.locale.get` Get user locale read
- `appwrite.locale.list_countries_phones` List countries phone codes read
- and 2 more in this area

**Analytics 7**

- `appwrite.analytics.create_event` Track analytics event write
- `appwrite.analytics.create_property` Create analytics property write
- `appwrite.analytics.list_metrics` List analytics metrics for a property read
- `appwrite.analytics.list_properties` List analytics properties read
- `appwrite.analytics.delete_property` Delete analytics property destructive
- `appwrite.analytics.get_property` Get analytics property read
- and 1 more in this area

**Webhooks 6**

- `appwrite.webhooks.create` Create webhook write
- `appwrite.webhooks.get` Get webhook read
- `appwrite.webhooks.list` List webhooks read
- `appwrite.webhooks.update` Update webhook write
- `appwrite.webhooks.delete` Delete webhook destructive
- `appwrite.webhooks.update_secret` Update webhook secret key write

**Advisor 5**

- `appwrite.advisor.get_insight` Get insight read
- `appwrite.advisor.get_report` Get report read
- `appwrite.advisor.list_insights` List insights read
- `appwrite.advisor.list_reports` List reports read
- `appwrite.advisor.delete_report` Delete report destructive

**Tokens 5**

- `appwrite.tokens.create_file_token` Create file token write
- `appwrite.tokens.get` Get token read
- `appwrite.tokens.list` List tokens read
- `appwrite.tokens.update` Update token write
- `appwrite.tokens.delete` Delete token destructive

**Presences 3**

- `appwrite.presences.delete` Delete presence destructive
- `appwrite.presences.get` Get presence read
- `appwrite.presences.list` List presences read

**Activities 2**

- `appwrite.activities.get_event` Get event read
- `appwrite.activities.list_events` List events read

**Graphql 2**

- `appwrite.graphql.mutation` GraphQL endpoint write
- `appwrite.graphql.query` GraphQL endpoint read

**Embeddings 1**

- `appwrite.embeddings.create_text_embeddings` Create text embeddings write

**Ping 1**

- `appwrite.ping.get` Test the connection between the Appwrite and the SDK. read

This index shows a sample of each area. All 763 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/catalogue), which a free sandbox key can search.

Questions

## The Appwrite Cloud MCP server, answered.

**Is there an Appwrite Cloud MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 763 Appwrite Cloud actions across project, tables DB, databases and domains, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Appwrite Cloud.

**What do I need to connect Appwrite Cloud?**

Appwrite project ID (Console > project > Settings) and Appwrite API key (Console > project > Overview > Integrations > API keys) with the scopes the actions you call need. Plus your host and your organization id. The free call account { op: "connections.requirements", service: "appwrite" } lists exactly what to paste.

**Can an AI agent delete or change things in Appwrite Cloud?**

Only if its key allows it, and only with an explicit confirmation. 90 Appwrite Cloud actions are destructive, including delete file, delete user and delete team. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Appwrite Cloud API limit?**

actionlake paces every call to the limits in the Appwrite Cloud service file: 25 calls a second per connection. Repeated reads are answered from cache (216 Appwrite Cloud actions can be), which never reaches Appwrite Cloud.

**What does an Appwrite Cloud action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (763 Appwrite Cloud actions page). Cache hits, searches, dry runs and calls Appwrite Cloud refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Appwrite Cloud API does it cover?**

The Appwrite REST API 2.5.0 (server SDK surface, /v1) at cloud.appwrite.io/v1 by default, or the base URL set when you connect. It is built from Appwrite Cloud's documentation as read on 23 October 2026. 763 actions in 30 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Appwrite Cloud data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Appwrite Cloud credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Appwrite Cloud

Shares the most action names with

- [Staffbase 11](https://actionlake.com/connectors/staffbase)
- [Cisco Webex 9](https://actionlake.com/connectors/cisco-webex)
- [Genesys Cloud CX 9](https://actionlake.com/connectors/genesys-cloud-cx)
- [Avaya Experience Platform 8](https://actionlake.com/connectors/avaya-experience-platform)
- [JustCall 6](https://actionlake.com/connectors/justcall)
- [Zulip 6](https://actionlake.com/connectors/zulip)

Joins with, on shared entities

- [Tableau 5](https://actionlake.com/connectors/tableau)
- [Canvas LMS 4](https://actionlake.com/connectors/canvas-lms)
- [Metabase 4](https://actionlake.com/connectors/metabase)
- [Lark Suite 4](https://actionlake.com/connectors/lark-suite)
- [Files.com 4](https://actionlake.com/connectors/files-com)
- [Airtable 4](https://actionlake.com/connectors/airtable)

Browse

- [All Email & messaging connectors](https://actionlake.com/connectors/category/email-and-messaging)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Appwrite Cloud; the name is the vendor's own. Counts are from the Appwrite Cloud service file, version 1.0.0.

## Give your agent Appwrite Cloud today.

[Connect Appwrite Cloud free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/appwrite-cloud
More: https://actionlake.com/llms.txt
