Appears on
Articles15
How Does psql -h pg.neon.tech Work?
One of the things that got me really excited and curious about Neon, long before I joined the company, was the psql -h pg.neon.tech command. I’ve recently come to find out that other employees here went through the same “wow” experience even before they joined the company. So, I’...
Wrapping My Mind Around Node.js Runtimes
There’s been a lot of innovation in the last few years in Node.js runtimes. Node.js used to be the only viable option, but now there’s other contenders such as Bun and Deno. But are they ready for prime time? When should they be used, and by whom? Wait, what even is a JavaScript...
Why we built @neondatabase/toolkit
We recently published a package on NPM called @neondatabase/toolkit (@neon/toolkit on JSR). The idea behind it was to merge the already existing @neondatabase/api-client and @neondatabase/serverless packages into a single SDK that is easier for AI agents to consume. AI agents do...
Introducing Neon RLS: Simplifying Row-Level Security For Postgres
Today we’re launching Neon RLS, a tool that aims to simplify the usage of Postgres row-level security policies while enabling new deployment models for app developers. With Neon RLS, you can manage RLS directly in your codebase and integrate with any authentication provider, maki...
Is “SQL from the frontend” viable?
I’ve worked on apps with a “SQL from the client” architecture and the development velocity was simply superb. At the same time, it comes with a lot of challenges in terms of security and scalability. So, what’s the deal? Is it viable or not? The tl;dr is that the technology is pe...
Modelling Authorization for a Social Network with Postgres RLS and Drizzle ORM
Postgres’s Row-Level Security feature allows us to set up the access rules for our data. In other words, it can be used to declare the authorization model for an application or a service. As I’ve been trying to better understand RLS and its pros and cons, I decided to work on an...
Higher-level CRUD Abstraction for Postgres RLS
Postgres Row-Level Security is notoriously difficult to comprehend and use. The policy access model for a todos table in a Todo List app can be declared as per the following table: Operation Using(applies to data being returned) Wich Check(applies to data being written) Select au...
Is Postgres RLS for Everything and Everyone?
In Neon, we recommend using a project-per-user pattern for multitenancy whenever possible. If this doesn’t work for you and you’re placing all your tenants within a single Postgres database, you should at least use RLS to prevent cross-tenant access—but expressing your entire aut...
Neon’s MCP Server is Here
Anthropic recently introduced an open protocol to enable LLMs to more easily integrate with external data sources and tools. Model Context Protocol can thus be used to expose all kinds of products and services to LLMs and agents alike. We’re excited to announce that we’ve already...
Announcing Neon’s Remote MCP Server
At Neon, we like to be on top of things, especially when it comes to AI. We first announced our MCP server back on December 3rd, 2024. That was a long time before MCP really took off, and we’ve been iterating on our MCP server’s capabilities ever since. You can read more about ou...
Auto-generating MCP Servers from OpenAPI Schemas: Yay or Nay?
Should we be generating Model Context Protocol (MCP) servers directly from existing API specs? MCP is designed to let AI agents like those in Claude, Cursor, and Windsurf interact with tools and APIs. So, can we just treat our existing REST APIs as the interface for LLMs and enti...
How We’re Using Cursor at Neon
Our engineering team at Neon works across a large codebase written in TypeScript, Go, Rust, and Python. We’ve been experimenting with Cursor as a tool to help us move faster – here’s our favorite workflows, and where we still find a few things missing. Our favorite Cursor workflo...
app.build: An Open-Source AI Agent That Builds Full-Stack Apps
Code generation has been one of the most interesting use cases for LLMs. While the best models can generate decent code for isolated problems, there is a big gap between these code snippets and fully functional applications. Agent-based solutions are better suited to create apps....
Writing Test Evals For Our MCP Server
When we launched our MCP server, we knew it’d be important for it to have tests, just like any other piece of software. Since our MCP server has over 20 tools, it’s important for us to know that LLMs can pick the right tool for the job. So, this was the main aspect we wanted […]
Launching a Web UI for app.build
We’re very excited to announce that app.build is launching a web interface that builds and deploys React, Laravel or FastAPI applications with zero configuration required! Just visit the website, type your prompt, and we’ll get your app built and deployed: This makes the experien...
