jev-kit
This server provides Jev-based structured judgment, source/evidence gathering, skill routing, and review/verification tools for coding assistants, without executing edits or commands.
jev_prepare_work: build a task-specific, source-linked work packet with original materials, constraints, and acceptance criteria; unique task_id per task; zero inference when no labels/checks are supplied.jev_prepare_evidence: collect explicit authorized file excerpts or line ranges, optionally batch-classify or verify claims, return evidence with hashes; pinned collection uses no model.jev_code_brief: find ranked source candidates within an approved non-sensitive subdirectory, returning complete units, hashes, and coverage limits.jev_route_skills: recommend one skill from up to 19 complete candidate descriptions while preserving required skills and allowing no-match/uncertainty.jev_evaluate: perform typed atomic judgments (noul, choice, score) over supplied text or JSON.jev_coding_loop/jev_step/jev_tool_route: judge next step, retry/stop, or select among host-prepared authorized calls; never generate arguments or execute calls.jev_review/jev_gate: assess proposed diffs, and optionally verify completion claims together with the diff.jev_verify: check factual claims against supplied evidence while retaining uncertainty and unsupported claims.jev_screen: assess untrusted text before the agent reads it; not a security boundary.jev_rank: rank explicit candidate texts by relevance, up to 5000 candidates.Overall: tools are advisory and local-check oriented; the host remains responsible for editing, executing, testing, and acceptance.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jev-kitVerify the claim that the new API is backwards compatible"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Jev Coding Kit
新增:自动静默入口和Computer Use / 浏览器整合说明。浏览器已实测一次调用连续完成两次点击;桌面原生操作仍需兼容运行环境,不能用浏览器结果代替验收。
当前 main 新增 工作准备:jev_prepare_work 在主会话自行执行或派发子代理前,批量整理明确材料、检查前提,保留全部原文、约束和验收要求。每个不同任务有独立 task_id 和准备过程,即使读取相同文件也不套用其他任务的判断;仅同一任务从主控交给对应执行者时传递已有工作包。共 13 个工具;此能力尚未包含在 v0.4.2 发布包中。
当前 main 分支:workflow 模式会在每条符合条件的实质工作请求前给主控一条本地分流提醒,提醒本身零 Jev 模型调用;“继续”等简短续接仍需由主控的任务规则承接。0.4.2 的工作量对照中,8 条中文问题分类约 0.69 秒、8/8 符合预设答案,但源码声明核对仍有错误和大量待复核项。证据文本去掉重复字段,保留完整原文和判断;不据此宣称整项编程任务提速。
一个入口,把 Jev 结构化判断、源码定位简报、批量证据核对接入 Codex、Claude Code、Cursor、OpenCode、Pi 和 VS Code。仓库和技能标识保留 jev-codex-kit,方便现有用户升级。
编码助手可以先收集限定范围内的源码和日志,按需用 Jev 筛选、核对,再拿着完整材料、源码哈希和反证继续工作。它减少重复整理材料的机会;实际提速仍需针对任务测量。
下载最新版 · 各客户端安装与兼容性边界 · 参与贡献
你正常交代任务,Codex 按需选择工具;Jev 返回判断,Codex 负责编辑、执行和验收。 不接管模型路由,不要求每句话调用,不启动自主编程代理。尚未证明普遍提速或成本节省。
3 步开始
准备 Node.js 22+、ripgrep (rg)、自己的 TypeSafe API Key。自动注册 Codex 还需要 codex CLI 在 PATH 中。API 使用可能产生 TypeSafe 费用;本项目不提供共享 Key。
Windows:下载并解压后双击 setup.cmd,选择编码工具,填写项目路径和自己的 Key。 脚本安装依赖、构建、注册所选客户端并检查状态。macOS/Linux 在解压目录运行 sh setup.sh;macOS 也提供 setup.command,但 Finder 双击体验尚未实机验证。
下载 GitHub Release 的 ZIP 并解压,或克隆本仓库。在目录中打开终端。
安装和构建:
npm ci --ignore-scripts --no-audit --no-fund npm run build配置项目并注册客户端;把
codex换成claude、cursor、opencode、pi或vscode,逗号分隔可选多个:npm run setup -- --root "你的项目绝对路径" --client codex npm run doctor
安装向导在需要时隐藏输入 API Key。Windows 使用当前用户 DPAPI 加密保存;macOS/Linux 使用用户目录中的权限 0600 文件(不加密)。也可自行设置 TYPESAFE_API_KEY 环境变量,不保存密钥。设置了环境变量时,启动 Codex 的进程也必须继承它。配置和回执保存在 ~/.jev-codex-kit,不在源码仓库。
Codex 安装会添加名为 jev-kit 的 MCP、jev-codex-kit / jev-ui 两个技能和自动分工提示 hook;首次仍需 Codex 原生信任该 hook。其他服务和全局 AGENTS.md 保留。已有自定义自动目录和模式不会被默认替换;付费技能推荐仍可选 auto mode skills。保留安装目录,注册会引用其绝对路径。不要对同一判断同时调用旧 Jev 服务和这个工具包。
升级时在原安装目录更新代码、安装依赖并构建,然后运行 node bin/jev-kit.mjs setup --root "项目路径" --client codex --upgrade --no-key-prompt。会备份更新技能、刷新已选技能的哈希,保留凭据、历史判断和其他 hook。只升级 UI 技能可运行 ui install --upgrade,之后 auto refresh。
doctor 只做本地检查,不调用付费 API;READY 不代表模型服务或判断质量已验证。旧任务看不到工具时,可新建任务,或者使用下面的 CLI,不必打断其他正在运行的任务。
Related MCP server: Hoplon
在会话中使用
新增:jev_route_skills 可从明确的候选描述中推荐技能,保留必用技能和无匹配出口,不接管会话。也有离线技能目录命令。见 技能选择用法 和 8 个固定任务的首轮实测:本轮 Jev 8/8、简单关键词基线 6/8;这不是 Codex 编程速度或额度节省证明。
正常交代任务即可。首次可以告诉 Codex:
使用已安装的 jev-codex-kit 技能,按任务需要定位源码、整理证据或核对结论;你负责修改与真实测试。不要每步调用,不要重复判断。
需要做什么 | 工具 |
按明确任务在候选技能中选择 |
|
在授权子目录中寻找相关源码 |
|
收集明确文件/日志、核对证据 |
|
排序 / 验证声明 / 审查改动 |
|
同时审查改动和完成声明 |
|
选择已准备好的下一步 |
|
检查不可信文本 / 自定义原子判断 |
|
精确搜索、计算、已知文件读取直接用本地工具。auto、BRIEF_READY、EVIDENCE_READY 都不是测试通过或执行授权。保留不确定和反证,由宿主继续处理。
一个 CLI,也能在没有 MCP 的会话中用
node bin/jev-kit.mjs help
node bin/jev-kit.mjs call jev_prepare_evidence examples/evidence.json result.json
node bin/jev-kit.mjs call jev_code_brief examples/brief.json brief-result.json
node bin/jev-kit.mjs call jev_evaluate examples/evaluate.json judgment.json先把示例中的项目路径改成 setup 已授权的真实路径,源文件必须存在。输出文件必须是新路径,避免覆盖证据。pinned 且没有分类/检查的证据收集不调用模型;其他语义判断使用你自己的额度。两个源码工具回执包含源码片段,不能公开上传。
再次授权其他项目:npm run setup -- --root "另一个项目路径" --no-key-prompt。只授权需要的项目目录,不能授权磁盘根目录。自定义配置目录可设 JEV_KIT_HOME,MCP 启动时必须使用同一环境。
其他 MCP 客户端
运行 node bin/jev-kit.mjs config --client cursor 导出相应格式;也支持 claude、codex、opencode、vscode、windsurf 和 generic。Pi 使用原生扩展,安装后 /jev-status 检查连接且不调用模型。配置不包含密钥。WorkBuddy/ZCode 请按其当前 MCP 文档适配,不宣称具体版本已完成实测。详细路径、升级和卸载见 客户端说明。
具体限制
固定模型
jev-1.13.0,禁止单次覆盖。每次实际推理最多 20 个问题、24000 个序列化请求字符,代码拒绝超限和截断。SDK 可在截止时间内重试临时 HTTP 错误;工具包不会循环重做判断。源码简报仅在指定子目录本地发现候选,最多扫描 256 个文件、读取 2 MiB,单文件上限 256 KiB,最多返回 8 个候选。局部候选不等于完整仓库覆盖。
JS/TS/GDScript 支持完整选中单元,最长 4500 字符;2400 字符内可读完整小文件。Lua/Luau/Python 目前仅支持小文件整体读取;更大文件需宿主直接读取或选择明确证据片段。
证据工具接受明确文件、行范围或 GDScript 函数,最多 10 个材料、8 条核对项;单文件 2 MiB,合并请求仍受字符/问题上限限制。
无生成模型、无任意命令执行器、无 Foreman/JevLoop 自动接管。常见敏感字段检测不是安全沙箱;文件哈希是时点检查,不是文件锁。
开发与验证
npm run build
npm test测试包含真实本地文件、MCP stdio、CLI、路径限制、证据保留、错误/不确定状态,以及桩响应的语义流程测试;不需要 API Key,也不调用付费服务。离线测试不能证明线上判断准确率。构建脚本转译固定上游 TypeScript 模块,并非上游完整类型检查或全部测试套件。
发布验证与当前限制见 VALIDATION.md。本项目为社区整合,不是 TypeSafe 或 OpenAI 官方产品。
暂停自动推荐:node bin/jev-kit.mjs auto disable。完整卸载按客户端说明依次移除 owned hook、UI 技能、MCP 与编码技能,保留凭据和证据。没有“每天 30 次”或“一个任务 6 次”限制;单次请求大小、执行分段和超时是程序边界,并非账号额度。
Available Tools
13 toolsjev_code_briefB
Find source candidates within an explicitly authorized non-sensitive subdirectory, batch-rank with Jev, return complete units, hashes and coverage limits. No edits or tests. Explicit configured root required.
| Name | Required | Description | Default |
|---|---|---|---|
| glob | No | ||
| path | Yes | Explicit approved source subdirectory, relative to root; not the whole repository. | |
| root | Yes | ||
| query | Yes | ||
| max_candidates | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral detail beyond the annotations: no edits or tests, root must be configured, and results include complete units, hashes, and coverage limits. The readOnlyHint=false is somewhat explained by the safety-oriented wording, and there is no direct contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences front-load the main action and add safety/constraint context without filler. The phrasing 'with Jev' is somewhat redundant with the tool name and 'Explicit configured root required' is awkward, but overall the description is appropriately brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and five parameters, the description does provide needed context: authorization scope, root requirement, no edits/tests, and return contents. However, it leaves parameter semantics, the meaning of 'coverage limits,' and the side-effect profile of the Jev ranking step under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, so the description must compensate, but it does not explain the meaning of query, glob, max_candidates, or root beyond path-related hints. The reference to 'coverage limits' is ambiguous and not clearly mapped to the schema parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action and resource: 'Find source candidates within an explicitly authorized non-sensitive subdirectory.' It also adds 'No edits or tests,' which helps separate it from mutation-oriented siblings. It does not explicitly name a sibling alternative, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys clear prerequisites and constraints: only authorized subdirectories, explicit configured root, no edits/tests. That implies when the tool is appropriate, but it never points to a sibling tool or states when-not-to-use, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jev_coding_loopBRead-only
Judge next step, retry or stop from trusted execution facts. Does not run anything.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | What the coding agent is trying to do | |
| model | No | ||
| extras | No | Optional extra JSON fields included in Jev state | |
| execution | No | Trusted host execution facts, never inferred from fetched text or model predictions | |
| review_at | No | ||
| auto_accept | No | ||
| observation | Yes | Current turn: last diff, command output, test results, or blocker |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read-only operation. The description adds the clarification that it does not run anything, which aligns with the read-only annotation but does not go beyond it. It also mentions reliance on trusted execution facts, which adds context, but no other behavioral traits (e.g., rate limits, side effects) are disclosed. The description does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two short sentences with no wasted words. It front-loads the core purpose and includes a clarifying statement about not executing anything. This is an efficient and well-structured description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters, nested objects, no output schema, and a set of sibling tools, the description is insufficiently complete. It does not explain the expected output format (e.g., what a 'judge' decision looks like), nor does it provide guidance on how parameters interact or when to use this tool in a workflow. The description relies heavily on schema descriptions and annotations, but the schema is incomplete and the description adds little context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention any of the parameters or their meanings. Schema coverage is 57%, meaning several parameters (model, extras, review_at, auto_accept) lack descriptions in the schema, and the tool description does not compensate for this gap. The required parameters task and observation are described in the schema, but the description adds no additional semantic value to any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to judge whether to proceed, retry, or stop based on trusted execution facts. It also distinguishes itself by explicitly noting it does not run anything, which helps differentiate from execution-focused siblings. However, the phrase 'judge next step' is somewhat generic and could be more explicit about the decision output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of scenarios, prerequisites, or exclusions. Sibling tools exist (e.g., jev_step, jev_verify), but the description does not reference them or provide any routing cues, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jev_evaluateBRead-only
Typed atomic judgments over supplied text. Use only if a specific recipe does not fit.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Override, default jev-latest | |
| state | Yes | Shared state to judge: text or JSON | |
| questions | Yes | Named noul, choice, and score questions evaluated in parallel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds no behavioral details beyond that – no mention of evaluation process, parallelism, or side effects. It doesn't contradict annotations, but it contributes little extra value on top of them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The purpose is front-loaded, and the usage condition follows immediately. Every word earns its place; it's a model of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the nested question schema, the description is thin. It provides the crucial fallback guidance, but it doesn't explain what the tool returns (no output schema) or give examples of how to structure questions. The schema is self-descriptive, so it's adequate but not robust; an agent would need to rely heavily on the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with detailed descriptions for 'state', 'questions', and 'model'. The tool description adds no parameter-specific meaning, so the baseline of 3 applies – the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Typed atomic judgments over supplied text' – a verb and resource – but 'typed atomic' is domain jargon and doesn't clarify the three question types (noul, choice, score) that the schema defines. The fallback note 'Use only if a specific recipe does not fit' hints at differentiation from siblings, but the core purpose remains ambiguous without schema inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use only if a specific recipe does not fit', which clearly establishes the condition for use and implies alternatives (specific recipes). It doesn't name the sibling tools, but the sibling list provides enough context for an agent to infer which tools are the 'recipes'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jev_gateBRead-only
Review a diff and verify completion claims together. Auto is not runtime acceptance.
| Name | Required | Description | Default |
|---|---|---|---|
| diff | Yes | Proposed patch, file excerpt, or change summary to review | |
| model | No | ||
| tests | No | Test output for the patch review | |
| claims | Yes | Completion claims to check against evidence; at most 1000 per request | |
| request | Yes | What the user asked for; this is not evidence of completion | |
| evidence | Yes | Sources that support the claims; include relevant diff or test logs here | |
| review_at | No | ||
| auto_accept | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that the tool is read-only and non-destructive. The description adds one useful behavioral caveat: 'Auto is not runtime acceptance,' which suggests that auto_accept should not be treated as confirmation of runtime behavior. However, it does not explain what happens during review, how acceptance decisions are made, or what the tool does with review_at/auto_accept values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, with the primary purpose front-loaded in the first sentence and a short caveat in the second. There is no wasted text. However, the second sentence is cryptic enough that it may require the agent to infer what 'Auto' refers to, so it is not perfectly clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 parameters, 4 required, and no output schema, yet the description offers no information about return values, success criteria, or how evidence and claims are compared. It also leaves the purpose of review_at and auto_accept mostly unexplained. For a complex review/gating tool, this description is too minimal to be fully actionable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 63%, so the schema already documents most parameters. The description references 'diff' and 'claims' but adds little semantic detail beyond the schema. The line 'Auto is not runtime acceptance' hints at the meaning of auto_accept, which lacks a schema description, but this is too indirect and underdeveloped to raise the score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific action: review a diff and verify completion claims together. It names the core resource (diff) and the verification target (completion claims). However, it does not differentiate itself from sibling tools like jev_review or jev_verify, so it lacks explicit sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides almost no guidance on when to use this tool versus alternatives. It does not mention any exclusion criteria, prerequisites, or conditions under which another sibling tool should be preferred. The warning 'Auto is not runtime acceptance' is more of a behavioral caveat than actionable usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jev_prepare_evidenceA
Collect explicit authorized file excerpts, optionally batch-classify or verify claims, and return evidence with hashes. Pinned collection uses no model. No arbitrary commands or source edits.
| Name | Required | Description | Default |
|---|---|---|---|
| root | Yes | An approved local project root. Sources are relative to this root. | |
| task | Yes | Concrete purpose for selecting evidence; no broad instruction to solve an entire project. | |
| checks | No | Optional atomic claims/requirements checked only against their named source IDs. A requirement is not evidence of implementation. | |
| labels | No | Optional log/material categories. Server adds unknown; labels never authorize actions. | |
| sources | Yes | Explicit authorized text files, line ranges, or complete GDScript functions; no recursive indexing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavior beyond annotations by stating 'Pinned collection uses no model' and 'No arbitrary commands or source edits', clarifying model involvement and side-effect boundaries. It also mentions hash-returning behavior. Since annotations already provide safety hints, this additional context is sufficient without requiring auth or rate-limit details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with zero filler. The core function is front-loaded in the first sentence, followed by two tight constraint sentences about model usage and side effects. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose, optional behaviors, output concept (hashes), and key safety restrictions. The schema fully documents parameters, and no output schema exists to require further return-value explanation. It is sufficiently complete for an agent to invoke the tool correctly, though it could be more explicit about the exact shape of the returned evidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well documented by the schema. The description adds some high-level context like 'explicit authorized file excerpts' and 'evidence with hashes', but it does not meaningfully elaborate on root, task, checks, labels, or sources beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Collect explicit authorized file excerpts' and 'return evidence with hashes'. It conveys the tool's evidence-preparation role and distinguishes it from sibling tools by focusing on collection plus optional classification/verification, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but gives no explicit guidance on when to choose it over siblings like jev_verify or jev_review. 'Pinned collection uses no model' is a behavioral constraint, not a usage selector, and no exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jev_prepare_workA
Prepare one task-specific source-linked work packet for main-host execution or one subagent assignment. Each different task needs its own task_id and preparation, even with shared sources. Batch-group explicit materials and check supplied claims; preserve all originals, constraints and acceptance. No model selection, spawning or edits. No labels/checks means zero inference.
| Name | Required | Description | Default |
|---|---|---|---|
| root | Yes | An approved local project root. Sources are relative to this root. | |
| task | Yes | Concrete purpose for selecting evidence; no broad instruction to solve an entire project. | |
| checks | No | Optional atomic claims/requirements checked only against their named source IDs. A requirement is not evidence of implementation. | |
| labels | No | Optional log/material categories. Server adds unknown; labels never authorize actions. | |
| sources | Yes | Explicit authorized text files, line ranges, or complete GDScript functions; no recursive indexing. | |
| task_id | Yes | Unique work-package ID. Each distinct delegated task needs its own ID and preparation, even with shared source files. | |
| executor | No | main | |
| acceptance | No | ||
| constraints | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the annotations: it promises to 'preserve all originals, constraints and acceptance', states 'No model selection, spawning or edits', and explains that 'No labels/checks means zero inference'. These clarify side-effect boundaries. It does not cover auth, rate limits, or exact persistence semantics, so it is not a 5, but it adds genuine value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the core purpose, each sentence adding a distinct constraint (scope, task_id uniqueness, behavior, exclusions). No redundant or filler wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core workflow and important edge cases like zero inference, but it never describes the return value or what the prepared 'work packet' contains, and with no output schema an agent has to infer that. For a 9-parameter tool this is a noticeable gap, though the schema picks up a lot of slack.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already cover root, task, checks, labels, sources, and task_id (67% coverage). The description adds some extra semantics for labels/checks ('No labels/checks means zero inference') and mentions executor modes ('main-host execution or one subagent assignment') and preservation of constraints/acceptance. But it does not fully explain the semantics of executor, acceptance, and constraints, so it stays at the middle baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Prepare') and a concrete resource ('task-specific source-linked work packet'), scoped to 'main-host execution or one subagent assignment'. It also distinguishes from siblings by noting each task needs its own task_id and explicitly excludes model selection, spawning, and edits, so an agent can tell this apart from tools like jev_prepare_evidence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool (preparing a work packet for main or subagent, per distinct task_id) and hints at when not to use it ('No model selection, spawning or edits. No labels/checks means zero inference'). However, it never names an alternative tool for those excluded cases, so the guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jev_rankARead-only
Rank explicit candidates by relevance. Does not discover files.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| query | Yes | What you are looking for, in natural language | |
| top_k | No | How many ranked candidates to return. Default 5. | |
| candidates | Yes | Candidates with unique IDs. Large lists are ranked in batches that fit the context budget; at most 5000 candidates are accepted per request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool's safety profile is known. The description adds the behavioral constraint 'Does not discover files,' which clarifies its scope. However, it does not describe the return format, scoring details, or any side effects beyond what the annotations provide, so it adds moderate value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no fluff. The primary action is front-loaded, and the negative constraint follows naturally. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, and the description does not state what the tool returns (e.g., an ordered list of IDs, scores, or both). While the name and action imply a ranked list, an agent cannot be certain of the response shape, which could lead to incorrect handling of the output. The schema covers input constraints, but output behavior is left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides descriptions for 3 of 4 parameters (query, top_k, candidates) with 75% coverage. The description adds the term 'explicit' to clarify that candidates are user-supplied, but it does not add substantive details beyond the schema. The 'model' parameter remains undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Rank') on a specific resource ('explicit candidates') with a criterion ('by relevance'). It also draws a clear boundary with 'Does not discover files,' differentiating it from discovery-oriented sibling tools. This is enough to distinguish it from tools like jev_evaluate or jev_review.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the agent already has a list of candidates and needs them ordered by relevance, but it does not explicitly name alternatives or provide when-not conditions. The negative statement 'Does not discover files' hints at when not to use it, but it lacks explicit routing to sibling tools such as jev_route_skills or jev_tool_route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jev_reviewBRead-only
Assess a proposed diff. Advisory; actual tests and host review remain required.
| Name | Required | Description | Default |
|---|---|---|---|
| diff | Yes | Proposed patch, file excerpt, or change summary | |
| model | No | ||
| tests | No | Test output if any | |
| request | Yes | What the user asked for | |
| review_at | No | ||
| auto_accept | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the non-mutating nature is captured externally. The description adds value by noting the advisory nature and that tests/host review are still required, which tells the agent the output is not authoritative. It does not describe any additional side effects, output format, or behavior around optional parameters like auto_accept, but there is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tight sentence with two clauses: the core action and the critical advisory limitation. Every word earns its place, and the most important distinction ('Advisory') is front-loaded. There is no filler, repetition, or redundant schema echo.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, no output schema, and several similarly named sibling tools, the description is too thin. It does not explain what the review returns, how to interpret the advisory result, how auto_accept or review_at affect behavior, or when this tool is preferable to jev_evaluate or jev_verify. The core purpose is clear, but an agent would struggle to invoke it correctly in nuanced contexts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%, with descriptions only for diff, tests, and request. The tool description adds no parameter-level meaning whatsoever, leaving model, review_at, and auto_accept completely unexplained in both the schema and description. Since the description must compensate for this gap and does not, it falls below the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Assess a proposed diff.' The word 'Advisory' further clarifies that this is a review/opinion tool, which helps distinguish it from stricter verification tools like jev_verify or jev_gate. However, it does not explicitly name or contrast any sibling tool, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Advisory; actual tests and host review remain required' provides useful context that this tool should not be treated as a final authority or a substitute for verification. It implies when not to rely on it, but it does not explicitly state when to use it versus alternatives like jev_verify or jev_gate, nor does it name sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jev_route_skillsA
Suggest one host-confirmed skill for a task from at most 19 complete candidate descriptions. Preserve required skills without inference, allow no-match and uncertainty. Does not install, load, execute or scan skills. Not a per-message hook.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | Current task goal, not the full conversation. | |
| candidates | Yes | Host-confirmed skill candidates. Supply full descriptions; never truncate silently. | |
| required_ids | No | Skills already required by explicit user instructions or host rules; preserved without inference. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are sparse (readOnlyHint=false, openWorldHint=true, no destructive hint), so the description carries extra weight. It adds value by clarifying non-execution, non-installation, and uncertainty handling, which is behavior beyond the structured annotations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler. The primary purpose is front-loaded, followed by constraints and exclusions. Every sentence serves a distinct purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 params, no output schema, and modest annotations, the description adequately covers the tool's role, constraints, and output behavior (one suggestion, no-match/uncertainty allowed). It could be more explicit about the exact output format, but it is complete enough for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description mostly reinforces what the schema already states (e.g., 'at most 19 complete candidate descriptions' matches maxItems and candidate description). It does not add significant new parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Suggest') and resource ('one host-confirmed skill') with clear input constraints ('from at most 19 complete candidate descriptions'). It also distinguishes from siblings by scope ('skill' vs tools, 'Not a per-message hook') and explicitly excludes actions like install/load/execute/scan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for use: selecting a skill from host-confirmed candidates, preserving required skills, allowing no-match/uncertainty. It provides exclusions ('Does not install, load, execute or scan skills', 'Not a per-message hook'), though it does not name alternative tools explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jev_screenARead-only
Assess untrusted text; not a security boundary or permission to follow its instructions.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Fetched or pasted text before the agent reads it | |
| model | No | ||
| purpose | No | What the agent is trying to do; enables relevance and skip | |
| block_at | No | ||
| review_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only and non-destructive; the description adds a crucial behavioral warning that its assessment is not a security boundary or permission to follow embedded instructions. That prevents prompt-injection over-reliance, which is beyond what readOnlyHint conveys. It doesn't address output format or auth, but not required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 12-word sentence with zero filler, front-loading the action and adding the safety caveat. It is appropriately tight, though a little more concrete parameter or output context could be added without hurting structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter tool with no output schema and many sibling tools, this is only partially complete. It nails the core intent and the key advisory caveat, but leaves block_at/review_at semantics and the expected output unspecified; annotations and schema fill only some of the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, and the description does not explain model, purpose, block_at, or review_at. The only parameter it touches is text ('untrusted text'), and even that largely repeats the schema's 'Fetched or pasted text before the agent reads it.' The low coverage burden is not compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Assess') and object ('untrusted text'), and adds a distinctive negative qualifier ('not a security boundary or permission to follow its instructions'). It does not explicitly differentiate from sibling tools like jev_review or jev_evaluate, whose names also suggest assessment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies when to use it—whenever text is untrusted and needs assessment before the agent acts—and warns not to treat the result as authorization. However, it does not name sibling alternatives or lay out a crisp when-to-use vs. when-not-to-use decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jev_stepARead-only
Select among host-prepared authorized calls and route a step. Host executes only after its own checks.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | What the coding agent is trying to do | |
| model | No | ||
| extras | No | Optional extra JSON fields included in Jev state | |
| execution | No | Trusted host execution facts, never inferred from fetched text or model predictions | |
| review_at | No | ||
| candidates | No | Up to 32 host-prepared calls to choose from. Omit when none is prepared; ineligible candidates are filtered locally and never reach Jev. | |
| auto_accept | No | ||
| observation | Yes | Current turn: last diff, command output, test results, or blocker |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds that 'Host executes only after its own checks,' which clarifies that this tool is a router and does not perform the execution itself. This is valuable context beyond the readOnlyHint annotation, which only indicates no side effects. The description explains the host's role in the execution chain, giving the agent a clearer model of the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action ('Select among host-prepared authorized calls and route a step') and contains no filler or unnecessary words. It is appropriately concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity—8 parameters, nested objects, up to 32 candidates, and trusted host facts—the one-sentence description is severely insufficient. It does not explain the selection criteria, what 'route' means, how the candidates array should be interpreted, or what the tool returns. The agent must rely entirely on the schema and annotations, which is a significant gap for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 63%, so the schema already documents most parameters. The description does not add any parameter-specific information, which is acceptable given the coverage, but it also does not help resolve any ambiguity in the remaining undocumented parameters. The baseline of 3 is appropriate since the schema carries most of the weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Select among host-prepared authorized calls and route a step.' This is a specific verb+resource combination that distinguishes it from sibling tools like jev_review or jev_evaluate, which serve different purposes. The mention of 'host-prepared authorized calls' is unique and immediately clarifies the tool's role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the alternatives. It does not mention any conditions, exclusions, or alternative tools. An agent would have to infer from the tool name and schema that this is for choosing among prepared calls, but the description itself offers no routing logic or context for when this is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jev_tool_routeARead-only
Select from prepared calls; never generates arguments or executes calls.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | ||
| model | No | ||
| review_at | No | ||
| candidates | Yes | Up to 32 host-prepared calls. Empty or ineligible lists need no Jev request. Filter larger lists first. | |
| auto_accept | No | ||
| observation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply readOnlyHint=true and destructiveHint=false, so the description does not need to restate safety. It adds the non-obvious behavioral facts that this tool neither invents arguments nor executes calls, which prevents two common misuses and goes beyond the annotation layer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse clauses, front-loaded with the operative verb and followed by the two essential negative constraints. Every word earns its place; there is no filler or restatement of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a routing tool with six parameters and no output schema, the description establishes the tool's role but does not cover the required task and observation fields, the review_at/auto_accept controls, or what the selection result looks like. It is adequate for orientation but not complete for unambiguous invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 17% schema description coverage, the description needed to clarify the six parameters. It only clarifies the selection container ('prepared calls') and says arguments are never generated, leaving task, observation, model, review_at, and auto_accept without added meaning. The schema descriptions are left to carry too much weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific operation ('Select') and the exact object ('prepared calls'), and then draws a hard line with 'never generates arguments or executes calls.' This makes it immediately distinguishable from planning or execution tools, even without naming a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Select from prepared calls' implies the intended context: use when a host has already prepared candidate calls and a choice must be made. The negative clauses provide a clear boundary, but no explicit when/when-not conditions or sibling alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jev_verifyBRead-only
Check claims against supplied evidence, retaining uncertainty and unsupported claims.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| claims | Yes | Factual claims to check; at most 1000 per request | |
| evidence | Yes | Source text, or a list of {id, text} documents | |
| auto_accept | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and open-world hints; the description adds a meaningful behavioral trait beyond that: unsupported claims are retained and uncertainty is preserved. This helps the agent avoid expecting every claim to be definitively resolved or dropped, though it does not cover response format or other operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single terse sentence with no filler. The core action and the key behavioral caveat are front-loaded, so it is efficiently scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four parameters and no output schema, the description omits the result shape, the behavior of `auto_accept`, and guidance on model selection. Given the many sibling tools, the lack of return semantics and optional-parameter context makes the definition less than fully actionable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents the required `claims` and `evidence` parameters for roughly 50% coverage. The description names those same inputs but adds no extra meaning, and it leaves the optional `model` and `auto_accept` parameters completely unexplained, so an agent cannot confidently set them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Check') and names the resource ('claims against supplied evidence'), and it adds a distinguishing nuance by noting that uncertainty and unsupported claims are retained. It does not explicitly contrast with sibling tools like jev_evaluate or jev_review, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Check claims against supplied evidence' implies the intended context: use it when factual claims must be checked against source text or documents. It does not state when to avoid it or point to an alternative sibling, so the routing guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.4.2- Added
jev_prepare_work
12 tool updates
v0.3.0- First observed
jev_code_brief - First observed
jev_coding_loop - First observed
jev_evaluate - First observed
jev_gate - First observed
jev_prepare_evidence - First observed
jev_rank - First observed
jev_review - First observed
jev_route_skills - First observed
jev_screen - First observed
jev_step - First observed
jev_tool_route - First observed
jev_verify
TDQS
Scored across 13 tools
Several tools occupy overlapping 'select/judge without executing' territory (jev_step vs jev_tool_route vs jev_route_skills; jev_review vs jev_gate; jev_evaluate vs jev_verify). The caveats in the descriptions help, but the boundaries are subtle and an agent would need to read closely to avoid misselection.
All tools share the jev_ prefix and mostly follow a snake_case verb_noun pattern like jev_prepare_work and jev_route_skills. A few outliers such as jev_coding_loop, jev_tool_route, and jev_step break the verb-first pattern, but the naming is still predictable and readable.
13 tools is a reasonable size for a workflow-oriented kit and each tool has a distinct stage in the process. It is slightly heavy because some tools are narrowly scoped variants of similar actions, but none feel redundant enough to remove.
The tool surface covers preparation, routing, evaluation, review, verification, screening, ranking, gating, code brief generation, and evidence collection, which matches the stated host-advisory role. Execution is deliberately left to the host, so major workflows do not dead-end. Missing task/state management seems out of scope for this kit.
Maintenance
Related MCP Connectors
Persistent memory and cross-session learning for AI coding assistants (hosted remote MCP).
MCP-native web evidence and claim verification: cited, source-grounded evidence for AI agents.
Goal and task planning MCP for Codex and AI agents, with evidence-backed completion.
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to search code by meaning, explore codebase structure, store and query knowledge with temporal facts, and read source code through a set of MCP tools.267 npm7MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents and hosts to enforce deterministic repository boundaries via MCP, providing structured reads, supervised edits, snapshots, audits, and recovery with machine-readable evidence.MIT
- AlicenseNot gradedqualityAmaintenanceEnables coding agents to run project-specific checks, replays, simulations, and queries as MCP tools, providing ground-truth feedback on config edits instead of guessing.1MIT
- AlicenseNot gradedqualityAmaintenanceEnables proof-backed code audit via MCP tools for AST-based code maps, symbol lookup, callers, audit commands, and persistent verdict memory.MIT