World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.
Human approval for AI agents: a named person approves or rejects, silence is not consent.
选择你使用的 AI 应用,然后复制设置。
通过 3/3 项检查 · 在你的电脑上运行 · ✓ 命令已检查 2026年11月13日
第一步:你用哪个 AI?
选择你用的应用,步骤会显示在下方。
可连接 Claude,但需要先准备
需要 Raposa Aval — human approval 的密钥(在开发者网站创建) · 需要先在电脑上安装 Python (uv)(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用
把这段话复制到 Claude 的对话里。AI 会先检查电脑,告诉你要改哪个文件,并且每次都等你同意。
请在这台电脑上为 Claude 安装 MCP server Raposa Aval — human approval,按顺序:1) 用 uv --version 检查是否有 uv。没有的话,请让我从 https://docs.astral.sh/uv/getting-started/installation/ 安装,不要自己安装。2) 只使用这份配置(已通过 PopNx MCP 检查):{ "mcpServers": { "raposa": { "command": "uvx", "args": [ "raposa-mcp" ], "env": { "RAPOSA_API_KEY": "your-value" } } } } 3) 告诉我要修改的文件完整路径或要运行的命令,等我同意。4) RAPOSA_API_KEY 先保留 "your-value",请我自己把真实值粘贴到文件或应用的输入框里。不要让我在对话里输入密钥。5) 按约定执行,然后确认 Raposa Aval — human approval 的工具真的出现了。这段话不包含你的密钥。如果需要密钥,AI 会请你自己粘贴到文件或应用的输入框里。
已经装好了吗?先检查 · 打开终端,输入这条命令后按 Enter
uv --versionMac:按 ⌘ + Space,输入 Terminal 后按 Enter
Windows:打开“开始”菜单,输入 Windows PowerShell,然后选“打开”
还没安装: uv 没有点选式安装程序。从 uv 官方页面复制适合你系统(macOS 或 Windows)的一行命令,粘贴到终端 · 不需要单独安装 Python,uv 会在需要时自动下载
装好后关掉终端再打开,重新运行同一条命令,应显示版本号: uv --version
安装一次,所有需要 uv 的工具都能用
打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。
SettingsDeveloperEdit Config
{
"mcpServers": {
"raposa": {
"command": "uvx",
"args": [
"raposa-mcp"
],
"env": {
"RAPOSA_API_KEY": "your-value"
}
}
}
}只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人
用 Raposa Aval — human approval 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude 说正在使用 Raposa Aval — human approval,或回答中出现 Raposa Aval — human approval 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
ChatGPT 暂时无法连接 Raposa Aval — human approval
Raposa Aval — human approval 需要安装在你的电脑上,而 ChatGPT 只能连接在网上运行的服务器
A · 使用能连接 Raposa Aval — human approval 的应用
B · 其他 类中能连接 ChatGPT 的其他服务器
从同类中使用较多的里挑选,仅限用地址即可连接、无需密钥的
可连接 Claude Code,但需要先准备
需要 Raposa Aval — human approval 的密钥(在开发者网站创建) · 需要先在电脑上安装 Python (uv)(只需一次)
把这段话复制到 Claude Code 的对话里。AI 会先检查电脑,告诉你要改哪个文件,并且每次都等你同意。
请在这台电脑上为 Claude Code 安装 MCP server Raposa Aval — human approval,按顺序:1) 用 uv --version 检查是否有 uv。没有的话,请让我从 https://docs.astral.sh/uv/getting-started/installation/ 安装,不要自己安装。2) 只使用这份配置(已通过 PopNx MCP 检查):claude mcp add --scope user raposa --env RAPOSA_API_KEY=your-value -- uvx raposa-mcp 3) 告诉我要修改的文件完整路径或要运行的命令,等我同意。4) RAPOSA_API_KEY 先保留 "your-value",请我自己把真实值粘贴到文件或应用的输入框里。不要让我在对话里输入密钥。5) 按约定执行,然后确认 Raposa Aval — human approval 的工具真的出现了。这段话不包含你的密钥。如果需要密钥,AI 会请你自己粘贴到文件或应用的输入框里。
已经装好了吗?先检查 · 打开终端,输入这条命令后按 Enter
uv --versionMac:按 ⌘ + Space,输入 Terminal 后按 Enter
Windows:打开“开始”菜单,输入 Windows PowerShell,然后选“打开”
还没安装: uv 没有点选式安装程序。从 uv 官方页面复制适合你系统(macOS 或 Windows)的一行命令,粘贴到终端 · 不需要单独安装 Python,uv 会在需要时自动下载
装好后关掉终端再打开,重新运行同一条命令,应显示版本号: uv --version
安装一次,所有需要 uv 的工具都能用
打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。
Mac:按 Command+空格,输入 Terminal · Windows:打开 PowerShell
claude mcp add --scope user raposa --env RAPOSA_API_KEY=your-value -- uvx raposa-mcp按 Enter 前,把“your-value”改成你的密钥
只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人
应能看到 Raposa Aval — human approval 在列表中并显示已连接
用 Raposa Aval — human approval 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude Code 说正在使用 Raposa Aval — human approval,或回答中出现 Raposa Aval — human approval 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
可连接 Cursor,但需要先准备
需要 Raposa Aval — human approval 的密钥(在开发者网站创建) · 需要先在电脑上安装 Python (uv)(只需一次)
把这段话复制到 Cursor 的对话里。AI 会先检查电脑,告诉你要改哪个文件,并且每次都等你同意。
请在这台电脑上为 Cursor 安装 MCP server Raposa Aval — human approval,按顺序:1) 用 uv --version 检查是否有 uv。没有的话,请让我从 https://docs.astral.sh/uv/getting-started/installation/ 安装,不要自己安装。2) 只使用这份配置(已通过 PopNx MCP 检查):{ "mcpServers": { "raposa": { "command": "uvx", "args": [ "raposa-mcp" ], "env": { "RAPOSA_API_KEY": "your-value" } } } } 3) 告诉我要修改的文件完整路径或要运行的命令,等我同意。4) RAPOSA_API_KEY 先保留 "your-value",请我自己把真实值粘贴到文件或应用的输入框里。不要让我在对话里输入密钥。5) 按约定执行,然后确认 Raposa Aval — human approval 的工具真的出现了。这段话不包含你的密钥。如果需要密钥,AI 会请你自己粘贴到文件或应用的输入框里。
已经装好了吗?先检查 · 打开终端,输入这条命令后按 Enter
uv --versionMac:按 ⌘ + Space,输入 Terminal 后按 Enter
Windows:打开“开始”菜单,输入 Windows PowerShell,然后选“打开”
还没安装: uv 没有点选式安装程序。从 uv 官方页面复制适合你系统(macOS 或 Windows)的一行命令,粘贴到终端 · 不需要单独安装 Python,uv 会在需要时自动下载
装好后关掉终端再打开,重新运行同一条命令,应显示版本号: uv --version
安装一次,所有需要 uv 的工具都能用
打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。
在 Raposa Aval — human approval 的设置中,RAPOSA_API_KEY 还是空的,填入你的密钥并保存
只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人
用 Raposa Aval — human approval 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Cursor 说正在使用 Raposa Aval — human approval,或回答中出现 Raposa Aval — human approval 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Cursor 帮助页面核实 · 你的界面可能因版本略有不同
可连接 VS Code,但需要先准备
需要 Raposa Aval — human approval 的密钥(在开发者网站创建) · 需要先在电脑上安装 Python (uv)(只需一次)
把这段话复制到 VS Code 的对话里。AI 会先检查电脑,告诉你要改哪个文件,并且每次都等你同意。
请在这台电脑上为 VS Code 安装 MCP server Raposa Aval — human approval,按顺序:1) 用 uv --version 检查是否有 uv。没有的话,请让我从 https://docs.astral.sh/uv/getting-started/installation/ 安装,不要自己安装。2) 只使用这份配置(已通过 PopNx MCP 检查):{ "servers": { "raposa": { "type": "stdio", "command": "uvx", "args": [ "raposa-mcp" ], "env": { "RAPOSA_API_KEY": "your-value" } } } } 3) 告诉我要修改的文件完整路径或要运行的命令,等我同意。4) RAPOSA_API_KEY 先保留 "your-value",请我自己把真实值粘贴到文件或应用的输入框里。不要让我在对话里输入密钥。5) 按约定执行,然后确认 Raposa Aval — human approval 的工具真的出现了。这段话不包含你的密钥。如果需要密钥,AI 会请你自己粘贴到文件或应用的输入框里。
已经装好了吗?先检查 · 打开终端,输入这条命令后按 Enter
uv --versionMac:按 ⌘ + Space,输入 Terminal 后按 Enter
Windows:打开“开始”菜单,输入 Windows PowerShell,然后选“打开”
还没安装: uv 没有点选式安装程序。从 uv 官方页面复制适合你系统(macOS 或 Windows)的一行命令,粘贴到终端 · 不需要单独安装 Python,uv 会在需要时自动下载
装好后关掉终端再打开,重新运行同一条命令,应显示版本号: uv --version
安装一次,所有需要 uv 的工具都能用
打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。
在 Raposa Aval — human approval 的设置中,RAPOSA_API_KEY 还是空的,填入你的密钥并保存
只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人
用 Raposa Aval — human approval 告诉我你能帮我做什么,然后做一件给我看✓ 如果 VS Code 说正在使用 Raposa Aval — human approval,或回答中出现 Raposa Aval — human approval 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 VS Code 帮助页面核实 · 你的界面可能因版本略有不同
Claude Code
claude mcp add --scope user raposa --env RAPOSA_API_KEY=your-value -- uvx raposa-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"raposa": {
"command": "uvx",
"args": [
"raposa-mcp"
],
"env": {
"RAPOSA_API_KEY": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"raposa": {
"command": "uvx",
"args": [
"raposa-mcp"
],
"env": {
"RAPOSA_API_KEY": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"raposa": {
"type": "stdio",
"command": "uvx",
"args": [
"raposa-mcp"
],
"env": {
"RAPOSA_API_KEY": "your-value"
}
}
}
}RAPOSA_API_KEY 机密 必填 env说明仍为英文原文。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。
在你的电脑上运行,适用于
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月15日
注册名称已通过域名 raposa.group 验证(注册中心会核实域名所有权)
代码最后更新于26天前
使用 MIT
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
OSV.dev 中没有 raposa-mcp@0.1.1 的记录
只检查这个版本的包本身,不包括所有依赖 · 检查于 2026年11月15日
提问、分享技巧或报告无法使用。按“有帮助”数量排序。
还没有评价
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:RAPOSA_API_KEY
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于26天前,最新版本(0.1.1)于2个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:World Monitor, openstatus, Oh My Posh Validator, Strata, Jitsu
同一分类、其他作者、命令已通过检查。官方的排在前面,再按星标排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.
Manage monitors, status pages, incidents and maintenances in your openstatus workspace.
Validate oh-my-posh configurations and segment snippets against the official schema.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Manage Jitsu data pipelines: destinations, streams, connections, functions, live events.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Raposa Aval is a human-approval MCP server by DC ESCRYPT (https://raposa.group). It gives an agent one honest capability: before a high-stakes action runs, a named human must explicitly approve it. The API is served from EU infrastructure; approvals are sealed in a hash-chained audit log that can be exported for an auditor.
https://dcescrypt.com · Documentation · Get a sandbox key
request_human_approval(action, context, risk) returns:
{approved: true|false, decided_by, decided_at, comment, status, …}
approved is true only when an authorised human pressed Approve. Every other outcome — a rejection, an expiry, a timeout — returns approved: false. Silence is never consent:
| Outcome | approved | Meaning |
|---|---|---|
approved | true | A named human approved within the deadline |
rejected | false | A named human rejected — do not proceed |
expired | false | The TTL elapsed with no decision — do not proceed; no decision will arrive for the id |
timeout | false | Nobody answered within wait_sec — the request stays open until its TTL; check later with get_approval |
The agent must branch on approved; the tool result never leaks a key or a secret. A decided approval is final: a second decision on the same id is refused with HTTP 409. Every decision lands in the hash-chained audit log (/v1/audit/verify, /v1/audit/export).
Agent ──tool call──▶ MCP server (raposa-mcp) ──HTTPS, Bearer RAPOSA_API_KEY──▶ Raposa Aval API
│ approval created (status: pending) │ human sees it: e-mail link · web console · Slack · Telegram │ agent ◀── polls get_approval / webhook callback ◀── decision (approve|reject)
RAPOSA_API_KEY from its environment and never includes it in tool inputs or outputs.404 Approval not found, and only an operator key can decide.410 gone.No production data is needed for the sandbox; the same flow issues paid-plan keys automatically after checkout.
The server is a stdio MCP server, one command: uvx raposa-mcp (pin raposa-mcp==0.1.2 to freeze a published release).
Do not write RAPOSA_API_KEY= into a chat, a shell command, a screenshot or a repository. Two supported ways to bring the secret to the MCP process:
Secret-manager export (1Password CLI, any similar tool works the same way):
# ~/.zshrc or ~/.bash_profile — resolved at login from your own vault
export RAPOSA_API_KEY="$(op read 'op://Dev-API/ /key')"
The expansion happens inside the shell that starts your MCP client; the key never appears as a literal argument (it would otherwise show in ps, in the shell history and in crash logs).
Plain-environment alternative: keep the value in a file with restrictive permissions and source it from your shell profile. Whatever the source, the constant rule is: the MCP process must inherit the variable from its parent environment, not receive it as an argument.
Claude Code supports ${VAR} expansion in MCP configuration — the placeholder is stored in the config file, resolved from the environment when the server starts (MCP docs):
claude mcp add raposa -e RAPOSA_API_KEY='${RAPOSA_API_KEY}' -- uvx raposa-mcp
claude mcp get raposa # shows the ${...} reference — never the secret itself
Single quotes matter: without them the shell resolves the placeholder before Claude Code stores it. claude mcp get raposa is the check that no secret landed in the configuration.
.mcp.json, other clients){
"mcpServers": { "raposa": { "command": "uvx", "args": ["raposa-mcp"], "env": { "RAPOSA_API_KEY": "${RAPOSA_API_KEY}" } } } }
# 1 · the stored placeholder is a reference, never the value:
claude mcp get raposa | grep -F '${RAPOSA_API_KEY}' # prints the line — good claude mcp get raposa | grep -F ' ' # prints nothing — good
All three tools take exactly these arguments (limits enforced client- and server-side):
Create an approval request and return its id immediately (no waiting). Use with a webhook_url, or poll with get_approval.
| Parameter | Type | Required | Notes | ||
|---|---|---|---|---|---|
action | string | yes | ≤ 200 chars | ||
context | string | yes | ≤ 4000 chars | ||
risk | string | yes | low \ | medium \ | high |
requested_by | string | no | ≤ 200 chars, default mcp-agent | ||
expires_in_sec | integer | no | 60–2592000 (default 86400 = 24 h) | ||
webhook_url | string (URL) | no | where the signed decision callback is POSTed |
Returns {"id": "…", "status": "pending"}.
| Parameter | Type | Required |
|---|---|---|
approval_id | string (UUID) | yes |
Returns the same shape for every terminal state:
{"id": "…", "status": "approved|rejected|expired|pending", "approved": true|false,
"decided_by": "…", "decided_at": "…", "comment": "…", "message": "…"}
approved is true only when status == "approved".
Same parameters as create_approval (no webhook_url), plus:
| Parameter | Type | Required | Notes |
|---|---|---|---|
wait_sec | integer | no | how long to poll (5 s cadence), default 600 |
On a human decision returns the same shape as get_approval. On the deadline it returns {"status": "timeout", "approved": false, "id": "…", "message": "Not approved — nobody answered in Ns. The request is still open; check later with get_approval."} — and it really stays open until its TTL: decide late via your console or get_approval later.
Real outputs (sandbox, uvx raposa-mcp==0.1.2):
create_approval → returns immediately:
{"id": "79d647c1-…", "status": "pending"}
get_approval while pending:
{"id": "79d647c1-…", "status": "pending", "approved": false,
"decided_by": null, "comment": null, "message": "Still waiting for a human."}
a human approved (via e-mail link or console):
{"id": "79d647c1-…", "status": "approved", "approved": true,
"decided_by": " ", "decided_at": "2026-10-20T…", "comment": "owner mcp e2e approve", "message": "Approved by a human — proceed."}
a human rejected:
{"status": "rejected", "approved": false, "message": "Rejected by a human — do not proceed."}
TTL elapsed, nobody decided:
{"status": "expired", "approved": false,
"message": "Not approved — the request expired before anyone decided."}
request_human_approval with wait_sec=8 and nobody answering:
{"id": "ed2e963e-…", "status": "timeout", "approved": false, "decided_by": null,
"message": "Not approved — nobody answered in 8s. The request is still open; check later with get_approval."}
Error shapes you will actually see:
get_approval on a foreign or unknown id — existence is never confirmed to a foreign key:
Raposa API 404 on GET /v1/approvals/<id>: {"detail":"Approval not found"}
a decided approval does not flip: the second decision is refused by the API:
Raposa API 409 on POST /v1/approvals/<id>/decision
| Role | Capability | Scope |
|---|---|---|
| client (the MCP key) | create, read, poll, receive webhooks for its own approvals | exactly its own approvals; foreign ids are 404 |
| operator (human decision path) | decide, list, verify the audit chain, export the audit | scoped to one customer or house-wide, by key configuration |
| owner | internal plan: unlimited monthly approvals, key management for its own account | unlimited quota, not unlimited privileges: the same rate limits, isolation and audit apply |
Nothing here makes an MCP client key an administrative credential. The administrative surface (operator console) is a separate, credentialed place — not reachable with an MCP key.
The same server is published on MCP Rush hosted infrastructure: darius-ceponas/raposa-aval-human-approval-mcp — release 0.1.1, three tools, scanned and verified (trust score 96/100, grade A). The gateway is live and refuses calls that carry no buyer token.
Honest status: the hosted release answers, but an end-to-end gateway call with real buyer credentials has not been verified yet — the marketplace’s Access page (where a buyer mints the required gateway key) was unreachable at the time of writing, and the publisher has reported it to MCP Rush support. Until that lands, the direct uvx install in § 4 is the supported way; this README makes no gateway end-to-end claim.
| Symptom | Cause | Fix |
|---|---|---|
RAPOSA_API_KEY is not set. Get a free sandbox key at … | the variable did not reach the MCP process | export it in the shell that starts the client; check claude mcp add used the ${VAR} placeholder, not an empty value |
HTTP 401 Invalid API key on a direct API call | key revoked or mistyped | re-read the value from your vault; rotate from the account page |
404 Approval not found on the right id | another key’s approval, or the id is mis-typed | approvals are tenant-scoped; use the key that created it |
429 … Rate limit exceeded (60/min for your plan) | per-key per-minute rate limit (abuse guard, stays on every plan) | honour Retry-After; batch agent work |
409 on a second decision | the approval already reached a terminal state | terminal decisions are final and immutable |
timeout with nobody awake | wait_sec elapsed at 5-second polling | the request stays open until TTL; ask the human, then get_approval |
| client hangs ~1 min on first call | cold start of a hosted/gateway serv