sortwell
MCP server and Claude Code plugin that files each captured note with one Jev request deciding kind, project, action and duplicates.
Overview
sortwell is 'an inbox with judgment'. You paste a note, link or meeting line, and it decides what kind of thing it is, which project it belongs to, whether it needs you, and whether you already have it, then files it with your text stored verbatim in append-only local files. Jev does the deciding and writes no text, so it cannot rewrite your notes. Four MCP tools are provided: capture, shortlist (today's few important things plus quiet projects), add_project and mark_done.
One request per capture asks four questions in parallel: kind (task, decision, project-update, reference, personal-follow-up or ignore), project, action (now, scheduled, read-later or none) and duplicate. Routing to a project needs 0.45 or the item stays in the inbox; marking a duplicate needs 0.70 and a specific matching item. In a live run on a seven-line standup, kind was right 6/6, a reworded duplicate was caught at 0.96, and captures took 424 ms. The README also reports an instructive eval: given the tools and a skill, the agent called capture zero times in four runs, so a SessionStart hook is what reliably triggers use.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | What kind of item is this? | task · decision · project-update · reference · personal-follow-up · ignore |
| Choice | Which project does it belong to? | — |
| Choice | What action does it need? | now · scheduled · read-later · none |
| Yes / no | Is this a duplicate of an existing item? | — |
How it works
- Capture a note via MCP or the hook
- One Jev request answers kind, project, action and duplicate
- Route to a project at 0.45+, mark duplicates at 0.70+ with a match
- Store text verbatim; shortlist ranks what matters today
Strengths
- Text is never rewritten
- Conservative thresholds avoid wrong homes
- Fast: 424 ms per capture in the README's run
Caveats
- Agents may not call MCP tools unprompted; use the hook
- Not on npm; clone to install
Getting started
git clone https://github.com/Dharundp6/jev-sortwell && npm install && npm run build, export TYPESAFE_API_KEY, then claude plugin marketplace add Dharundp6/jev-sortwell.At a glance
- Type
- Plugin
- Status
- prototype
- Language
- TypeScript
- Runtime
- MCP server + Claude Code plugin (Node 22+)
- Has code
- yes
- Has tests
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Personal inbox: MCP server and Claude Code plugin that files each captured note, link or meeting line with one Jev request of `Choice` questions for kind, project and next action plus a `Noul` for duplicates, routing to a project only at 0.45 or above and marking a duplicate only at 0.70 with a specific matching item, while the text itself is stored verbatim in append-only local files.
yibie/awesome-jev
Frequently asked questions
What does Jev decide?
Each item's kind, project, needed action and whether it duplicates something you already have.
Can it change my text?
No; text is stored verbatim and Jev cannot generate text.
Why a hook as well as MCP tools?
Its eval found agents did not call the tools on their own.
Related projects
Triage for DingTalk mail and chats where Jev sorts messages into needs-reply, updates, promo, sales or spam with attention flags.
ProjectbetaPythonDesktop dictation and meeting-notes app with optional Jev fast judgments for citation checks, history search and live meeting cues.
ModelproductionPythonIDE and browser extensions to find and install agent Skills and Subagents, with an opt-in Jev check when local detection can't decide.
Browser extensionproductionTypeScriptLocal-first meeting transcription and conversation memory app whose live voice path runs its evaluations through Jev.
AppbetaRustMIT plugin and local MCP server that hands an agent's closed questions to Jev or local Laya, with policy gates and receipts.
Agent skillproductionPythonLarge Claude Code plugin of skills, agents and hooks that can optionally ask Jev to classify a session's work category.
ProjectproductionTypeScript