
Every text-to-SQL tool trusts the model to generate query. I built the opposite.
LLMs shouldn't be writing your database queries.
That's the problem I've been trying to solve with QueryForge.
Instead of:
User → LLM → SQL/Mongo query → Database
QueryForge puts a structured layer in between:
User → LLM → QueryForge → validated query → Database
The idea is to separate understanding intent from actually constructing database queries.
Since my last post, QueryForge has grown quite a bit:
- Java support
- Python support
- Go support
- MCP support
- MongoDB + MySQL + Postgres
- Structured query AST
- Query validation
- Explicit error handling instead of silent failures
The MCP part is probably the most interesting addition for me.
It means QueryForge can sit between an AI agent and the database as a structured query layer rather than letting the agent directly generate database-specific syntax.
Curious: would you put a typed/validated query layer between an LLM and your database?
Docs & Example : https://queryforge-service.amtry.in