Halfnine
Allows AI agents to use saved PostgreSQL connections, with per-connection permissions controlling whether agents may read, propose writes for approval, or make full changes. Agent changes can be staged as rows or SQL for review, and agent activity is logged.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Halfnine
A small, calm PostgreSQL client for macOS and Windows, light enough to leave open all day.
It is early: ROADMAP.md says where things stand.
Install
Download the installer from Releases. The builds aren't signed yet, so each system asks once before opening them:
macOS (Apple silicon, macOS 13 or later): open the
.dmgand drag Halfnine to Applications. Open it once, then choose System Settings › Privacy & Security › Open Anyway. Or runxattr -dr com.apple.quarantine /Applications/Halfnine.app.Windows (x64): run the
-setup.exe. At the SmartScreen warning choose More info › Run anyway. It installs for the current user, without administrator rights.
When a connection saves its password, macOS asks once before Halfnine first reads it, and again after each update until the app is signed. Choose Always Allow.
Related MCP server: mcp-postgres-guard
Docker databases and backups
Turn on Docker databases in Settings, or at the first launch, and the Postgres containers on this computer show under Docker on the connections screen. Double-click one to connect; Halfnine reads its user and password from the container. The Docker page makes new ones (PostgreSQL 14 to 18, optionally from a dump or an SQL file), copies, starts, stops and deletes them. It works with Docker Desktop, OrbStack, Colima and Rancher Desktop.
With backups on, as they are unless you turn them off in Settings, dropping or emptying a table, dropping a column, or deleting a Docker database backs it up first and acts at once, with Undo at the foot of the window. Backups stay on the Docker page until you delete them. A table bigger than the limit in Settings, or one Halfnine can't back up, asks for its name instead.
Use with AI agents
Halfnine is also an MCP server, so Claude Code, Codex, Cursor, VS Code and Claude Desktop can use your connections through it. Open Agents, at the foot of the sidebar or the connections screen, choose Connect next to your tool, and Halfnine shows what it will change before it adds itself. Or add it by hand; on macOS:
claude mcp add --scope user --transport stdio halfnine -- /Applications/Halfnine.app/Contents/MacOS/halfnine mcp
codex mcp add halfnine -- /Applications/Halfnine.app/Contents/MacOS/halfnine mcpFor Claude Desktop, install Halfnine first, then open the .mcpb file from the same release to add it as an extension. It is also listed in the official MCP Registry as io.github.notinferred/halfnine.
Each connection sets what agents may do there, under Agents in its settings: Off, Read, Read with approved writes, or Full. Red-labelled connections start at Off and every other at Read. At Read with approved writes, an agent's change opens in Halfnine as staged rows or SQL and waits for your answer. Everything agents do is listed on the Agents page, where one switch pauses them all. What an agent reads goes to its AI provider.
With Docker databases on, an agent can make its own databases, or copy one before risky work. Those start at Full and are marked with the agent's name, and it gets their URL for programs it runs. It deletes one made for it without asking; deleting any other asks you. While backups are on, what an agent drops or empties is backed up first, and run_sql won't drop tables, schemas or databases.
Develop
You need Node 24 or later, pnpm (the version in package.json is fetched automatically), Rust through rustup (rust-toolchain.toml picks the version), and on macOS the Xcode Command Line Tools. With Homebrew, brew install rustup, then put /opt/homebrew/opt/rustup/bin on your PATH; Homebrew leaves it off.
Command | What it does |
| Installs the UI's dependencies |
| Opens the app, reloading the UI as you edit. The first run compiles the Rust side and takes a few minutes |
| Lints and checks formatting with Biome / applies its fixes |
| Checks the UI's types |
| Formats the Rust crates |
| Lints the Rust crates |
| Renders every app icon size from |
| Builds the installer for the machine it runs on |
| Builds the macOS and Windows installers and the Claude Desktop extension in GitHub Actions into a draft release, to check and publish. Publishing it lists that version in the MCP Registry |
| Runs the Rust tests. The Postgres tests skip themselves unless |
To check the app or run the Postgres tests on a Mac without a database, start a throwaway one in Docker. It deletes itself when stopped:
docker run -d --rm --name halfnine-check -e POSTGRES_PASSWORD=check -p 127.0.0.1:55432:5432 postgres:18
docker exec -i halfnine-check psql -U postgres -q < crates/pg/tests/fixture.sql
# connect the app to postgres://postgres:check@localhost:55432/postgres
# or: HN_TEST_DATABASE_URL=postgres://postgres:check@localhost:55432/postgres cargo test --workspace
docker stop halfnine-checkLayout
apps/desktop: the UI, in React and Vite. Design tokens are insrc/ui/tokens.css.crates/desktop: the Tauri app that hosts the UI, with its window, permissions and icons.crates/core,crates/pgandcrates/docker: the types every crate shares, the Postgres adapter, and the Docker engine adapter.docs/: architecture, decisions and brand.
License
Halfnine is source-available under the PolyForm Shield License 1.0.0. You may use it for any purpose, at work included, and change it, but not to sell it or to provide a product that competes with it. Copyright 2026 notInferred.
This server cannot be deployed
Maintenance
Related MCP Connectors
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Guard AI agents' PostgreSQL/MySQL access via MCP: SQL audit, auth, masking, write approval
Supabase-compatible Postgres for agents: projects, branches, SQL, auth, storage, email.
Postgres backend your coding agent builds over MCP; destructive actions wait for a person.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that gives an AI agent scoped, safe access to your Postgres databases with per-connection access control, row caps, timeouts, and defense-in-depth read-only enforcement.-
- AlicenseAqualityDmaintenanceAn MCP server that enables AI agents to securely interact with PostgreSQL databases with least-privilege scopes, PII masking, and human approval for writes.4MIT
- AlicenseAqualityDmaintenanceA Postgres MCP server that enables AI agents to safely access production databases through deny-by-default YAML policies, PII masking, row limits, and required predicates. It also provides DBA capabilities like index tuning, health checks, and EXPLAIN plans, with support for multiple databases.10MIT
- AlicenseNot gradedqualityBmaintenanceSafe-write Postgres MCP server enabling secure read and write access to PostgreSQL databases with role-based separation and allowlist controls, allowing agents to query and modify data without risk of unrecoverable accidents.60 npmMIT