mcp-name: io.github.appwrite/mcp-for-api
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.
- Configuration
- Installation
- IDE Integration:
- Local Development
- Debugging
Before launching the MCP server, you must setup an Appwrite project and create an API key with the necessary scopes enabled.
The server validates the credentials and scopes required for its built-in Appwrite service set during startup. If the endpoint, project ID, API key, or scopes are wrong, the MCP server will fail to start instead of waiting for the first tool call to fail.
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/v1Then, open your terminal and run the following command
source .envfor /f "tokens=1,2 delims==" %A in (.env) do set %A=%BGet-Content .\.env | ForEach-Object {
if ($_ -match '^(.*?)=(.*)$') {
[System.Environment]::SetEnvironmentVariable($matches[1], $matches[2], "Process")
}
}When using uv no specific installation is needed. We will
use uvx to directly run mcp-server-appwrite.
uvx mcp-server-appwritepip install mcp-server-appwriteThen run the server using
python -m mcp_server_appwriteThe server no longer accepts service-selection or mode flags. It always starts in a compact workflow so the MCP client only sees a small operator-style surface while the full Appwrite catalog stays internal.
- Only 2 MCP tools are exposed to the model:
appwrite_search_toolsappwrite_call_tool
- The full Appwrite tool catalog stays internal and is searched at runtime.
- Large tool outputs are stored as MCP resources and returned as preview text plus a resource URI.
- Mutating hidden tools require
confirm_write=true. - The server automatically registers all supported Appwrite services except the legacy Databases API.
If you still have older MCP configs that pass flags such as --mode or --users, remove them.
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 ENOENTerror, ensure that you either adduvxto thePATHenvironment variable on your system or use the full path to youruvxinstallation in the config file.
Upon successful configuration, you should be able to see the server in the list of available servers in Claude Desktop.
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-appwriteUsage 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
}
}
}
}Usage with VS Code
-
Update the MCP configuration file: Open the Command Palette (
Ctrl+Shift+PorCmd+Shift+P) and runMCP: Open User Configuration. It should open themcp.jsonfile in your user settings. -
Add the Appwrite MCP server configuration: Add the following to the
mcp.jsonfile:
{
"servers": {
"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"
}
}
}
}-
Start the MCP server: Open the Command Palette (
Ctrl+Shift+PorCmd+Shift+P) and runMCP: List Servers. In the dropdown, selectappwriteand click on the Start Server button. -
Use in Copilot Chat: Open Copilot Chat and switch to Agent Mode to access the Appwrite tools.
git clone https://github.com/appwrite/mcp-for-api.git- 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"First, create a virtual environment.
uv venvNext, activate the virtual environment.
- Linux or MacOS
source .venv/bin/activate- Windows
.venv\Scripts\activateuv run -v --directory ./ mcp-server-appwriteuv run python -m unittest discover -s tests/unit -vThese tests create and delete real Appwrite resources against a real Appwrite project. They run automatically when valid Appwrite credentials are available in the environment or .env.
uv run --extra integration python -m unittest discover -s tests/integration -vYou can use the MCP inspector to debug the server.
npx @modelcontextprotocol/inspector \
uv \
--directory . \
run mcp-server-appwriteMake sure your .env file is properly configured before running the inspector. You can then access the inspector at http://localhost:5173.
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.



