jev-mcp-dispatcher
Proof-of-concept MCP tool dispatcher that routes a natural-language command and extracts arguments using only Jev Choice and Noul.
Overview
jev-mcp-dispatcher is a proof of concept for MCP tool dispatch with no general-purpose LLM anywhere in the pipeline. Given a simple MCP server whose tools take primitive-typed parameters, it discovers tool signatures at runtime and uses Jev to route a plain-language command to the right tool and fill its arguments.
Tool selection is a Choice over every tool's name and description. Enum parameters are also a Choice. For other parameters, Jev answers one Noul per word asking whether that word belongs to the parameter's value, all in a single parallel request, and the yes words form the value. Values are always exact substrings of the command, never paraphrased. Jev also decides how many independent actions a command describes and whether a number is spelled out. The dispatcher hardcodes no tool or parameter names, and the README documents the scope limits on what commands and registries it can handle.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which tool does this command call? | — |
| Choice | Which enum value does this parameter take? | — |
| Yes / no | Does this word belong to this parameter's value? | yes · no |
How it works
- Discover tool signatures from the MCP server with list_tools
- Jev picks the tool as a Choice with a confidence
- For each parameter, pick enum values or highlight words with per-word Noul questions
- Assemble arguments as exact substrings and call the tool
Strengths
- No free-text generation, so arguments cannot be hallucinated
- Every step returns an inspectable probability
- Generic: no hardcoded tool or parameter names
Caveats
- Proof of concept limited to tools with primitive-typed parameters
- Scope and caveats section lists input shapes it cannot handle
- Requires a TypeSafe API key
At a glance
- Type
- MCP server
- Status
- prototype
- Language
- Python
- Runtime
- Script / MCP client
- Has code
- yes
Use cases and integrations
How curated lists describe it
Natural-language MCP tool dispatcher powered entirely by TypeSafe.
wh000wh000/awesome-jev-live
Frequently asked questions
How does it extract arguments without generating text?
It asks Jev a yes/no question per word about whether the word belongs to a parameter's value, and keeps the yes words as an exact substring.
Does it work with any MCP server?
No. It targets simple servers whose tools take primitive-typed parameters; the README lists the conditions.
Does it use an LLM at all?
No. Every decision is a Jev Choice or Noul question.
Related projects
- SkillRanker★ 134
Rust CLI that ranks which agent skills fit the next step from live session context with Jev, can abstain, and hooks into Claude Code.
CLIbetaRust Open-source Jev skills for Claude Code, Codex, Cursor and Grok: one client to gate, route, guard, verify, triage, review and act.
ProjectbetaTypeScriptLocal gateway and MCP tools that let Jev predict which tool a coding agent should call next, from suggestions to enforced choices.
MCP serverbetaTypeScriptFourteen opt-in Claude Code and Codex skills where Jev makes one bounded choice: which skill, model, test, file or next step.
ProjectbetaPythonToolkit where Jev condenses large MCP responses for Claude Code and maps Codex requests to reviewed, fixed repository operations.
ProjectbetaTypeScriptOmO/senpi agent plugin where Jev or Span-01 rates which skills and next tools fit the task and spots loops or completion.
Agent skillbetaTypeScript