Skip to content

Changelog

  • Better tool search and clearer schemas in the Appwrite MCP server

    The Appwrite MCP server has a set of improvements. These improvements help AI tools find the correct Appwrite tool quickly. They also help AI tools call each tool correctly on the first try.

    • Search results show enum values and object shapes: If a parameter accepts only some values, the search results show these values. For example, a relationship type shows oneToOne|manyToOne|manyToMany|oneToMany. If a parameter is an object, the search results show its keys. The model does not have to guess valid inputs.
    • Full parameter descriptions: The server does not truncate parameter descriptions. Important details, for example query limits and formats, stay complete.
    • More accurate search results: The tool search removes results that do not match the query. The tool search also matches different forms of the same word. The words row and rows find the same tools. A query for "read rows with pagination" finds list tools, not only single-item tools.
    • Suggestions for incorrect tool names: If a tool name is almost correct, the error message shows the closest tool names. The model does not have to do a new search.
    • Fewer round-trips: The result previews are larger. A typical list response fits fully in the tool result. An extra read of the results resource is not necessary.
    • Clearer errors for unparsed responses: Appwrite can accept a write operation, but the response can fail to parse. The error message now says that the operation was probably successful. It tells the model to make sure with a get or a list call before a retry. This prevents duplicate operations.

    These improvements are available on the remote MCP server at https://mcp.appwrite.io/ and on the local MCP server for self-hosted instances.

  • API keys and JWTs can no longer mint further credentials

    Appwrite Cloud now blocks an API key from creating another API key, and blocks a JWT from minting another JWT. Existing keys and JWTs keep working. The change stops leaked credentials from growing a hidden set of replacements.

    Create long-lived API keys in the Console. The Project API can still list, update, and delete keys, and can issue ephemeral keys for short-lived access. A leaked key can no longer mint further hidden keys, which made a compromise harder to contain and revoke.

    Create JWTs from a Server SDK with users.createJWT. A leaked JWT can no longer mint further JWTs and outlive its own expiry. A session cannot duplicate itself to live forever, and neither should a JWT.

    Learn more about API keys

  • Send your MFA code through any channel with the custom factor

    The new custom factor for multi-factor authentication removes the channel limit. Appwrite generates and verifies a 6-digit code, and your application decides how the user receives it: WhatsApp, a voice call, an internal messaging system, or any provider that Appwrite does not support directly.

    Create a challenge with the custom factor, then read the code with a Server SDK, or from an Appwrite Function that holds the users.read scope. Appwrite delivers nothing for this factor, so your application sends the code through your own channel. The user then completes the challenge in the same way as every other factor.

    Read the announcement

  • Up to 4x faster dependency installs with the build cache

    Appwrite now caches your dependencies between builds. The package manager's store is saved after each successful build and restored before the next one, so installs reuse what was already downloaded instead of fetching every package from the registry again.

    On a real-world Next.js app, install time dropped from 11.7s to 2.8s with pnpm and from 9.6s to 2.3s with bun, with no configuration changes.

    Read the announcement

  • Faster cold starts for Appwrite Sites and Functions with SquashFS

    New Appwrite Sites and Functions deployments on Appwrite Cloud now use SquashFS. Appwrite mounts the compressed, read-only artifact instead of extracting every file, which removes the extraction step from cold starts.

    • Up to 51% faster on the format-dependent cold-start path for larger deployments.
    • Near-constant mount time as a deployment grows, where extraction time climbed with archive size.
    • More predictable startup, with less pressure on the cold-start timeout.

    Sites typically have larger artifacts than Functions, so they will see the more substantial improvements.

    Existing Sites and Functions keep running normally and are not rewritten in place. To migrate one, open its Deployments tab and redeploy the active deployment, or create a new deployment through your existing Git, CLI, or manual workflow. No source-code or configuration change is required.

    Read the announcement to learn more

Start building like a team of hundreds today_

Free
$0

A great fit for passion projects and small applications.

Start project
Pro Popular
$25 /month

For production applications that need powerful functionality and resources to scale.

Start project
Enterprise
Custom

For enterprises that need more power and premium support.

Contact us