execute_queryLABSCO SUMMARY
A dry run before the query that would have hurt.
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.
What it is
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.
What you get
- 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
Requirements
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.
Setup effort
One command — uvx --refresh --python 3.13 --directory . --from git+https://github.com/geldata/gel-mcp.git gel-mcp
USE CASES
Checking a destructive query before it lands
Run it in a transaction that rolls back at the end, and read what it would have changed.
Answering a question against real data
Query the project's configured instance with arguments and globals, rather than approximating from the schema.
Writing Gel the way Gel expects
Pull the rules into the session when they are not configured in the editor, so generated code follows them.
Getting an advanced feature right first time
Read the worked examples — configuring the AI extension, for instance — instead of assembling it from the docs.
6 tools
Listed in project docs. Your client may show a different list.
try_querylist_examplesfetch_examplelist_rulesfetch_ruleBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Requires
uvx on PATH
Where it runs
All 5 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
uvx --refresh --python 3.13 --directory . --from git+https://github.com/geldata/gel-mcp.git gel-mcpMCP Clients
Cursor, Claude Code, Windsurf
{
"mcpServers": {
"gel": {
"command": "uvx",
"args": [
"--refresh",
"--python",
"3.13",
"--directory",
".",
"--from",
"git+https://github.com/geldata/gel-mcp.git",
"gel-mcp"
]
}
}
}VS Code
{
"servers": {
"gel": {
"type": "stdio",
"command": "uvx",
"args": [
"--refresh",
"--python",
"3.13",
"--directory",
".",
"--from",
"git+https://github.com/geldata/gel-mcp.git",
"gel-mcp"
]
}
}
}Zed
{
"context_servers": {
"gel": {
"source": "custom",
"command": {
"path": "uvx",
"args": [
"--refresh",
"--python",
"3.13",
"--directory",
".",
"--from",
"git+https://github.com/geldata/gel-mcp.git",
"gel-mcp"
],
"env": {}
}
}
}
}