プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Raposa Aval — human approval

作者:agentlabbusinessバージョン 0.1.1i★ –iパソコンで動く
レジストリ名group.raposa/raposa-mcp

インストール

概要

作者による説明(英語の原文)

Human approval for AI agents: a named person approves or rejects, silence is not consent.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: その他
  • 入力が必要なもの:RAPOSA_API_KEY

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "raposa": {
      "command": "uvx",
      "args": [
        "raposa-mcp"
      ],
      "env": {
        "RAPOSA_API_KEY": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add raposa --env RAPOSA_API_KEY=your-value -- uvx raposa-mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "raposa": {
      "command": "uvx",
      "args": [
        "raposa-mcp"
      ],
      "env": {
        "RAPOSA_API_KEY": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "raposa": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "raposa-mcp"
      ],
      "env": {
        "RAPOSA_API_KEY": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • RAPOSA_API_KEY 秘密 必須 env
    Raposa Aval API key (free sandbox key at https://raposa.group/start/)

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月9日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名はドメイン raposa.group で確認済みです(レジストリがドメインの所有を確認しています)

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

その他のほかのサーバーとの比較i

  • このカテゴリのほかの18659件のうち0%よりスターが多い
  • このカテゴリのほかの18659件のうち31%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの18659件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Raposa Aval — human approvalは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:RAPOSA_API_KEY

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは2 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, alalanet — check before you pay

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

作者:formulahendry初期↓ 66/週★ 44014 か月前更新

パソコンで動く

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

作者:desktop-commander成長中★ 2113 日前更新

クラウドで動く✓ desktopcommander.app

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

raposa-mcp

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

1 · Why fail-closed approval matters

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:

OutcomeapprovedMeaning
approvedtrueA named human approved within the deadline
rejectedfalseA named human rejected — do not proceed
expiredfalseThe TTL elapsed with no decision — do not proceed; no decision will arrive for the id
timeoutfalseNobody 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).

2 · Architecture

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)

  • The MCP server holds only the client API key. It reads RAPOSA_API_KEY from its environment and never includes it in tool inputs or outputs.
  • Approvals are scoped per API key: one customer can never read or decide another customer's requests — foreign ids answer 404 Approval not found, and only an operator key can decide.
  • Decisions carry the approver identity and a comment; re-deciding is refused.

3 · Getting an API key

  1. Register a free sandbox at https://raposa.group/start/ (100 approvals a month).
  2. An e-mail titled “Raposa — your sandbox key” arrives with a one-time claim link, valid 24 hours. The link shows the key once and cannot be reused; an expired or used link refuses with 410 gone.
  3. The claim link is itself the credential: whoever opens it first within 24 h owns the key. Treat that mail as a secret — do not forward it or paste the link into tickets and chats. If the link may have leaked before you opened it, write to contact@raposa.group: an unclaimed link self-expires in 24 h and a claimed key can be revoked and reissued from the account page or by support.
  4. Put the key into the MCP server’s environment (below).

No production data is needed for the sandbox; the same flow issues paid-plan keys automatically after checkout.

4 · Install (secure, step by step)

The server is a stdio MCP server, one command: uvx raposa-mcp (pin raposa-mcp==0.1.2 to freeze a published release).

4.1 The key never travels through a command line

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.

4.2 Claude Code

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.

4.3 Generic MCP stdio config (.mcp.json, other clients)
{

"mcpServers": { "raposa": { "command": "uvx", "args": ["raposa-mcp"], "env": { "RAPOSA_API_KEY": "${RAPOSA_API_KEY}" } } } }

4.4 Check it without spending the secret
# 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

2 · end to end: list the tools (the server only runs when it can read the key):

three tools — create_approval, get_approval, request_human_approval

3 · a controlled read of a non-existent id must answer a 404 "Approval not

found", never a missing-environment error — that proves the key arrived

5 · Tools reference

All three tools take exactly these arguments (limits enforced client- and server-side):

create_approval

Create an approval request and return its id immediately (no waiting). Use with a webhook_url, or poll with get_approval.

ParameterTypeRequiredNotes
actionstringyes≤ 200 chars
contextstringyes≤ 4000 chars
riskstringyeslow \medium \high
requested_bystringno≤ 200 chars, default mcp-agent
expires_in_secintegerno60–2592000 (default 86400 = 24 h)
webhook_urlstring (URL)nowhere the signed decision callback is POSTed

Returns {"id": "…", "status": "pending"}.

get_approval
ParameterTypeRequired
approval_idstring (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".

request_human_approval

Same parameters as create_approval (no webhook_url), plus:

ParameterTypeRequiredNotes
wait_secintegernohow 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.

6 · Worked examples

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

7 · Who holds which power

RoleCapabilityScope
client (the MCP key)create, read, poll, receive webhooks for its own approvalsexactly its own approvals; foreign ids are 404
operator (human decision path)decide, list, verify the audit chain, export the auditscoped to one customer or house-wide, by key configuration
ownerinternal plan: unlimited monthly approvals, key management for its own accountunlimited 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.

8 · MCP Rush hosted listing

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.

9 · Troubleshooting

SymptomCauseFix
RAPOSA_API_KEY is not set. Get a free sandbox key at …the variable did not reach the MCP processexport 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 callkey revoked or mistypedre-read the value from your vault; rotate from the account page
404 Approval not found on the right idanother key’s approval, or the id is mis-typedapprovals 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 decisionthe approval already reached a terminal stateterminal decisions are final and immutable
timeout with nobody awakewait_sec elapsed at 5-second pollingthe 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

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く