The pairing is the point: an agent composes a statement, runs it inside a transaction that rolls back to see what it would do, and only then runs it for real. Examples and rules travel on the same connection, so the Gel it writes matches how Gel expects to be written.
A server for coding agents working against a Gel database. It runs queries against the instance configured in the current project, with arguments and globals, and offers the same query inside a transaction that is rolled back at the end so nothing is actually modified. It also serves Gel's own code examples and rules to the agent.
- A query run against the project's configured Gel instance, with arguments and globals supported
- The same query run in a transaction that gets rolled back, so a destructive statement can be checked before it counts
- Gel code examples for advanced workflows, such as configuring the AI extension
- Gel rules made reachable to the agent when they are not configured in the editor
A Gel project with an instance already configured — the server uses the current project's connection rather than a connection string you supply. uvx runs it from the repository against Python 3.13. Wiring is per-editor: .cursor/mcp.json, .mcp.json, .vscode/mcp.json, Windsurf's mcp_config.json, or .zed/settings.json.
One command — uvx --refresh --python 3.13 --directory . --from git+https://github.com/geldata/gel-mcp.git gel-mcp
