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.
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/mcpdo { action: "appwrite.users.list", intent: "check which Appwrite Cloud account is connected"}# List users · read · 1 upstream call- 763actionsin one signed file
- 237readlook, never change
- 436writecreate and update
- 90wait for a yesdestructive, confirmed first
Set up
Connect Appwrite Cloud in three steps.
- 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 - 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_idAppwrite project ID (Console > project > Settings)api_keyAppwrite API key (Console > project > Overview > Integrations > API keys) with the scopes the actions you call needhostWhere your Appwrite Cloud lives: your hostorganization_idYour Appwrite Cloud organization id
account { op: "connections.requirements", service: "appwrite" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "appwrite.users.list" }# list users · read · 1 upstream callcheck { 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_idapi_key- Setup fields
hostorganization_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 2026OpenAPI spec (GitHub)appwrite.io
- 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.
- 237readlook, never change
- 436writecreate and update
- 90destructivewait for a confirmation
Project
11617 read · 93 write · 6 destructive
Create project Android platform · Create project Apple platform · Create project environment · Create ephemeral project key
Tables DB
8118 read · 55 write · 8 destructive
List tables · List databases · Create table · Create database
Databases
7112 read · 52 write · 7 destructive
Create database · Create bigint attribute · Create boolean attribute · Create collections
Domains
4613 read · 31 write · 2 destructive
Create a new domain. · Create Google Workspace preset (Records) · Create iCloud preset (Records) · Create Mailgun preset (Records)
Users
4111 read · 24 write · 6 destructive
List users · Create user · Get user · Delete user
Messaging
409 read · 27 write · 4 destructive
Create Appwrite provider · Create email · Create Mailgun provider · Create Msg91 provider
Postgresql
3816 read · 17 write · 5 destructive
Create database · Create backup · Create backup policy · Create branch
Documents DB
3714 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.listList users | List users. | read | identity.user.list474 connectors |
appwrite.storage.list_filesList files | List files. | read | content.file.list77 connectors |
appwrite.teams.listList teams | List teams. | read | identity.group.list262 connectors |
appwrite.teams.list_membershipsList team memberships | List team memberships. | read | identity.group_member.list103 connectors |
appwrite.tables_db.list_tablesList tables | List tables. | read | content.table.list21 connectors |
appwrite.tables_db.listList databases | List databases. | read | content.database.list12 connectors |
appwrite.users.createCreate user | Create user. | write | identity.user.create262 connectors |
appwrite.teams.createCreate team | Create team. | write | identity.group.create205 connectors |
appwrite.storage.get_fileGet file | Get file. | read | content.file.get74 connectors |
appwrite.storage.delete_fileDelete file | Delete file. | destructive | content.file.delete68 connectors |
appwrite.tables_db.create_tableCreate table | Create table. | write | content.table.create16 connectors |
appwrite.tables_db.createCreate database | Create database. | write | content.database.create15 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.
- Readread
Which Appwrite Cloud files changed this week, and who changed them?
calls
appwrite.storage.list_files - Writewrite
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.
Delete file?
intent: the user asked me to delete file
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: "[email protected]" }, { match: "appwrite.users.delete", approver: "[email protected]" }, { match: "appwrite.teams.delete", approver: "[email protected]" } ]}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.
- 1upstream call per actionall 763 Appwrite Cloud actions
- 763actions pageeach page of a long list is one call
- 216reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Appwrite Cloud action.
763 actions by area: the id your agent calls, what it does, and its effect.
Project116
appwrite.project.create_android_platformCreate project Android platformwriteappwrite.project.create_apple_platformCreate project Apple platformwriteappwrite.project.create_environmentCreate project environmentwriteappwrite.project.create_ephemeral_keyCreate ephemeral project keywriteappwrite.project.create_linux_platformCreate project Linux platformwriteappwrite.project.create_mock_phoneCreate project mock phonewrite- and 110 more in this area
Tables DB81
appwrite.tables_db.createCreate databasewriteappwrite.tables_db.create_tableCreate tablewriteappwrite.tables_db.listList databasesreadappwrite.tables_db.list_tablesList tablesreadappwrite.tables_db.create_big_int_columnCreate bigint columnwriteappwrite.tables_db.create_boolean_columnCreate boolean columnwrite- and 75 more in this area
Databases71
appwrite.databases.createCreate databasewriteappwrite.databases.create_big_int_attributeCreate bigint attributewriteappwrite.databases.create_boolean_attributeCreate boolean attributewriteappwrite.databases.create_collectionCreate collectionswriteappwrite.databases.create_datetime_attributeCreate datetime attributewriteappwrite.databases.create_documentCreate documentwrite- and 65 more in this area
Domains46
appwrite.domains.createCreate a new domain.writeappwrite.domains.create_preset_google_workspaceCreate Google Workspace preset (Records)writeappwrite.domains.create_preset_i_cloudCreate iCloud preset (Records)writeappwrite.domains.create_preset_mailgunCreate Mailgun preset (Records)writeappwrite.domains.create_preset_outlookCreate Outlook preset (Records)writeappwrite.domains.create_preset_proton_mailCreate ProtonMail preset (Records)write- and 40 more in this area
Users41
appwrite.users.createCreate userwriteappwrite.users.deleteDelete userdestructiveappwrite.users.getGet userreadappwrite.users.listList usersreadappwrite.users.create_argon_2_userCreate user with Argon2 passwordwriteappwrite.users.create_bcrypt_userCreate user with bcrypt passwordwrite- and 35 more in this area
Messaging40
appwrite.messaging.create_appwrite_providerCreate Appwrite providerwriteappwrite.messaging.create_emailCreate emailwriteappwrite.messaging.create_mailgun_providerCreate Mailgun providerwriteappwrite.messaging.create_msg_91_providerCreate Msg91 providerwriteappwrite.messaging.create_pushCreate push notificationwriteappwrite.messaging.create_resend_providerCreate Resend providerwrite- and 34 more in this area
Postgresql38
appwrite.postgresql.createCreate databasewriteappwrite.postgresql.create_backupCreate backupwriteappwrite.postgresql.create_backup_policyCreate backup policywriteappwrite.postgresql.create_branchCreate branchwriteappwrite.postgresql.create_executionCreate executionwriteappwrite.postgresql.create_extensionCreate extensionwrite- and 32 more in this area
Documents DB37
appwrite.documents_db.createCreate databasewriteappwrite.documents_db.create_collectionCreate collectionwriteappwrite.documents_db.create_documentCreate documentwriteappwrite.documents_db.create_failoverCreate failoverwriteappwrite.documents_db.create_indexCreate indexwriteappwrite.documents_db.create_operationsCreate operationswrite- and 31 more in this area
Mysql35
appwrite.mysql.createCreate databasewriteappwrite.mysql.create_backupCreate backupwriteappwrite.mysql.create_backup_policyCreate backup policywriteappwrite.mysql.create_branchCreate branchwriteappwrite.mysql.create_executionCreate executionwriteappwrite.mysql.create_failoverCreate failoverwrite- and 29 more in this area
Vectors DB35
appwrite.vectors_db.createCreate databasewriteappwrite.vectors_db.create_collectionCreate collectionwriteappwrite.vectors_db.create_documentCreate documentwriteappwrite.vectors_db.create_failoverCreate failoverwriteappwrite.vectors_db.create_indexCreate indexwriteappwrite.vectors_db.create_operationsCreate operationswrite- and 29 more in this area
Mongo32
appwrite.mongo.createCreate databasewriteappwrite.mongo.create_backupCreate backupwriteappwrite.mongo.create_backup_policyCreate backup policywriteappwrite.mongo.create_branchCreate branchwriteappwrite.mongo.create_failoverCreate failoverwriteappwrite.mongo.create_migrationCreate migrationwrite- and 26 more in this area
Functions24
appwrite.functions.createCreate functionwriteappwrite.functions.create_duplicate_deploymentCreate duplicate deploymentwriteappwrite.functions.create_executionCreate executionwriteappwrite.functions.create_template_deploymentCreate template deploymentwriteappwrite.functions.create_variableCreate variablewriteappwrite.functions.create_vcs_deploymentCreate VCS deploymentwrite- and 18 more in this area
Organization23
appwrite.organization.create_ephemeral_project_keyCreate ephemeral project keywriteappwrite.organization.create_installationCreate Installationwriteappwrite.organization.create_membershipCreate organization membershipwriteappwrite.organization.create_projectCreate organization projectwriteappwrite.organization.deleteDelete organizationdestructiveappwrite.organization.delete_installationDelete Installationdestructive- and 17 more in this area
Sites23
appwrite.sites.createCreate sitewriteappwrite.sites.create_duplicate_deploymentCreate duplicate deploymentwriteappwrite.sites.create_template_deploymentCreate template deploymentwriteappwrite.sites.create_variableCreate variablewriteappwrite.sites.create_vcs_deploymentCreate VCS deploymentwriteappwrite.sites.deleteDelete sitedestructive- and 17 more in this area
Apps22
appwrite.apps.createCreate Applicationwriteappwrite.apps.create_installation_tokenCreate Installation Tokenwriteappwrite.apps.create_keyCreate App Keywriteappwrite.apps.create_secretCreate Secretwriteappwrite.apps.deleteDelete Applicationdestructiveappwrite.apps.delete_installationDelete Installationdestructive- and 16 more in this area
Teams15
appwrite.teams.createCreate teamwriteappwrite.teams.getGet teamreadappwrite.teams.listList teamsreadappwrite.teams.list_membershipsList team membershipsreadappwrite.teams.create_installationCreate Installationwriteappwrite.teams.create_membershipCreate team membershipwrite- and 9 more in this area
Waf13
appwrite.waf.create_bypass_ruleCreate a bypass WAF rule.writeappwrite.waf.create_challenge_ruleCreate a challenge WAF rule.writeappwrite.waf.create_deny_ruleCreate a deny WAF rule.writeappwrite.waf.create_rate_limit_ruleCreate a rate-limit WAF rule.writeappwrite.waf.create_redirect_ruleCreate a redirect WAF rule.writeappwrite.waf.delete_ruleDelete a WAF rule.destructive- and 7 more in this area
Backups12
appwrite.backups.create_archiveCreate archivewriteappwrite.backups.create_policyCreate backup policywriteappwrite.backups.create_restorationCreate restorationwriteappwrite.backups.list_archivesList archivesreadappwrite.backups.delete_archiveDelete archivedestructiveappwrite.backups.delete_policyDelete backup policydestructive- and 6 more in this area
Proxy10
appwrite.proxy.create_api_ruleCreate API rulewriteappwrite.proxy.create_function_ruleCreate function rulewriteappwrite.proxy.create_invalidationCreate invalidationwriteappwrite.proxy.create_redirect_ruleCreate redirect rulewriteappwrite.proxy.create_site_ruleCreate site rulewriteappwrite.proxy.create_smtp_ruleCreate SMTP function rulewrite- and 4 more in this area
Storage9
appwrite.storage.create_bucketCreate bucketwriteappwrite.storage.delete_fileDelete filedestructiveappwrite.storage.get_fileGet filereadappwrite.storage.list_filesList filesreadappwrite.storage.delete_bucketDelete bucketdestructiveappwrite.storage.get_bucketGet bucketread- and 3 more in this area
Locale8
appwrite.locale.list_codesList locale codesreadappwrite.locale.list_continentsList continentsreadappwrite.locale.list_countriesList countriesreadappwrite.locale.list_countries_euList EU countriesreadappwrite.locale.getGet user localereadappwrite.locale.list_countries_phonesList countries phone codesread- and 2 more in this area
Analytics7
appwrite.analytics.create_eventTrack analytics eventwriteappwrite.analytics.create_propertyCreate analytics propertywriteappwrite.analytics.list_metricsList analytics metrics for a propertyreadappwrite.analytics.list_propertiesList analytics propertiesreadappwrite.analytics.delete_propertyDelete analytics propertydestructiveappwrite.analytics.get_propertyGet analytics propertyread- and 1 more in this area
Webhooks6
appwrite.webhooks.createCreate webhookwriteappwrite.webhooks.getGet webhookreadappwrite.webhooks.listList webhooksreadappwrite.webhooks.updateUpdate webhookwriteappwrite.webhooks.deleteDelete webhookdestructiveappwrite.webhooks.update_secretUpdate webhook secret keywrite
Advisor5
appwrite.advisor.get_insightGet insightreadappwrite.advisor.get_reportGet reportreadappwrite.advisor.list_insightsList insightsreadappwrite.advisor.list_reportsList reportsreadappwrite.advisor.delete_reportDelete reportdestructive
Tokens5
appwrite.tokens.create_file_tokenCreate file tokenwriteappwrite.tokens.getGet tokenreadappwrite.tokens.listList tokensreadappwrite.tokens.updateUpdate tokenwriteappwrite.tokens.deleteDelete tokendestructive
Presences3
appwrite.presences.deleteDelete presencedestructiveappwrite.presences.getGet presencereadappwrite.presences.listList presencesread
Activities2
appwrite.activities.get_eventGet eventreadappwrite.activities.list_eventsList eventsread
Graphql2
appwrite.graphql.mutationGraphQL endpointwriteappwrite.graphql.queryGraphQL endpointread
Embeddings1
appwrite.embeddings.create_text_embeddingsCreate text embeddingswrite
Ping1
appwrite.ping.getTest 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, 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.
Give your agent Appwrite Cloud today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.