appwrite_get_contextLABSCO SUMMARY
Four tools in the context window, a thousand behind them.
Registering 981 methods as 981 tools would cost more context than most sessions can spare, so this searches the catalog at call time instead — the model pays for four tool definitions and finds the rest when it needs them. The authentication profile is the real access boundary: an API key over stdio never sees console administration at all, while hosted OAuth does. Writes are held behind an explicit confirm_write=true, so a mutating call cannot happen by accident.
What it is
Appwrite's official MCP server. Rather than registering every API method as a tool, it exposes a small operator surface and keeps the full Appwrite catalog internal, searching it when the model asks. What that catalog contains depends on how you authenticated.
What you get
- appwrite_get_context — a workspace summary: with an API key, the project and readable services; over OAuth, also the account, organization and discovered projects
- appwrite_search_tools — searches the internal catalog at request time and returns matches tagged with the context they act in: console, organization or project
- appwrite_call_tool — invokes a catalog tool; anything that mutates requires confirm_write=true
- appwrite_search_docs — semantic search over Appwrite's own documentation, registered only when the docs index and OPENAI_API_KEY are both present
- Hosted OAuth reaches the whole console control plane: 38 services and 981 methods from appwrite-console 0.2.1, including projects, organizations, domains, migrations, usage, VCS, vectors, WAF and regions
- An API key over stdio deliberately registers a smaller set — 647 project-key-compatible methods across 26 services, including DocumentsDB, VectorsDB and text embeddings, with console administration left out
- Large results are stored as an MCP resource and returned as a preview plus a URI, instead of filling the context window
Requirements
An Appwrite project. Appwrite Cloud runs this as a hosted OAuth 2.1 resource server over Streamable HTTP, and clients self-register — the authorization server exposes an open registration endpoint, so there is no client id or secret to provision before you connect. Running it yourself instead means an API key, launched over stdio as mcp-server-appwrite; access is still limited per route by the scopes on the credential you used. Documentation search additionally needs OPENAI_API_KEY.
Setup effort
One command — claude mcp add --transport http appwrite https://mcp.appwrite.io/
USE CASES
Getting oriented in a project you did not set up
Read the workspace summary for the project, its services and what your credential can actually see.
Doing something in Appwrite you do not know the API for
Search the catalog by describing the operation, then call the method it finds.
Changing data rather than reading it
Invoke the mutating method with the write confirmation set, so nothing changes without an explicit step.
Administering organizations, domains or migrations
Connect over hosted OAuth, which is what makes the console control-plane services visible at all.
Checking how something is meant to work
Search Appwrite's documentation from the same session instead of switching to a browser.
4 tools
Listed in project docs. Your client may show a different list.
appwrite_search_toolsappwrite_call_toolappwrite_search_docsBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
A client that can reach a remote MCP server over HTTP
Where it runs
All 12 documented clients connect to a hosted endpoint.
INSTALLATION
Connect your client
Server setup
claude mcp add
Claude Code
claude mcp add --transport http appwrite https://mcp.appwrite.io/Hosted endpoint
https://mcp.appwrite.io/Add this hosted endpoint to your MCP client.
MCP Clients
Claude Desktop, JetBrains, Cline
{
"mcpServers": {
"appwrite": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.appwrite.io/"
]
}
}
}Cursor
{
"mcpServers": {
"appwrite": {
"url": "https://mcp.appwrite.io/"
}
}
}VS Code
{
"servers": {
"appwrite": {
"type": "http",
"url": "https://mcp.appwrite.io/"
}
}
}OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"appwrite": {
"type": "remote",
"url": "https://mcp.appwrite.io/",
"enabled": true
}
}
}Windsurf, Antigravity
{
"mcpServers": {
"appwrite": {
"serverUrl": "https://mcp.appwrite.io/"
}
}
}Gemini CLI
{
"mcpServers": {
"appwrite": {
"httpUrl": "https://mcp.appwrite.io/"
}
}
}GitHub Copilot
{
"mcpServers": {
"appwrite": {
"type": "http",
"url": "https://mcp.appwrite.io/"
}
}
}Zed
{
"context_servers": {
"appwrite": {
"url": "https://mcp.appwrite.io/"
}
}
}