Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallIn a small, author-reported test, one coding agent took between 143 and 513 seconds to tune the same slow PostgreSQL query across three MCP servers—and often did extra work along the way. It reran the query to get both timing and rows, created indexes even though a rewrite was enough, and used an expensive verification check. The authors then changed the tool response and made the permitted actions explicit; in three reported runs, the agent executed the slow query once, created no index, and finished in 124 to 179 seconds.
What the agent was asked to do
The task was deliberately short: “This query takes 34 seconds. Make it at least 10 times faster.” The query used a Formula 1 database and found the best lap for drivers of one nationality by using a correlated subquery to identify each driver’s minimum lap time.
As an Amazon Associate I earn from qualifying purchases.
The authors say they used the same agent—Claude Code on Claude Opus 5—the same data, query, and one-line instruction with Supabase, Neon, and Postgres MCP Pro. The database came from BIRD Mini-Dev, with the laptimes table expanded to 1.6 million rows. They wrapped each server in Baton to log what the agent was trying to do on each call and provide a way to report tool problems. These details and all results below are the authors’ account of this experiment, published September 30, 2026; they are not an independently audited benchmark.
What happened in the nine stock-server runs
The authors reported nine runs in total. Completion times ranged from 143 to 513 seconds, and the original slow query ran between one and four times per run. Seven of the nine runs created an index, although the authors say the query rewrite alone was sufficient.
#1 Best Overall
| Server | Run | Agent time | Original query executions | Index created |
|---|---|---|---|---|
| Supabase | 1 | 513 seconds | 4 | Yes |
| Supabase | 2 | 218 seconds | 3 | No |
| Supabase | 3 | 211 seconds | 1 | Yes |
| Neon | 1 | 309 seconds | 2 | Yes, 2 indexes |
| Neon | 2 | 290 seconds | 1 | No |
| Postgres MCP Pro | 1 | 159 seconds | 1 | Yes |
| Postgres MCP Pro | 2 | 224 seconds | 2 | Yes |
| Postgres MCP Pro | 3 | 196 seconds | 2 | Yes |
| Postgres MCP Pro | 4 | 143 seconds | 1 | Yes |
The table is useful for tracing what the agent did, not for ranking servers. There were only a few runs on one workload, and the authors did not establish that any server is generally faster or better than the others.
Why the agent did extra work
Timing and result rows came from separate executions
The authors say the agent commonly used EXPLAIN ANALYZE to get execution timing, then ran the query again to inspect result rows. The first execution could establish a baseline; subsequent calls to obtain information the tool could have returned together added work.
Rank #2
The task did not say whether indexes were allowed
Because the prompt did not rule out index changes, the agent treated creating an index as an acceptable option. The authors report that seven runs added one or more indexes, even though a rewrite was enough for the task. This was not simply a question of whether an index might help: the tool had not made the boundary between an allowed rewrite and a permitted database change explicit.
Verification reran a slow query too broadly
To check whether the rewrite returned equivalent results, the agent reportedly compared the original query across all 800 race drivers rather than limiting the check to the target nationality. In one 513-second session, that verification timed out twice and consumed 241 seconds. The authors say an index later let the check finish in 14 seconds, and the agent left that index in place.
Rank #3
Call logs alone showed which tools ran, but, in the authors’ account, did not explain why the agent chose them. Baton’s intent logging made the reasoning behind repeated executions and verification more visible. That is the authors’ interpretation of their instrumentation, not evidence that every agent or logging system will behave the same way.
What changed in the authors’ modified tool
The authors forked Postgres MCP Pro and added a tool named tune_query. It accepts flags stating whether query text may change and whether indexes may be added. The defaults described in the article allow query rewrites and disallow index creation.
Instead of requiring separate calls for timing and results, the tool runs the query once and returns its plan, timing, rows, and a hash of the full result. It also provides a statement for hashing a rewritten query’s result, so verification can compare hashes rather than rerun the original slow query. The response includes an instruction reflecting the selected permissions; one example is: “Rewrite only. Do not create indexes. Verify with verify_sql; do not re-run the original.”
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →In three reported runs with rewrites allowed and index creation disallowed, the agent finished in 124, 179, and 132 seconds. Each run executed the slow query once, created no index, and did not rerun the original for verification. That is a useful result for this setup, not proof of a general speed improvement: the sample is small, and the workload is just one query.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Tool limitations the experiment surfaced
A requested timeout was not accepted by Neon’s tool
During verification, the agent reportedly passed a timeout argument to Neon’s run_sql tool. Neon rejected the unknown argument, after which the agent ran without a cap. The author treated the interaction as a feature request revealed by the agent’s attempt. It describes the tested setup, not Neon’s current capabilities in every configuration.
Transaction wrapping affected maintenance statements
The article says Postgres MCP Pro wraps statements in a transaction and that PostgreSQL refuses VACUUM and CREATE INDEX CONCURRENTLY inside a transaction. The agent reportedly encountered this after creating an index and sent feedback. The authors say Supabase and Neon allowed those statements in their tested setup. These are version- and configuration-sensitive observations, not current compatibility guarantees.
Some refusals did not appear as session errors
The authors also report that the server’s session error rate remained at 0% despite refusals appearing in otherwise normal-looking responses. In this experiment, that gap helped motivate measuring the agent’s experience rather than relying only on a summary error metric. It does not establish how other servers’ error metrics behave.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsWhat this case study can—and cannot—show
The clearest lesson is about workflow design, not which MCP server wins. When a tool exposes timing without the baseline rows, an agent may need another execution to get them. When the task leaves permissions unstated, the agent may try database changes the user did not intend. And when equivalence checks rerun a slow query over a wider set than the task requires, verification itself can become a major cost.
The modified tool addressed those specific behaviors by returning baseline information together, stating what changes were allowed, and offering hash-based verification. The authors’ three follow-up runs show that those changes coincided with one baseline execution and no index creation each time. More queries, datasets, server configurations, and independent runs would be needed to know whether the approach generalizes.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




