appwrite-api-interface-utility
A utility designed to interface directly with the Appwrite platform's backend services, enabling streamlined management of project assets like data structures, user accounts, deployed functions, team hierarchies, and other core infrastructural elements.
Author

appwrite
Quick Info
Actions
Tags
Appwrite Utility for API Interaction
mcp-name: io.github.appwrite/mcp-for-api
Program Overview
This is a Model Context Protocol (MCP) server specifically engineered for executing operations against the Appwrite Application Programming Interface (API). It furnishes capabilities for governing databases, user directories, cloud functions, team organization, and numerous other resources within your designated Appwrite environment.
Expedited Access
- Configuration Parameters
- Deployment Steps
- Integration within Intelligent Editors:
- Claude Desktop Environment
- Cursor IDE
- Windsurf Editor
- VS Code Suite
- On-Premises Setup
- Troubleshooting Operations
Setup Directives
Prior to initiating the MCP service, authentication credentials must be established. This involves configuring an Appwrite project and generating an API token with the requisite operational permissions.
Establish a configuration file named .env in your active working directory and populate it with the subsequent details:
env
APPWRITE_PROJECT_ID=your-project-id
APPWRITE_API_KEY=your-api-key
APPWRITE_ENDPOINT=https://
Subsequently, access your command-line interface and execute the appropriate command for environment variable loading.
Unix-like Systems (Linux and MacOS)
sh source .env
Windows Environments
Command Prompt Interface
cmd for /f "tokens=1,2 delims==" %A in (.env) do set %A=%B
PowerShell Interface
powershell Get-Content ..env | ForEach-Object { if ($_ -match '^(.?)=(.)$') { [System.Environment]::SetEnvironmentVariable($matches[1], $matches[2], "Process") } }
Deployment Instructions
Utilizing uv (Preferred Method)
When leveraging uv for dependency management, dedicated installation is obviated. We employ uvx to directly invoke the mcp-server-appwrite binary.
bash uvx mcp-server-appwrite [arguments]
Utilizing pip
bash pip install mcp-server-appwrite
Then, initiate the server process via:
bash python -m mcp_server_appwrite [arguments]
Execution Modifiers (Command-line Arguments)
Both the uv and pip deployment strategies necessitate specific flags to activate MCP functionalities corresponding to various Appwrite API modules.
The inclusion of an enabled MCP tool definition consumes tokens from the Language Model's (LLM) context capacity, thereby reducing the effective operational context window. To maintain constraints, the default Appwrite MCP server is pre-configured with only the Databases toolset (our most frequent requirement). Additional modules can be brought online using the specified argument switches.
| Argument | Functionality Description |
|---|---|
--databases |
Activates the Databases API interaction module. |
--users |
Activates the Users management API module. |
--teams |
Activates the Teams structure API module. |
--storage |
Activates the Storage object API module. |
--functions |
Activates the Cloud Functions API module. |
--messaging |
Activates the Messaging services API module. |
--locale |
Activates the Locale data API module. |
--avatars |
Activates the Avatars generation API module. |
--sites |
Activates the Sites configuration API module. |
--all |
Systematically enables the complete suite of Appwrite APIs. |
Integration with Claude Desktop
Navigate to the Settings panel within Claude Desktop (invoke with CTRL + , on Windows or CMD + , on MacOS), then proceed to the Developer tab. Click the Edit Config button to access and modify the claude_desktop_config.json file, incorporating the following JSON structure:
{
"mcpServers": {
"appwrite": {
"command": "uvx",
"args": [
"mcp-server-appwrite"
],
"env": {
"APPWRITE_PROJECT_ID": "
If you encounter a
uvx ENOENTerror, verify thatuvxhas been successfully added to your system'sPATHenvironment variable, or supply the absolute file path to theuvxexecutable within the configuration object.
Upon correct provisioning, the server instance should be visible within Claude Desktop's list of available operational servers.
Integration with Cursor
Access Cursor's configuration area via Settings > MCP and select Add new MCP server. Designate the type as Command and input the platform-specific invocation command into the Command field.
- MacOS Command Line
bash env APPWRITE_API_KEY=your-api-key env APPWRITE_PROJECT_ID=your-project-id uvx mcp-server-appwrite
- Windows Command Line
cmd cmd /c SET APPWRITE_PROJECT_ID=your-project-id && SET APPWRITE_API_KEY=your-api-key && uvx mcp-server-appwrite
Integration with Windsurf Editor
Navigate to Windsurf's configuration section at Settings > Cascade > Model Context Protocol (MCP) Servers and choose View raw config. Update the mcp_config.json file by appending the following definition:
{
"mcpServers": {
"appwrite": {
"command": "uvx",
"args": [
"mcp-server-appwrite"
],
"env": {
"APPWRITE_PROJECT_ID": "
Integration with VS Code
Configuration Steps
-
Modify MCP Configuration File: Invoke the Command Palette (
Ctrl+Shift+PorCmd+Shift+P) and execute the commandMCP: Open User Configuration. This action opens themcp.jsonfile residing in your user settings directory. -
Insert Appwrite Server Schema: Inject the subsequent configuration block into the
mcp.jsonfile:
{
"servers": {
"appwrite": {
"command": "uvx",
"args": ["mcp-server-appwrite", "--users"],
"env": {
"APPWRITE_PROJECT_ID": "
-
Initiate the MCP Service: Use the Command Palette (
Ctrl+Shift+PorCmd+Shift+P) to runMCP: List Servers. From the displayed menu, selectappwriteand then activate the server via the Start Server button. -
Utilization in Copilot Chat: Switch the Copilot Chat interface to Agent Mode to gain access to the newly provisioned Appwrite tools.
Local Environment Preparation
Repository Cloning
bash git clone https://github.com/appwrite/mcp.git
Installing uv Runtime
- For Linux or MacOS systems
bash curl -LsSf https://astral.sh/uv/install.sh | sh
- For Windows via PowerShell
powershell powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Setting up the Isolated Environment
Execute this command to instantiate a dedicated virtual environment.
bash uv venv
Activate this isolated environment:
- Linux or MacOS
bash source .venv/bin/activate
- Windows
powershell .venv\Scripts\activate
Executing the Server Locally
bash uv run -v --directory ./ mcp-server-appwrite
Diagnostic Procedures
The MCP inspector utility can be employed for debugging the server's operations.
bash npx @modelcontextprotocol/inspector \ uv \ --directory . \ run mcp-server-appwrite
Ensure your .env file contains the correct configuration values before launching the inspector. The diagnostic interface will then be accessible at http://localhost:5173.
Licensing Terms
This MCP server is distributed under the permissive MIT License. This grants users the freedom to employ, modify, and disseminate the software, subject to adhering to the stipulations outlined in the MIT License document. Consult the LICENSE file within the project repository for comprehensive particulars.
