原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。使用 Google 登录即可撰写评价。原型 · 每 30 分钟更新
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Kaval

作者:usekaval版本 0.8.2i★ 0i在你的电脑上运行
注册名称io.github.usekaval/kaval

安装方法

What it does

Verify the facts an agent's action depends on before it acts — ALLOW, REVIEW, or BLOCK.

  • Connects 在你的电脑上运行
  • Account or key Needs KAVAL_API_KEY
  • Category 其他

安装

选择你使用的 AI 应用,然后复制设置。

通过 3/3 项检查 · 在你的电脑上运行 · ✓ 命令已检查 2026年11月14日

第一步:你用哪个 AI?

选择你用的应用,步骤会显示在下方。

可连接 Claude,但需要先准备

需要 Kaval 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用

  1. 安装 Node.js

    只需一次,所有需要 Node.js 的服务器都能用

    打开 Node.js 下载页 ↗

  2. 注册并创建 Kaval 的密钥

    打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。

    打开 Kaval 网站 ↗

  3. 打开电脑版 Claude 应用的设置文件

    SettingsDeveloperEdit Config

  4. 粘贴这些设置并保存文件

    {
      "mcpServers": {
        "kaval": {
          "command": "npx",
          "args": [
            "-y",
            "@usekaval/mcp"
          ],
          "env": {
            "KAVAL_API_KEY": "your-value"
          }
        }
      }
    }

    只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人

  5. 退出 Claude 再重新打开

  6. 试一试

    用 Kaval 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Claude 说正在使用 Kaval,或回答中出现 Kaval 的工具名称,就表示连接成功

1 项可选设置(不填也能用)

上面的命令不填这些也能用。想调整时再按开发者的说明添加。

  • KAVAL_BASE_URL Point at a self-hosted or staging Kaval API instead of the hosted one. Defaults to https://api.usekaval.com.

说明仍为英文原文。

菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同

ChatGPT 暂时无法连接 Kaval

Kaval 需要安装在你的电脑上,而 ChatGPT 只能连接在网上运行的服务器

你可以改用这些方式

A · 使用能连接 Kaval 的应用

  • 需要 Kaval 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用
  • 需要 Kaval 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)
  • 需要 Kaval 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)
  • 需要 Kaval 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)

B · 其他 类中能连接 ChatGPT 的其他服务器

从同类中使用较多的里挑选,仅限用地址即可连接、无需密钥的

可连接 Claude Code,但需要先准备

需要 Kaval 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)

  1. 安装 Node.js

    只需一次,所有需要 Node.js 的服务器都能用

    打开 Node.js 下载页 ↗

  2. 注册并创建 Kaval 的密钥

    打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。

    打开 Kaval 网站 ↗

  3. 打开终端

    Mac:按 Command+空格,输入 Terminal · Windows:打开 PowerShell

  4. 粘贴这条命令并按 Enter

    claude mcp add --scope user kaval --env KAVAL_API_KEY=your-value -- npx -y @usekaval/mcp

    按 Enter 前,把“your-value”改成你的密钥

    只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人

  5. 在 Claude Code 中输入 /mcp

    应能看到 Kaval 在列表中并显示已连接

  6. 试一试

    用 Kaval 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Claude Code 说正在使用 Kaval,或回答中出现 Kaval 的工具名称,就表示连接成功

1 项可选设置(不填也能用)

上面的命令不填这些也能用。想调整时再按开发者的说明添加。

  • KAVAL_BASE_URL Point at a self-hosted or staging Kaval API instead of the hosted one. Defaults to https://api.usekaval.com.

说明仍为英文原文。

菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同

可连接 Cursor,但需要先准备

需要 Kaval 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)

  1. 安装 Node.js

    只需一次,所有需要 Node.js 的服务器都能用

    打开 Node.js 下载页 ↗

  2. 注册并创建 Kaval 的密钥

    打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。

    打开 Kaval 网站 ↗

  3. 点击这个按钮打开 Cursor

    在 Cursor 中打开

    Cursor 会请你确认安装,点击 Install

  4. 填写你的密钥

    在 Kaval 的设置中,KAVAL_API_KEY 还是空的,填入你的密钥并保存

    只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人

  5. 在 Cursor 中以 Agent 模式打开 AI 聊天

  6. 试一试

    用 Kaval 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Cursor 说正在使用 Kaval,或回答中出现 Kaval 的工具名称,就表示连接成功

1 项可选设置(不填也能用)

上面的命令不填这些也能用。想调整时再按开发者的说明添加。

  • KAVAL_BASE_URL Point at a self-hosted or staging Kaval API instead of the hosted one. Defaults to https://api.usekaval.com.

说明仍为英文原文。

菜单名称已于 2026年11月11日 对照 Cursor 帮助页面核实 · 你的界面可能因版本略有不同

可连接 VS Code,但需要先准备

需要 Kaval 的密钥(在开发者网站创建) · 需要先在电脑上安装 Node.js(只需一次)

  1. 安装 Node.js

    只需一次,所有需要 Node.js 的服务器都能用

    打开 Node.js 下载页 ↗

  2. 注册并创建 Kaval 的密钥

    打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。

    打开 Kaval 网站 ↗

  3. 点击这个按钮打开 VS Code

    在 VS Code 中打开

    VS Code 会请你确认安装,点击 Install

  4. 填写你的密钥

    在 Kaval 的设置中,KAVAL_API_KEY 还是空的,填入你的密钥并保存

    只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人

  5. 在 VS Code 中以 Agent 模式打开 AI 聊天

  6. 试一试

    用 Kaval 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 VS Code 说正在使用 Kaval,或回答中出现 Kaval 的工具名称,就表示连接成功

1 项可选设置(不填也能用)

上面的命令不填这些也能用。想调整时再按开发者的说明添加。

  • KAVAL_BASE_URL Point at a self-hosted or staging Kaval API instead of the hosted one. Defaults to https://api.usekaval.com.

说明仍为英文原文。

菜单名称已于 2026年11月11日 对照 VS Code 帮助页面核实 · 你的界面可能因版本略有不同

其他支持 MCP 的应用(如 Windsurf、Zed、Gemini CLI)添加方式各不相同,请在应用列表中查看

查看所有支持 MCP 的应用 →

JSON 设置在下方“开发者专用”中

卡住了?问问正在用 Kaval 的人💬 讨论 →
开发者专用:终端命令和 JSON 设置

安装在电脑上

Claude Code

claude mcp add --scope user kaval --env KAVAL_API_KEY=your-value -- npx -y @usekaval/mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "kaval": {
      "command": "npx",
      "args": [
        "-y",
        "@usekaval/mcp"
      ],
      "env": {
        "KAVAL_API_KEY": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "kaval": {
      "command": "npx",
      "args": [
        "-y",
        "@usekaval/mcp"
      ],
      "env": {
        "KAVAL_API_KEY": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "kaval": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@usekaval/mcp"
      ],
      "env": {
        "KAVAL_API_KEY": "your-value"
      }
    }
  }
}

需要你填写的值

  • KAVAL_API_KEY 机密 必填 env
    Bring-your-own Kaval bearer key (kv_live_…). Create one at https://usekaval.com.
  • KAVAL_BASE_URL env
    Point at a self-hosted or staging Kaval API instead of the hosted one. Defaults to https://api.usekaval.com.

说明仍为英文原文。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

一览

每周下载量i
77/周
许可证i
Apache-2.0
连接方式
在你的电脑上运行
最新版本i
0.8.2
分类i
其他
发布到注册中心i
2026年9月11日
代码最后更新i
2026年9月11日
作者
usekaval
软件包
npm: @usekaval/mcp
注册状态
活跃

哪些应用可以使用它

依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。

在你的电脑上运行,适用于

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

全部应用及其优缺点 →

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月14日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 usekaval 验证,该账户拥有此仓库

  • ✓ 通过

    仍在维护

    代码最后更新于2个月前

  • ✓ 通过

    有许可证

    使用 Apache-2.0

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

讨论

提问、分享技巧或报告无法使用。按“有帮助”数量排序。

还没有帖子,欢迎第一个提问或分享。

此处内容由用户撰写,不代表 PopNx 团队。

使用 Google 登录后发帖

用户评价

还没有评价

用 Google 登录后写评价

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 19785 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 19785 个服务器的 37% 更新
  • 基础检查结果等于或优于此分类中其他 19785 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Kaval 安全吗?

它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:KAVAL_API_KEY

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于2个月前,最新版本(0.8.2)于2个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:World Monitor, Claude Flow, Windmill

同类别的其他选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 99 tools.

作者:koala73广泛使用★ 9.1万今天更新

在云端运行✓ 服务方 · worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

作者:ruvnet广泛使用↓ 1.4万/周★ 8.2万14个月前更新

在你的电脑上运行

Windmill

Run Windmill scripts and flows and manage jobs, schedules, resources and variables.

作者:windmill-labs广泛使用★ 1.9万前天更新

在云端运行

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

@usekaval/mcp

Before an AI agent acts, Kaval verifies the facts that action depends on and answers ALLOW, REVIEW, or BLOCK with a signed receipt. This package exposes that as an MCP server.

Policy engines decide whether an action is permitted under the rules; Kaval verifies whether the facts those rules depend on are still true.

This package is a thin client over the hosted Kaval API. All compilation, grounding, and retrieval run server-side, so you bring just a Kaval API key — no model or search keys, no local engine.

0.6 was a breaking release. Nine tools became seven (before later portfolio/extraction tools landed), and everything removed folded into check; the

API answers 410 tool_retired for the old routes and this server translates that into an error

that tells the agent to call check. See Migrating from 0.5.

Run it

npx -y @usekaval/mcp

It speaks MCP over stdio. Point any MCP client at it.

Client config
{

"mcpServers": { "kaval": { "command": "npx", "args": ["-y", "@usekaval/mcp"], "env": { "KAVAL_API_KEY": "kv_live_…", }, }, }, }

Tools

ToolWhat it does
checkThe one that does the work. Send the action you are about to take (or the claims it rests on) → ALLOW / REVIEW / BLOCK, per-fact status, and a signed receipt.
get_receiptThe full signed document behind a check's receipt.id — per-fact evidence basis, decision-rule version, signing key. What an agent attaches when it blocks.
prepare_contract_uploadCreate a private PDF upload target.
ingest_contractQueue canonical text, an HTTPS document, or an uploaded PDF for extraction.
get_contractGet contract processing status, candidate counts, and extraction issue state.
list_contract_claimsList extracted candidates with exact evidence spans.
list_contract_extraction_issuesList deterministic extraction failures that need customer review.
review_contract_claimApprove, correct, or reject one candidate with immutable version control.
import_factsQueue up to 400 reviewed facts for warm checks.
get_fact_importGet one bulk import and every item result.
list_bulletinsSoft-deprecated — filter structured bulletins by payer, policy, code, date, or status. Prefer list_extraction_runs for new integrations.
get_bulletinSoft-deprecated — get one structured bulletin with field evidence. Prefer get_extraction_run.
list_bulletin_extraction_attemptsSoft-deprecated — list customer-readable bulletin extraction status and failures. Prefer list_extraction_runs.
get_bulletin_extraction_attemptSoft-deprecated — get one bulletin extraction attempt by source-version id. Prefer get_extraction_run.
list_training_jobsList read-only training and evaluation status.
get_training_jobGet one read-only training job.
list_training_feedbackList reviewed feedback and its effective training-use state.
record_training_feedback_consentRecord an explicit training-use decision for one reviewed feedback item.
create_extraction_schemaRegister a JSON Schema Kaval extracts structured records against. Requires policy-update:manage.
list_extraction_schemasList the extraction schemas registered in this workspace.
create_extraction_runRequest a one-off publisher + period extraction run against a bound schema. Requires policy-update:manage.
get_extraction_runGet one extraction run by id — status, schema, and result once it succeeds.
list_extraction_runsList extraction runs with publisher/period/time filters, cursor pagination, and nested document chrome (pass expand_document: false to omit).
list_extraction_packagesList the monthly PDF + manifest rollups extraction runs are packaged into.
list_publishersList org-owned publishers for this workspace's billing account.
create_publisherCreate an org-owned publisher (UUID identity; renameable display name).
get_publisherGet one org-owned publisher by UUID.
update_publisherRename an org-owned publisher. UUID identity is unchanged.
add_sourceTell Kaval what to watch — requires publisher_id (org publisher UUID). A URL, a named authority to resolve, or a document you will push in.
list_sourcesWhat Kaval currently watches for this workspace, including sources it auto-registered after a check cited them.
remove_sourceStop watching a source and forget it. The only thing that frees a registered/resolved workspace slot (auto-registered citations count there; discovered children use a separate per-parent ceiling).
update_sourceBind (or unbind) an extraction schema and/or set publisher_id on a watched source. Pass reprocess: true to fill-missing re-extract prior versions. Requires policy-update:manage.
get_source_version_contentFetch the captured content of one fetched source version, as raw text or pre-split sections.
report_outcomeReport what actually happened after a prior check (by receipt.id), so Kaval can calibrate.
verifyDeprecated pilot alias: one conclusion + explicit evidence_refs → a signed ProofPacket receipt. Use check.

Resources

The server publishes these JSON resources:

  • kaval://bulletins
  • kaval://bulletins/extraction-attempts
  • kaval://training-jobs
  • kaval://training-feedback
  • kaval://contracts/{contract_id}
  • kaval://contracts/{contract_id}/claims
  • kaval://contracts/{contract_id}/extraction-issues
  • kaval://bulletins/{source_version_id}
  • kaval://bulletins/extraction-attempts/{source_version_id}
  • kaval://fact-imports/{import_id}
  • kaval://training-jobs/{job_id}

The training resources are read-only. Feedback review and consent require training:manage.

Bulletin extraction status is read-only. MCP does not expose the operator requeue control.

MCP does not start training or promote a model.

check

// arguments

{ "action": "Approve this prior-authorization request at the in-network rate", "context": "payer: Aetna; CPT 12345; plan HMO", "materiality": "critical", }

Or skip extraction entirely by naming the facts:

{

"claims": [ { "subject": "Aetna", "predicate": "requires_prior_auth_for", "object": "CPT 12345", "scope": { "plan": "HMO", "state": "CA" }, }, "The 2024 IBC is the current edition", ], "mode": "fast", }

The response:

fieldmeaning

| decision | ALLOW — every material fact still holds on fresh evidence, proceed. REVIEW — something is unknown, mid-re-evaluation, or changed at low/medium materiality. REVIEW is never permission to act. BLOCK — a high/critical fact changed, or a critical fact is unknown. | | reason_codes | one or more of ALL_FACTS_HOLD, FACT_CHANGED, FACT_EXPIRED, FACT_UNKNOWN, SOURCE_UPDATED_PENDING_REVIEW, SOURCE_UNREACHABLE, NEW_FACT_UNVERIFIED, COMPILATION_UNCERTAIN | | facts[] | { fingerprint, text, status: holds \| changed \| unknown, materiality, served_from_state, last_verified_at, sources[] } — this is how you see _which_ belief moved | | receipt | { id, signature, signed_at }. Pass receipt.id to report_outcome, or to get_receipt for the full signed document

只显示了开头部分;其余内容请在仓库中阅读