jevql
Semantic SQL for vanilla Postgres: jev() filters, jev_prob sorts and jev_choice groups are judged by Jev on rows after plain SQL runs.
Overview
jevQL adds a family of jev_* functions to ordinary PostgreSQL queries without any database extension, superuser or wire-protocol proxy. You write SQL such as WHERE jev(people, 'could work from home') ORDER BY jev_prob(...); the client rewrites the query so the database runs only plain SQL, then sends the surviving rows to Jev in batches for Noul, Choice or Score judgments and applies the filter, sort or grouping itself.
It is available as a psql-shaped CLI and REPL, a shared HTTP and MCP node, and Go, TypeScript and Python SDKs. An --explain flag prints the plan and a cost estimate without API calls, and statements without jev_* pass straight through. On first run it asks for a database URL and key and can save them to a mode-0600 config file. Example queries include finding meetings that could have been an email. It is unofficial and aimed at developers and analysts who want semantic filtering over existing tables.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this row satisfy the condition (e.g. could work from home)? | — |
| Choice | Which category does this row belong to? (jev_choice) | — |
| Score | Where does this row fall on the scale? (jev_score) | — |
How it works
- Write SQL with jev(), jev_prob, jev_choice or jev_score
- Client parses the query and runs the plain SQL on Postgres
- Surviving rows are sent to Jev in batches
- Client applies the semantic filter, sort or grouping and returns results
Strengths
- No database extension or proxy needed
- --explain shows cost before any API call
- CLI, MCP node and SDKs in three languages
- Plain SQL passes through unchanged
Caveats
- Row contents are sent to the hosted Jev API
- Semantic filters run after SQL, so large result sets cost more
- Building from source needs CGO
Getting started
brew install kylemclaren/tap/jevql, export TYPESAFE_API_KEY and DATABASE_URL, then jevql -c "SELECT * FROM people WHERE jev(people, 'could work from home')".At a glance
- Type
- MCP server
- Status
- beta
- Language
- Go
- Runtime
- CLI, MCP server, Go/TypeScript/Python SDKs
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Data tooling: psql-shaped CLI and Go/TypeScript/Python SDKs that run plain SQL on a vanilla Postgres (no extension) and then ask Jev Noul, Choice, or Score questions about each surviving row so the client can apply `jev()` filters, `jev_prob` sorts, and `jev_choice` groups.
yibie/awesome-jevUnofficial psql-shaped CLI and Go/TypeScript/Python SDKs for vanilla Postgres: `jev()` / `jev_prob` / `jev_choice` / `jev_score` in plain SQL with no extension, the SQL runs on the server and Jev judges the surviving rows in batches
AnotiaWang/awesome-decision-modelsAdds Jev semantic filtering, grouping, and ranking around ordinary PostgreSQL without installing a database extension.
logicrw/awesome-jev-projectsPsql-shaped client and Go/TypeScript/Python SDKs for vanilla PostgreSQL where Jev makes Noul, Choice, and Score judgements about individual table rows after the plain SQL has run on the server, and the client applies the resulting filter, sort, or group.
cobanov/awesome-jevSemantic SQL for Postgres, powered by Jev.
hellogumbo/awesome-jevA psql-shaped CLI and Go/TypeScript/Python SDKs that add `jev()`, `jev_prob`, `jev_choice`, and `jev_score` to queries against a vanilla Postgres with no extension. The SQL runs on the server and Jev judges the surviving rows in batches.
MrJev/awesome-jev
Frequently asked questions
Do I need to install anything in Postgres?
No. The database only sees ordinary SQL; jev_* calls are evaluated by the client.
How do I estimate cost?
Run with --explain to see the plan and a cost estimate without API calls.
Can agents use it?
Yes, through the shared HTTP and MCP node.
Related projects
Go MCP server giving any client typed Jev decisions via OpenRouter or TypeSafe, with validated answers and no paid retries.
MCP serverproductionGoUnofficial hosted or local Jev MCP server giving agents a quick second opinion: it picks yes/no, scale or choice and returns probabilities.
MCP serverbetaTypeScriptRust CLI for Jev: ask yes/no, choice and rubric questions about text and branch on exit codes, JSON or MCP tools.
MCP serverbetaRustpip-installable Jev kit: a CLI for verify, screen, classify, extract, route and rerank, plus an MCP server for the primitives.
MCP serverbetaPythonAgent Client Protocol agent that exposes Jev Choice, Score and Noul decisions in IDEs with guided input and probability displays.
ProjectbetaTypeScriptSmall dependency-free CLI and stdio MCP server for Jev's noul, choice and score judgments over text or JSON.
MCP serverbetaPython