MCP HubMCP Hub
appwrite

mcp

by: appwrite

Appwrite’s MCP server. Operating your backend has never been easier.

35created 25/02/2025
Visit
Backend
Appwrite

📌Overview

Purpose: The Appwrite MCP server is designed to facilitate interaction with Appwrite's API, allowing users to efficiently manage databases, users, functions, and teams within Appwrite projects.

Overview: The Model Context Protocol (MCP) server serves as a bridge between applications and Appwrite's API, providing essential tools for project management. It simplifies various operations within Appwrite, enhancing the developer experience and enabling streamlined workflows.

Key Features:

  • Database Management: Allows users to manage app databases effortlessly, facilitating CRUD operations and data organization.

  • User Administration: Provides tools to manage user accounts and permissions, ensuring a secure and organized user base within the application.

  • Function Execution: Supports the deployment and management of server-side functions, enabling developers to extend their app's capabilities.

  • Team Coordination: Facilitates team management features, ensuring users can work collaboratively within projects.

  • Environment Configuration: Simple setup process through .env files, making it easy to integrate and deploy the server across different development environments.


Appwrite MCP server

Overview

A Model Context Protocol server for interacting with Appwrite's API. This server provides tools to manage databases, users, functions, teams, and more within your Appwrite project.

Quick Links

  • Configuration
  • Installation
  • IDE Integration:
    • Usage with Claude Desktop
    • Usage with Cursor
    • Usage with Windsurf Editor
  • Local Development
  • Debugging

Configuration

Before launching the MCP server, you must set up an Appwrite project and create an API key with the necessary scopes enabled.

Create a .env file in your working directory and add the following:

APPWRITE_PROJECT_ID=your-project-id
APPWRITE_API_KEY=your-api-key
APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1

Then, open your terminal and run the following command:

Linux and MacOS

source .env

Windows

Command Prompt

for /f "tokens=1,2 delims==" %A in (.env) do set %A=%B

PowerShell

Get-Content .\.env | ForEach-Object {
  if ($_ -match '^(.*?)=(.*)$') {
    [System.Environment]::SetEnvironmentVariable($matches[1], $matches[2], "Process")
  }
}

Installation

Using uv (recommended)

When using uv no specific installation is needed. Use uvx to directly run mcp-server-appwrite.

uvx mcp-server-appwrite [args]

Using pip

pip install mcp-server-appwrite

Then run the server using:

python -m mcp_server_appwrite [args]

Command-line arguments

Both the uv and pip setups require arguments to enable MCP tools for various Appwrite APIs.

Enabling MCP tools passes the tool's definition to the LLM, reducing the effective context window. The default server enables only Databases tools to manage token limits. Additional tools can be enabled with these flags:

ArgumentDescription
--databasesEnables the Databases API
--usersEnables the Users API
--teamsEnables the Teams API
--storageEnables the Storage API
--functionsEnables the Functions API
--messagingEnables the Messaging API
--localeEnables the Locale API
--avatarsEnables the Avatars API
--allEnables all Appwrite APIs

Usage with Claude Desktop

In the Claude Desktop app, open Settings (press CTRL + , on Windows or CMD + , on MacOS), then go to the Developer tab. Click the Edit Config button to open the claude_desktop_config.json file and add:

{
  "mcpServers": {
    "appwrite": {
      "command": "uvx",
      "args": [
        "mcp-server-appwrite"
      ],
      "env": {
        "APPWRITE_PROJECT_ID": "your-project-id",
        "APPWRITE_API_KEY": "your-api-key",
        "APPWRITE_ENDPOINT": "https://cloud.appwrite.io/v1"
      }
    }
  }
}

Note: If you see a uvx ENOENT error, ensure that uvx is added to your system PATH or use the full path to your uvx installation in the config file.

Upon successful configuration, the server will appear in Claude Desktop's available servers list.

Usage with Cursor

Head to Cursor Settings > MCP and click Add new MCP server. Choose type Command and add the command below:

  • MacOS
env APPWRITE_API_KEY=your-api-key env APPWRITE_PROJECT_ID=your-project-id uvx mcp-server-appwrite
  • Windows
cmd /c SET APPWRITE_PROJECT_ID=your-project-id && SET APPWRITE_API_KEY=your-api-key && uvx mcp-server-appwrite

Usage with Windsurf Editor

Head to Windsurf Settings > Cascade > Model Context Protocol (MCP) Servers and click View raw config. Update the mcp_config.json file:

{
  "mcpServers": {
    "appwrite": {
      "command": "uvx",
      "args": [
        "mcp-server-appwrite"
      ],
      "env": {
        "APPWRITE_PROJECT_ID": "your-project-id",
        "APPWRITE_API_KEY": "your-api-key",
        "APPWRITE_ENDPOINT": "https://cloud.appwrite.io/v1"
      }
    }
  }
}

Local Development

Clone the repository

git clone https://github.com/appwrite/mcp.git

Install uv

  • Linux or MacOS:
curl -LsSf https://astral.sh/uv/install.sh | sh
  • Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Prepare virtual environment

Create a virtual environment:

uv venv

Activate the virtual environment:

  • Linux or MacOS:
source .venv/bin/activate
  • Windows:
.venv\Scripts\activate

Run the server

uv run -v --directory ./ mcp-server-appwrite

Debugging

Use the MCP inspector to debug the server:

npx @modelcontextprotocol/inspector \
  uv \
  --directory . \
  run mcp-server-appwrite

Ensure your .env file is correctly configured before running the inspector. Access the inspector at http://localhost:5173.

License

This MCP server is licensed under the MIT License, allowing free use, modification, and distribution under its terms. See the LICENSE file in the project repository for details.