v0.17.0

bknd-io/bkndv0.17.0Aug 30, 2025by dswbx

AI Summary

A major update introducing a native Model Context Protocol (MCP) server, improving Cloudflare integration by removing the `durable` mode, and enhancing documentation coverage.

Key Highlights

  • Native MCP server with dynamically generated tools and resources
  • Integrated MCP UI accessible from the Admin UI
  • Cloudflare improvements: removal of `durable` mode, new `withPlatformProxy`
  • New `devFsVitePlugin` for filesystem access in dev environments
  • Updated documentation structure and coverage

Breaking Changes

  • Removed `durable` mode from Cloudflare adapter

New Features

  • Native MCP server
  • MCP CLI command
  • Cloudflare `withPlatformProxy`
  • Dev filesystem plugin
  • Updated documentation

Full Release Notes

## 🚀 Native MCP (https://github.com/bknd-io/bknd/pull/225, https://github.com/bknd-io/bknd/pull/243)
bknd includes a fully featured MCP server that can be used to interact with the bknd instance. It uses a lightweight MCP implementation that works in any environment bknd works in. Unlike other MCP servers, the exposed tools and resources are mainly dynamically generated from the schema, extracted from defined hono routes, and manually defined ones. This means exposed tools and resources are always up to date, and requires little overhead to maintain.

- Fully featured, always up to date MCP server natively integrated with bknd
- Integrated MCP UI accessible from the Admin UI
- Built-in MCP client directly usable from your app instance
- CLI command to run an MCP server on stdio transport

https://github.com/user-attachments/assets/d0e55d5b-5760-4bf0-9506-b326c021b569

This is only the beginning. In future releases, the Admin UI will be migrated to use the MCP server, SSE & Websocket transports are planned, and adding your own tools either with code or using visual workflows!

Check out the [MCP docs](https://docs.bknd.io/usage/mcp/overview/) on how to use it.

## Cloudflare Improvements (https://github.com/bknd-io/bknd/pull/233, https://github.com/bknd-io/bknd/pull/239)

The `durable` mode has been removed, as the `cloudflare:workers` import continously caused issues when it was used with frameworks such as Astro and React Router. Additionally, there is a new [`withPlatformProxy`](https://docs.bknd.io/integration/cloudflare/#cloudflare-bindings-in-cli) that enables working with Cloudflare resources using the bknd CLI. 

When using React Router with Cloudflare Workers, you also noticed issues using plugins such as `syncTypes` that used filesystem access to dynamically update the types. That's because the Cloudflare Vite plugin uses `unenv` among others to simulate the Cloudflare environment as closely as possible, where a filesystem is not available. You can now use `devFsVitePlugin` and `devFsWrite` to be able to write to disk in your dev environment. [Check the docs](https://docs.bknd.io/integration/cloudflare/#filesystem-access-with-vite-plugin) on how to use it.


## Docs Improvements (https://github.com/bknd-io/bknd/pull/240, https://github.com/bknd-io/bknd/pull/243)

Updates on the documentation were overdue, so here they come:
- Database: a new section was added to give guidance on how to use [system entities](https://docs.bknd.io/usage/database/#system-entities), as well as how to [add media to an entity](https://docs.bknd.io/usage/database/#add-media-to-an-entity). 
- SDK: added missing [data and media APIs](https://docs.bknd.io/usage/sdk/)
- Plugins: added [documentation](https://docs.bknd.io/extending/plugins/) about how to create your own as well as how to use the built-in ones
- MCP: added an [overview](https://docs.bknd.io/usage/mcp/overview/) as well as auto-generated description about available tools & resources.


## Other Changes
* docs: fix <Admin /> config props by @DimplesY in https://github.com/bknd-io/bknd/pull/229
* Update Dockerfile to node 24 by @stormbyte in https://github.com/bknd-io/bknd/pull/230
* fix: add missing @clack/prompts dependency by @DimplesY in https://github.com/bknd-io/bknd/pull/231
* adapter(cloudflare): fix exports and type name for do db by @dswbx in https://github.com/bknd-io/bknd/pull/232
* cleaned up left over bknd/utils imports by @dswbx in https://github.com/bknd-io/bknd/pull/235
* docs: fixed events, commented edge runtime for nextjs by @dswbx in https://github.com/bknd-io/bknd/pull/237
* cli: updated config to get config from app, added sync command by @dswbx in https://github.com/bknd-io/bknd/pull/241
* cli: align config aware commands options by @dswbx in https://github.com/bknd-io/bknd/pull/242

## New Contributors
* @DimplesY made their first contribution in https://github.com/bknd-io/bknd/pull/229

**Full Changelog**: https://github.com/bknd-io/bknd/compare/v0.16.1...v0.17.0