mcp
by: appwrite
Appwrite’s MCP server. Operating your backend has never been easier.
📌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:
Argument | Description |
---|---|
--databases | Enables the Databases 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 |
--all | Enables 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 thatuvx
is added to your systemPATH
or use the full path to youruvx
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.