jev-tool-router
Picks the MCP tool for Codex, instead of listing them all.
The router asks Jev which tool a step needs and passes that one on, so the agent’s context does not carry every tool definition it might use.
# Jev Tool Router
Jev-powered MCP tool routing for Codex.
Unofficial community project. Not affiliated with or endorsed by TypeSafe AI,
Vercel, or OpenAI.
Instead of exposing hundreds of external MCP tool schemas directly to the
agent, Jev Tool Router exposes a small routing surface and resolves external
tool discovery on demand.
The core flow is:
agent: "I need capability X"
|
v
jev_router/find_tool
|
v
Jev sees request + tool
names + descriptions
|
+-------+-------+
| |
>= threshold < threshold
| |
v v
one tool + schema full tool list
|
v
call tool
|
failure or mismatch
|
v
full discovery
Default selection threshold: 0.90.
## Why
Large MCP setups can expose hundreds of tool definitions to an agent even when
only one tool is relevant to the current task. This project moves external MCP
tool discovery behind a small router:
- find_tool
- get_tool_schema
- list_all_tools
- call_readonly_tool
- call_tool
- evaluate_work_with_jev
- router_status
The underlying tool inventory remains available. The router narrows discovery;
it does not permanently remove the fallback path.
## What Jev does
For routing, Jev receives:
- the capability the agent is looking for
- optional task context
- tool names
- tool descriptions
It does not receive every full input schema during routing.
Every routing choice includes none_of_the_above. A tool is selected only when
its probability reaches the configured threshold. Otherwise the router returns
the normal full routed-tool list.
If the inventory cannot