Skip to main content
Glama
antsincgame

appwrite-console-mcp

by antsincgame

appwrite-console-mcp

MCP-сервер с рут-доступом ко всем проектам Appwrite. Логинится рут-аккаунтом в контексте console, а для данных конкретного проекта на лету выпускает ключ со всеми скоупами. Один эндпоинт = весь инстанс + управление проектами.

Инструменты

  • appwrite_request — универсальный вызов: target (console или ID проекта), method, path (без /v1), опционально query / body.

  • list_projects, list_organizations, create_project, delete_project.

Related MCP server: Supabase Management MCP Server

Переменные окружения

  • APPWRITE_ENDPOINT — напр. https://appwrite.example.com/v1

  • APPWRITE_EMAIL, APPWRITE_PASSWORD — рут-аккаунт (MFA выключен)

  • MCP_SECRET — токен в пути HTTP-эндпоинта (авторизация коннектора)

  • PORT — по умолчанию 8000

Запуск (Docker / Coolify)

Деплой из репозитория как Dockerfile. Контейнер поднимает MCP по stdio и отдаёт его как Streamable HTTP через supergateway. Коннектор Claude.ai: https://<домен>/<MCP_SECRET>/mcp.

Локально (stdio, без моста):

APPWRITE_ENDPOINT=... APPWRITE_EMAIL=... APPWRITE_PASSWORD=... node index.mjs

Available Tools

5 tools
appwrite_requestA

Универсальный запрос к Appwrite API с рут-доступом. target='console' — управление инстансом (проекты, организации/команды, ключи, платформы, вебхуки). target=ID проекта — работа с его данными: databases/tablesdb, users, storage, functions, messaging, teams, sites и т.д. Для проектов админ-ключ со всеми скоупами выпускается автоматически. path указывается без префикса /v1, напр. '/databases' или '/databases/{databaseId}/collections'. ВНИМАНИЕ: метод DELETE необратим.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYes'console' или ID проекта
methodYes
pathYesПуть API без /v1, напр. /users или /databases/{id}/collections/{cid}/documents
queryNoQuery-параметры для GET. queries — массив строк-фильтров в JSON-формате Appwrite, напр. {"queries":["{\"method\":\"limit\",\"values\":[25]}"]}. Простые параметры — как есть, напр. {"search":"foo"}.
bodyNoТело для POST/PUT/PATCH/DELETE

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It warns that DELETE is irreversible and mentions automatic admin key generation, but lacks details on rate limits, error responses, or authentication requirements beyond root access.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, using a few sentences in Russian that front-load the purpose. Every sentence provides necessary information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter tool with no output schema, the description covers target, method, path, query, and body adequately, including the irreversible nature of DELETE. Some details like error handling or response format are missing, but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, so baseline is 3. Description adds substantial value by explaining path without '/v1' prefix, providing example query format with JSON-encoded filters, and clarifying target usage. This goes beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it is a universal request to Appwrite API with root access, distinguishing it from sibling tools like create_project or delete_project which handle specific operations. The verb 'request' and resource 'Appwrite API' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly differentiates between target='console' for instance management and target=project ID for project data, providing clear context for when to use each. However, it does not explicitly state when to avoid this tool in favor of siblings, though it is implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_projectC

Создать новый проект в инстансе.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
teamIdYesID организации/команды (см. list_organizations)
projectIdNoОпционально; если пусто — сгенерируется
regionNoОпционально, для self-hosted обычно 'default'

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavioral traits. It only states 'создать' but doesn't mention idempotency, error scenarios, or side effects (e.g., duplicate name handling).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely short (one sentence), but lacks essential details like usage and behavioral info. It is underspecified rather than concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, no annotations, and minimal description. The tool's return value, error handling, and high-level behavior are not explained, making it incomplete for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% (three of four parameters have descriptions). The tool description adds no extra meaning beyond the schema; it does not describe parameter usage or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('создать') and resource ('проект'), with context ('в инстансе'). Distinguishes from sibling tools like delete_project and list_projects by name and action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., prerequisites like checking existing projects or organizations). The description does not mention when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_projectA

Безвозвратно удалить проект. Требует confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes
confirmYesДолжно быть true

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses irreversibility and confirm requirement, but lacks details on permissions, side effects, or post-deletion state. More context would be beneficial for a destructive action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient, front-loaded sentences with no wasted words. Purpose and key constraint stated immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequately covers the essential aspects of a simple delete operation. Could mention prerequisites like project existence, but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Description reinforces confirm parameter's requirement, but doesn't explain projectId. With 50% schema coverage, it partially compensates but leaves gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'delete a project' with emphasis on irreversibility, distinguishing it from sibling tools like create_project or list_projects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the confirm=true requirement, which is a key usage constraint. However, no guidance on when to use vs. alternatives like list_projects.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_organizationsA

Список организаций/команд console. teamId оттуда нужен для create_project.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose all behavioral traits. It only states it lists organizations/teams but does not mention authentication requirements, side effects, or data format. The description is too brief to be transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded. It conveys its purpose and usage in one fragmented sentence. While concise, it uses mixed language (Russian+English) which may reduce clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters and no output schema, the description provides sufficient context: what it lists and why it is useful. It lacks output format details but overall is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so baseline is 4. The description does not need to add parameter information, and it adds no param-specific semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists organizations/teams and explicitly links to 'create_project' via teamId. It distinguishes from sibling tools by indicating that this list provides a necessary parameter for another tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit context for when to use the tool: to obtain teamId for create_project. However, it does not include any exclusions or alternative scenarios, so it is not a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_projectsA

Список всех проектов инстанса (рут/console).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry full behavioral disclosure. It only states that it lists projects, with no mention of safety (e.g., read-only), performance, authentication requirements, or side effects. The description is too sparse to inform the agent about behavior beyond the basic operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence that directly states the tool's purpose. It is front-loaded and contains no extraneous information. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and no output schema, the description is minimal but adequate for its simplicity. However, it could be improved by noting that it returns a list of project objects (e.g., with IDs and names) or by clarifying that it lists all projects without pagination.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and schema coverage is 100%. With no parameters, the description does not need to add parameter meaning. A baseline of 4 is appropriate as there is nothing to compensate for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Список' (list) and the resource 'всех проектов' (all projects), specifying the scope as the instance root/console. It distinguishes from sibling tools like create_project and delete_project by implying a read-only listing operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, limitations, or when not to use it. The context of sibling tools gives some implicit distinction, but the description itself lacks any usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv1.0.0
    • First observedappwrite_request
    • First observedcreate_project
    • First observeddelete_project
    • First observedlist_organizations
    • First observedlist_projects

TDQS

C2.9/5.0
Disambiguation2/5

There is clear overlap between the generic appwrite_request tool and the specific CRUD tools, as appwrite_request can also create and delete projects. Agents may struggle to decide whether to use the generic or dedicated tool for these operations.

Naming Consistency3/5

Most tools follow a verb_noun pattern (create_project, delete_project, list_organizations, list_projects), but appwrite_request breaks this pattern with a noun_noun style, causing inconsistency in the overall naming scheme.

Tool Count3/5

With only 5 tools, the set feels thin for an Appwrite console management server. However, the generic appwrite_request tool can cover many missing operations, making the count borderline acceptable rather than severely mismatched.

Completeness2/5

The dedicated tools only cover a narrow subset of operations (create, delete, list projects and list organizations). Many expected operations like update project or manage databases are absent, leaving significant gaps that force reliance on the generic tool.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    FastMCP server for managing a self-hosted Infisical instance, exposing tools to create, read, update, and delete projects, environments, folders, and secrets, and to render .env and shell-export formats.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/antsincgame/appwrite-console-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server