Appwrite MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| APPWRITE_API_KEY | Yes | Your Appwrite API key with necessary scopes to access the resources you want to use | |
| APPWRITE_ENDPOINT | No | Your Appwrite endpoint URL | https://cloud.appwrite.io/v1 |
| APPWRITE_PROJECT_ID | Yes | Your Appwrite project ID |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| databases_createC | Create a new Database. |
| databases_create_boolean_attributeC | Create a boolean attribute. |
| databases_create_collectionB | Create a new Collection. Before using this route, you should create a new database resource using either a server integration API or directly from your database console. |
| databases_create_datetime_attributeC | Create a date time attribute according to the ISO 8601 standard. |
| databases_create_documentB | Create a new Document. Before using this route, you should create a new collection resource using either a server integration API or directly from your database console. |
| databases_create_documentsC | WARNING: Experimental Feature - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions. |
| databases_create_email_attributeC | Create an email attribute. |
| databases_create_enum_attributeC | Create an enumeration attribute. The |
| databases_create_float_attributeC | Create a float attribute. Optionally, minimum and maximum values can be provided. |
| databases_create_indexC | Creates an index on the attributes listed. Your index should include all the attributes you will query in a single request. |
| databases_create_integer_attributeC | Create an integer attribute. Optionally, minimum and maximum values can be provided. |
| databases_create_ip_attributeC | Create IP address attribute. |
| databases_create_relationship_attributeC | Create relationship attribute. Learn more about relationship attributes. |
| databases_create_string_attributeC | Create a string attribute. |
| databases_create_url_attributeC | Create a URL attribute. |
| databases_decrement_document_attributeC | Decrement a specific attribute of a document by a given value. |
| databases_deleteA | Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database. |
| databases_delete_attributeC | Deletes an attribute. |
| databases_delete_collectionA | Delete a collection by its unique ID. Only users with write permissions have access to delete this resource. |
| databases_delete_documentC | Delete a document by its unique ID. |
| databases_delete_documentsC | WARNING: Experimental Feature - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions. |
| databases_delete_indexC | Delete an index. |
| databases_getB | Get a database by its unique ID. This endpoint response returns a JSON object with the database metadata. |
| databases_get_attributeC | Get attribute by ID. |
| databases_get_collectionC | Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata. |
| databases_get_documentB | Get a document by its unique ID. This endpoint response returns a JSON object with the document data. |
| databases_get_indexC | Get index by ID. |
| databases_increment_document_attributeC | Increment a specific attribute of a document by a given value. |
| databases_listB | Get a list of all databases from the current Appwrite project. You can use the search parameter to filter your results. |
| databases_list_attributesC | List attributes in the collection. |
| databases_list_collectionsB | Get a list of all collections that belong to the provided databaseId. You can use the search parameter to filter your results. |
| databases_list_documentsC | Get a list of all the user's documents in a given collection. You can use the query params to filter your results. |
| databases_list_indexesC | List indexes in the collection. |
| databases_updateC | Update a database by its unique ID. |
| databases_update_boolean_attributeB | Update a boolean attribute. Changing the |
| databases_update_collectionC | Update a collection by its unique ID. |
| databases_update_datetime_attributeC | Update a date time attribute. Changing the |
| databases_update_documentC | Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated. |
| databases_update_documentsD | WARNING: Experimental Feature - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions. |
| databases_update_email_attributeB | Update an email attribute. Changing the |
| databases_update_enum_attributeB | Update an enum attribute. Changing the |
| databases_update_float_attributeC | Update a float attribute. Changing the |
| databases_update_integer_attributeC | Update an integer attribute. Changing the |
| databases_update_ip_attributeC | Update an ip attribute. Changing the |
| databases_update_relationship_attributeC | Update relationship attribute. Learn more about relationship attributes. |
| databases_update_string_attributeB | Update a string attribute. Changing the |
| databases_update_url_attributeC | Update an url attribute. Changing the |
| databases_upsert_documentD | WARNING: Experimental Feature - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions. |
| databases_upsert_documentsD | WARNING: Experimental Feature - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 49 tools
Tools are well-organized by resource type (databases, collections, documents, attributes) and action (create, get, list, update, delete), with clear distinctions. Some potential overlap exists between single and batch operations (e.g., create_document vs. create_documents), but descriptions clarify these as separate endpoints, and attribute types are clearly differentiated by data type.
Naming follows a highly consistent pattern throughout: all tools use snake_case with a 'databases_' prefix, followed by a verb (create, get, list, update, delete, increment, decrement) and a noun (database, collection, document, attribute, index). This predictability makes it easy for agents to understand and select tools based on naming conventions alone.
With 49 tools, the count is excessive for a single server, making it overwhelming for agents to navigate. While the tools cover a comprehensive database management domain, the sheer volume could lead to confusion and inefficiency, as many tools are highly specific (e.g., separate tools for each attribute type like boolean, email, string).
The tool set provides complete CRUD/lifecycle coverage for Appwrite databases, including resources (databases, collections, documents, attributes, indexes) and operations (create, read, update, delete, list, increment/decrement). It even includes experimental batch operations and relationship attributes, leaving no obvious gaps for database management tasks.