freshcrate
Skin:/
Home > MCP Servers > mcp-for-api

mcp-for-api

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

Why this rank:Strong adoptionRelease freshnessHealthy release cadence

Description

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

README

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.

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/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

Using pip

pip install mcp-server-appwrite

Then run the server using

python -m mcp_server_appwrite

Tool surface

The 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_tools
    • appwrite_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.

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"],
      "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-for-api.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

Testing

Unit tests

uv run python -m unittest discover -s tests/unit -v

Live integration tests

These 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 -v

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.

Release History

VersionChangesUrgencyDate
0.4.1## Summary Patch release for the Appwrite Python SDK compatibility fix. ## Included - pin `appwrite` to `>=13.4.1,<16` - avoid startup failures caused by strict `/tablesdb` response parsing introduced in newer Python SDK versions - bump package and server metadata to `0.4.1` ## Verification - `uv lock` - `uv run python -m unittest discover -s tests/unit -p 'test_server.py'` - `uv run --with build python -m build` High4/11/2026
0.4.0## What's Changed * Introduce the Appwrite operator workflow and refresh CI by @ChiragAgg5k in https://github.com/appwrite/mcp-for-api/pull/40 Huge shoutout to @sgaabdu4 for the inspiration behind this work 🙌 **Full Changelog**: https://github.com/appwrite/mcp-for-api/compare/0.3.3...0.4.0Medium4/10/2026
0.3.3## What's Changed * fix: schema version to fix github mcp registry publish by @ChiragAgg5k in https://github.com/appwrite/mcp-for-api/pull/39 **Full Changelog**: https://github.com/appwrite/mcp-for-api/compare/0.3.2...0.3.3Low2/5/2026
0.3.2## What's Changed * fix: update schema to fix deprecated schema error by @ChiragAgg5k in https://github.com/appwrite/mcp-for-api/pull/38 **Full Changelog**: https://github.com/appwrite/mcp-for-api/compare/0.3.1...0.3.2Low2/5/2026
0.3.1## What's Changed * fix: schema version to fix github mcp registry publish by @ChiragAgg5k in https://github.com/appwrite/mcp-for-api/pull/37 **Full Changelog**: https://github.com/appwrite/mcp-for-api/compare/0.3.0...0.3.1Low2/5/2026
0.3.0## What's Changed * fix: rename --tables-db flag to --tablesdb by @ChiragAgg5k in https://github.com/appwrite/mcp-for-api/pull/35 **Full Changelog**: https://github.com/appwrite/mcp-for-api/compare/0.2.8...0.3.0Low2/5/2026
0.2.8## What's Changed * add appwrite logos to images folder by @tessamero in https://github.com/appwrite/mcp-for-api/pull/32 * feat: add TablesDB support and upgrade Appwrite SDK to 13.4.1 by @ChiragAgg5k in https://github.com/appwrite/mcp-for-api/pull/33 **Full Changelog**: https://github.com/appwrite/mcp-for-api/compare/0.2.7...0.2.8Low10/11/2025
0.2.7## What's Changed * fix: add mcp name to readme by @ChiragAgg5k in https://github.com/appwrite/mcp-for-api/pull/31 **Full Changelog**: https://github.com/appwrite/mcp-for-api/compare/0.2.6...0.2.7Low9/28/2025
0.2.6## What's Changed * fix: version not found error by @ChiragAgg5k in https://github.com/appwrite/mcp-for-api/pull/30 **Full Changelog**: https://github.com/appwrite/mcp-for-api/compare/0.2.5...0.2.6Low9/28/2025
0.2.5## What's Changed * remove websiteurl by @ChiragAgg5k in https://github.com/appwrite/mcp-for-api/pull/29 **Full Changelog**: https://github.com/appwrite/mcp-for-api/compare/0.2.4...0.2.5Low9/28/2025
0.2.4## What's Changed * fix: website namespace by @ChiragAgg5k in https://github.com/appwrite/mcp-for-api/pull/28 **Full Changelog**: https://github.com/appwrite/mcp-for-api/compare/0.2.3...0.2.4Low9/28/2025
0.2.3## What's Changed * fix: mcp registry file by @ChiragAgg5k in https://github.com/appwrite/mcp-for-api/pull/27 **Full Changelog**: https://github.com/appwrite/mcp-for-api/compare/0.2.2...0.2.3Low9/28/2025
0.2.2## What's Changed * Add MCP registry publishing configuration by @tessamero in https://github.com/appwrite/mcp-for-api/pull/25 * bump to 0.2.2 by @ChiragAgg5k in https://github.com/appwrite/mcp-for-api/pull/26 ## New Contributors * @tessamero made their first contribution in https://github.com/appwrite/mcp-for-api/pull/25 **Full Changelog**: https://github.com/appwrite/mcp-for-api/compare/0.2.1...0.2.2Low9/28/2025
0.2.1## What's Changed * feat: add vscode integration docs by @ChiragAgg5k in https://github.com/appwrite/mcp/pull/22 * chore: update x-sdk-name header to mcp by @ChiragAgg5k in https://github.com/appwrite/mcp/pull/23 * chore: bump to 0.2.1 by @ChiragAgg5k in https://github.com/appwrite/mcp/pull/24 **Full Changelog**: https://github.com/appwrite/mcp/compare/0.2.0...0.2.1Low8/11/2025
0.2.0## What's Changed * docs: add cursor deeplink installation button by @ChiragAgg5k in https://github.com/appwrite/mcp/pull/19 * feat: add sites support by @ChiragAgg5k in https://github.com/appwrite/mcp/pull/18 **Full Changelog**: https://github.com/appwrite/mcp/compare/0.1.4...0.2.0Low7/26/2025
0.1.4## What's Changed * Update readme docs by @adityaoberai in https://github.com/appwrite/mcp/pull/8 * add MCP server badge by @punkpeye in https://github.com/appwrite/mcp/pull/9 * feat: update schema parsing logic by @christyjacob4 in https://github.com/appwrite/mcp/pull/15 * fix: typing for list params by @ChiragAgg5k in https://github.com/appwrite/mcp/pull/12 * chore: update dependencies by @ChiragAgg5k in https://github.com/appwrite/mcp/pull/16 ## New Contributors * @punkpeye made theiLow3/25/2025
0.1.3## What's Changed * chore: update readme by @christyjacob4 in https://github.com/appwrite/mcp/pull/5 * doc: Minor readme edits by @adityaoberai in https://github.com/appwrite/mcp/pull/6 * fix: update appwrite SDK and add CLI args by @christyjacob4 in https://github.com/appwrite/mcp/pull/7 ## New Contributors * @adityaoberai made their first contribution in https://github.com/appwrite/mcp/pull/6 **Full Changelog**: https://github.com/appwrite/mcp/compare/0.1.2...0.1.3Low3/10/2025
0.1.2## What's Changed * Feat improvements by @christyjacob4 in https://github.com/christyjacob4/mcp/pull/4 **Full Changelog**: https://github.com/christyjacob4/mcp/compare/0.1.1...0.1.2Low3/8/2025
0.1.1## What's Changed * feat: refactor server to use single file and tool adapters by @christyjacob4 in https://github.com/christyjacob4/mcp/pull/1 * feat: add support for env variables by @christyjacob4 in https://github.com/christyjacob4/mcp/pull/2 * fix: ci by @christyjacob4 in https://github.com/christyjacob4/mcp/pull/3 ## New Contributors * @christyjacob4 made their first contribution in https://github.com/christyjacob4/mcp/pull/1 **Full Changelog**: https://github.com/christyjacob4/mLow3/8/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

AI-Skills🤖 Enhance AI capabilities with modular Skills that provide expert knowledge, workflows, and integrations for any project.main@2026-06-07
telegram-mcp🤖 Manage multiple Telegram accounts effortlessly with AI-driven tools for bulk messaging, scheduling, and more in one easy-to-use platform.main@2026-06-07
Enterprise-Multi-AI-Agent-Systems-🤖 Build and deploy scalable Multi-AI Agent systems with LangGraph and Groq LLMs to enhance intelligence across enterprise applications.main@2026-06-07
AIDomesticCoreAIJ🛠️ Build a robust AI Kernel for stable, auditable, and sovereign AI systems, ensuring secure execution and compliance across various domains.main@2026-06-07
argus-mcp🔍 Enhance code quality with Argus MCP, an AI-driven code review server using a Zero-Trust model for safe and efficient development.main@2026-06-07

More in MCP Servers

claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.
langchain4jLangChain4j is an open-source Java library that simplifies the integration of LLMs into Java applications through a unified API, providing access to popular LLMs and vector databases. It makes impleme
ms-365-mcp-serverA Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API
PlanExeCreate a plan from a description in minutes