Skip to main content

MCP (Model Context Protocol) server for Appwrite

Project description

Appwrite MCP server

mcp-name: io.github.appwrite/mcp-for-api

Install 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

Before launching the MCP server, you must setup 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://<REGION>.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. We will 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 setup processes require certain arguments to enable MCP tools for various Appwrite APIs.

When an MCP tool is enabled, the tool's definition is passed to the LLM, using up tokens from the model's available context window. As a result, the effective context window is reduced.

The default Appwrite MCP server ships with only the Databases tools (our most commonly used API) enabled to stay within these limits. Additional tools can be enabled by using the flags below.

Argument Description
--tablesdb Enables the TablesDB API
--users Enables the Users API
--teams Enables the Teams API
--storage Enables the Storage API
--functions Enables the Functions API
--messaging Enables the Messaging API
--locale Enables the Locale API
--avatars Enables the Avatars API
--sites Enables the Sites API
--all Enables all Appwrite APIs
--databases Enables the Legacy Databases API

Usage with Claude Desktop

In the Claude Desktop app, open the app's Settings page (press CTRL + , on Windows or CMD + , on MacOS) and head to the Developer tab. Clicking on the Edit Config button will take you to the claude_desktop_config.json file, where you must add the following:

{
  "mcpServers": {
    "appwrite": {
      "command": "uvx",
      "args": [
        "mcp-server-appwrite"
      ],
      "env": {
        "APPWRITE_PROJECT_ID": "<YOUR_PROJECT_ID>",
        "APPWRITE_API_KEY": "<YOUR_API_KEY>",
        "APPWRITE_ENDPOINT": "https://<REGION>.cloud.appwrite.io/v1" // Optional
      }
    }
  }
}

Note: In case you see a uvx ENOENT error, ensure that you either add uvx to the PATH environment variable on your system or use the full path to your uvx installation in the config file.

Upon successful configuration, you should be able to see the server in the list of available servers in Claude Desktop.

Claude Desktop Config

Usage with Cursor

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

  • 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

Cursor Settings

Usage with Windsurf Editor

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

{
  "mcpServers": {
    "appwrite": {
      "command": "uvx",
      "args": [
        "mcp-server-appwrite"
      ],
      "env": {
        "APPWRITE_PROJECT_ID": "<YOUR_PROJECT_ID>",
        "APPWRITE_API_KEY": "<YOUR_API_KEY>",
        "APPWRITE_ENDPOINT": "https://<REGION>.cloud.appwrite.io/v1" // Optional
      }
    }
  }
}

Windsurf Settings

Usage with VS Code

Configuration

  1. Update the MCP configuration file: Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and run MCP: Open User Configuration. It should open the mcp.json file in your user settings.

  2. Add the Appwrite MCP server configuration: Add the following to the mcp.json file:

{
  "servers": {
    "appwrite": {
      "command": "uvx",
      "args": ["mcp-server-appwrite", "--users"],
      "env": {
        "APPWRITE_PROJECT_ID": "<YOUR_PROJECT_ID>",
        "APPWRITE_API_KEY": "<YOUR_API_KEY>",
        "APPWRITE_ENDPOINT": "https://<REGION>.cloud.appwrite.io/v1"
      }
    }
  }
}
  1. Start the MCP server: Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and run MCP: List Servers. In the dropdown, select appwrite and click on the Start Server button.

  2. Use in Copilot Chat: Open Copilot Chat and switch to Agent Mode to access the Appwrite tools.

VS Code Settings

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

First, create a virtual environment.

uv venv

Next, 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

You can use the MCP inspector to debug the server.

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

Make sure your .env file is properly configured before running the inspector. You can then access the inspector at http://localhost:5173.

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_server_appwrite-0.3.3.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_server_appwrite-0.3.3-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_appwrite-0.3.3.tar.gz.

File metadata

  • Download URL: mcp_server_appwrite-0.3.3.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for mcp_server_appwrite-0.3.3.tar.gz
Algorithm Hash digest
SHA256 b683c9e35e1f8c79f4d8d75711343f26fff0539878ebe0ec0112ad6eaaf2d755
MD5 e3909691b23b81fd615c5af402f5f4fd
BLAKE2b-256 710da0b56d0af24105bd6fa159128aa2e30efbcdc7cc0177b7c0083557e7900f

See more details on using hashes here.

File details

Details for the file mcp_server_appwrite-0.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_server_appwrite-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7f9d885215d0e05b5d249f26845670a5cffdce2579a0c51fe4ce483e89f94f90
MD5 4b9e86bf523a6ba1547c2bedf8362388
BLAKE2b-256 c7dd0ba647296ebbfa5209b0d4d2bb0bdcc8a1f2f4d2b05e1f0a88f8c7633e1a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page