World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
Human approval for AI agents: a named person approves or rejects, silence is not consent.
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 13, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
You need a Raposa Aval — human approval key (create it on the maker’s site) · Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Python (uv)
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
SettingsDeveloperEdit Config
{
"mcpServers": {
"raposa": {
"command": "uvx",
"args": [
"raposa-mcp"
],
"env": {
"RAPOSA_API_KEY": "your-value"
}
}
}
}Paste the key only into the app’s field, never into a chat or to anyone
Use Raposa Aval — human approval and tell me what you can do for me, then show me one thing✓ If Claude says it is using Raposa Aval — human approval or shows a Raposa Aval — human approval tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Raposa Aval — human approval yet
Raposa Aval — human approval runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect Raposa Aval — human approval
B · Others in Other that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code, with some setup first
You need a Raposa Aval — human approval key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --scope user raposa --env RAPOSA_API_KEY=your-value -- uvx raposa-mcpReplace “your-value” with your key before pressing Enter
Paste the key only into the app’s field, never into a chat or to anyone
You should see Raposa Aval — human approval listed as connected
Use Raposa Aval — human approval and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Raposa Aval — human approval or shows a Raposa Aval — human approval tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
You need a Raposa Aval — human approval key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
In the Raposa Aval — human approval settings, RAPOSA_API_KEY is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Raposa Aval — human approval and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Raposa Aval — human approval or shows a Raposa Aval — human approval tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
You need a Raposa Aval — human approval key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
In the Raposa Aval — human approval settings, RAPOSA_API_KEY is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Raposa Aval — human approval and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Raposa Aval — human approval or shows a Raposa Aval — human approval tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
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 secret required envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
pypi: raposa-mcpBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 13, 2026
The registry name was verified against the domain raposa.group (the registry checks domain ownership)
Code last changed 24 days ago
Uses MIT
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: RAPOSA_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 24 days ago, and the latest version (0.1.1) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: World Monitor, Claude Flow, Windmill
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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