SuperAPI AI 工具集

jev-decision-mcp

jev-decision-mcp 是一个本地 stdio MCP 服务器,通过官方 TypeSafe API 暴露单一工具 jev_decide,用于进行类型化决策。它基于 TypeScript 编写,使用官方 MCP 和 TypeSafe SDK。该项目是一个独立的社区项目,与 TypeSafe 无隶属关系,采用 MIT 许可。用户可在一次调用中批量提交基于相同上下文的独立问题,答案会保留问题 ID。MCP 返回判断结果和 token 使用量,而阈值、升级处理和动作执行由调用方负责。使用前需要 Node.js 22 或更高版本、支持本地 stdio 服务器的 MCP 客户端,以及来自 TypeSafe Console 的官方 API 密钥(不支持 OpenRouter 和第三方网关密钥)。可通过 npm 安装并使用 npx 运行,也可全局安装,或从源码构建。该工具支持与 Codex 集成,需在 config.toml 中配置并设置 TYPESAFE_API_KEY 环境变量。调用 jev_decide 时需传入包含上下文、问题、指令等信息的 JSON,响应包含模型、答案和用量信息,以 MCP 结构化内容和 JSON 文本形式返回。

访问官网

工具介绍

用途

jev-decision-mcp 是一个本地 stdio MCP 服务器,通过官方 TypeSafe API 暴露单一工具 jev_decide,用于进行类型化决策(typed decisions)。它面向需要批量处理独立判断问题的场景,例如分类、评分、是/否概率判断等。该项目由 amidabuddha 开发,是独立的社区项目,与 TypeSafe 无隶属关系,采用 MIT 许可。

主要能力

  • 在单次调用中批量提交基于相同上下文的独立问题,答案保留各自的问题 ID。
  • 支持多种决策类型:分类选择(choice)、是/否判断(noul)、评分(rubric scores)等。
  • 返回模型、答案(answers)以及 token 使用量(usage),既作为 MCP 结构化内容,也作为 JSON 文本返回。
  • 调用方保留对阈值、升级和动作执行的控制权。
  • 项目附带示例文件 examples/decision.json,展示如何组合团队选择、退款是/否判断和紧急度评分。

使用方式

环境要求

  • Node.js 22 或更高版本,且 npm 在 PATH 中可用。
  • 支持本地 stdio 服务器的 MCP 客户端。
  • 来自 TypeSafe Console 的 API 密钥,必须使用官方 TypeSafe 密钥,不支持 OpenRouter 和第三方网关密钥。

通过 npm 安装

npm 包包含构建好的服务器。首次使用时 npx 会下载并运行,无需克隆或构建。在 MCP 客户端配置中添加相应配置,并将 YOUR_TYPESAFE_API_KEY 替换为你的密钥。对于使用 mcpServers JSON 的客户端,配置方式如下(具体 JSON 结构请参考官方文档)。也可在启动客户端的环境中设置 TYPESAFE_API_KEY,并省略 env 配置(前提是客户端会转发该变量)。保存配置后重启或重新加载客户端的 MCP 服务器,工具将显示为 jev_decide。

若主机无法解析 npx,请使用该主机平台特定的启动器或绝对路径。GUI 应用的 PATH 可能与终端不同。

服务器通过 stdio 通信;在终端启动它会等待 MCP 客户端连接,而不会打开网页。npm 安装不会读取调用方工作目录中的 .env 文件。

如需全局安装可执行文件,可使用 npm install -g 命令(具体命令请参考官方文档),然后在 MCP 客户端中使用 "command": "jev-decision-mcp" 且不带参数,并提供相同的 API 密钥。

通过 Glama 安装

在 Glama 上打开 Jev Decision MCP 可查看其 README、工具架构和源码。本地安装请使用上述 npm 配置,或按照 listing 中的 GitHub Repository 链接下载或克隆源码并自行构建。Glama 将其列为本地 stdio 服务器;listing URL 不是 MCP 连接端点。

连接到 Codex

对于 npm 包,将相应配置合并到 Codex 的 config.toml 中。在启动 Codex 的环境中设置 TYPESAFE_API_KEY;env_vars 会将现有值转发给服务器。保持主机工具超时长于 JEV_TIMEOUT_MS / 1000。详见官方 Codex MCP 配置文档。

从源码构建

  1. 克隆仓库,安装依赖并编译服务器。
  2. 也可在 GitHub 使用 Code → Download ZIP 下载仓库,解压后在目录中运行 npm ci 和 npm run build。
  3. 在该目录中将 .env.example 复制为 .env 并设置 TYPESAFE_API_KEY,或通过 MCP 客户端的环��提供密钥。源码构建会读取该 .env,无论工作目录如何;现有环境变量优先。更改后需重启服务器。.env 被排除在 Git 之外。
  4. 配置 MCP 客户端运行构建后的入口点。将占位符替换为检出目录的绝对路径。Windows 路径可使用正斜杠,例如 C:/projects/jev-decision-mcp/dist/index.js。如果 node 不在客户端的 PATH 中,请使用 Node 可执行文件的绝对路径。
  5. 对于 Codex,使用上述 TOML 示例中的相同命令和参数。仅当通过 Codex 环境而非 .env 提供密钥时才保留 env_vars。
  6. 要验证构建,运行 npm run check(类型检查和模拟 API 响应的测试;不调用 TypeSafe)。使用 npm run dev 进行本地开发,源代码更改后重新构建使用 npm run build,再重启 MCP 客户端。

环境变量

在 MCP 客户端的服务器环境中设置以下变量,或在源码构建的 .env 中设置。保持客户端工具超时长于 JEV_TIMEOUT_MS / 1000 秒。jev-latest 跟随 TypeSafe 模型更新;如需可重复的评估,请设置特定的受支持模型版本。

服务器在没有密钥的情况下也能启动,以便客户端发现工具,但决策调用将返回 MISSING_API_KEY。状态和问题会发送到官方 TypeSafe API,可能产生 API 费用。TYPESAFE_BASE_URL 不会覆盖 API 端点。服务器不会持久化输入或决策,也不会暴露上游错误响应体。

调用示例

使用 examples/decision.json 中的 JSON 调用 jev_decide。它组合了团队选择、退款是/否判断和紧急度评分。更小的示例如下(具体 JSON 结构请参考官方文档)。

响应包含 model、answers 和 usage,既作为 MCP 结构化内容也作为 JSON 文本。Jev 可能将概率四舍五入到两位小数,因此它们的和可能略微偏离 1。服务器允许相应的舍入误差(每个选项最多 0.005),并保留返回的值而不进行归一化。Choice 支持 1–255 个命名选项。Instructions 和 descriptions 可以是字符串、JSON 对象或数组;choice 的 descriptions 也可以为 null。Noul 接受可选的 criteria.true 和 criteria.false 描述。

重要注意事项

  • 请明确提供相关事实、源文本和策略:Jev 无法看到调用方的对话或本地文件。在 instructions 中编写完整的判断;ID 仅用作响应键。适当时包含一个无匹配选项。同一批次中的问题无法看到彼此的答案。
  • noul 接近 0.5 表示对是/否的不确定性,而非中等强度。
  • 置信度不授权任何操作,也不保证正确性;请在代表性数据上评估阈值。

故障排除

如果更新后工具未出现,请重启服务器并打开新的客户端会话。配置的服务器命名为 jev;其工具为 jev_decide。

服务/配置故障是 MCP 工具错误(isError: true),绝不会是编造的决策。错误代码包括 MISSING_API_KEY、INVALID_INPUT、INVALID_RESPONSE、API_ERROR、CONNECTION_ERROR、TIMEOUT 和 CANCELLED。无效参数也可能直接被 MCP SDK 拒绝。

适用场景与限制

适用于需要通过 TypeSafe API 进行批量类型化决策的开发者,尤其是使用 MCP 客户端的场景。限制包括:需要官方 TypeSafe API 密钥,决策调用可能产生费用,服务器不持久化数据,且不提供 Web 界面。