Skip to content

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.

MCP serverbetaMIT

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

TypeQuestionAnswers
Yes / noDoes this row satisfy the condition (e.g. could work from home)?—
ChoiceWhich category does this row belong to? (jev_choice)—
ScoreWhere does this row fall on the scale? (jev_score)—

How it works

  1. Write SQL with jev(), jev_prob, jev_choice or jev_score
  2. Client parses the query and runs the plain SQL on Postgres
  3. Surviving rows are sent to Jev in batches
  4. 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-jev
  • Unofficial 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-models
  • Adds Jev semantic filtering, grouping, and ranking around ordinary PostgreSQL without installing a database extension.

    logicrw/awesome-jev-projects
  • Psql-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-jev
  • Semantic SQL for Postgres, powered by Jev.

    hellogumbo/awesome-jev
  • A 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 serverproductionGo
  • Unofficial hosted or local Jev MCP server giving agents a quick second opinion: it picks yes/no, scale or choice and returns probabilities.

    MCP serverbetaTypeScript
  • Rust CLI for Jev: ask yes/no, choice and rubric questions about text and branch on exit codes, JSON or MCP tools.

    MCP serverbetaRust
  • pip-installable Jev kit: a CLI for verify, screen, classify, extract, route and rerank, plus an MCP server for the primitives.

    MCP serverbetaPython
  • Agent Client Protocol agent that exposes Jev Choice, Score and Noul decisions in IDEs with guided input and probability displays.

    ProjectbetaTypeScript
  • Small dependency-free CLI and stdio MCP server for Jev's noul, choice and score judgments over text or JSON.

    MCP serverbetaPython