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

TAS Guard

作者:intoApexバージョン 0.5.1i★ –iパソコンで動く
レジストリ名io.github.intoApex/tas-guard

インストール

概要

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

Order limits, phone approvals and a kill switch in front of any broker or exchange MCP server.

PopNx MCPの3つの柱

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

できること

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

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: その他

インストール

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

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

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

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

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

{
  "mcpServers": {
    "tas-guard": {
      "command": "npx",
      "args": [
        "-y",
        "tas-guard",
        "run",
        "--config",
        "your-value"
      ]
    }
  }
}

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

claude mcp add tas-guard -- npx -y tas-guard run --config your-value

このサーバーは起動コマンドに値を入れる必要があるので、設定をコピーして入力してください。

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

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

{
  "mcpServers": {
    "tas-guard": {
      "command": "npx",
      "args": [
        "-y",
        "tas-guard",
        "run",
        "--config",
        "your-value"
      ]
    }
  }
}

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

このサーバーは起動コマンドに値を入れる必要があるので、設定をコピーして入力してください。

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

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

{
  "servers": {
    "tas-guard": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "tas-guard",
        "run",
        "--config",
        "your-value"
      ]
    }
  }
}

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

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

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

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

できること

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

基本チェックi

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

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント intoApex で確認済みです

  • … 未チェック

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

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

  • … 未チェック

    ライセンスがある

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

  • – 対象外

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

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

  • – 対象外

    OAuthでサインイン

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

  • … 未チェック

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

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

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

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

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

よくある質問

TAS Guardは安全ですか?

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

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

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

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

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

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

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

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

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

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, MemberVault MCP by usefulapi

代わりの候補

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

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

Remote Desktop Commander

作者:desktop-commander

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

クラウドで動く★ 211一昨日更新
インストール

作者のREADME

READMEを開く

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

TAS Guard

Limits for bots and AI that trade your money. Put it between the software that trades for you (Claude, ChatGPT, Cursor, your own agent or bot) and your broker, exchange or wallet. It enforces per-order and daily limits, allow lists, human approvals, a kill switch and a tamper-evident audit log, before an order or transaction ever goes through. It runs on your own machine.

What it can't protect: custodial bots and apps that keep your keys on their own servers (most Telegram trading bots), and bots that call an exchange's API directly instead of going through the guard.

AI client  ──►  TAS Guard  ──►  Alpaca / CCXT / any trading MCP server  ──►  your account

│ ├─ blocks: over-limit orders, off-list symbols, withdrawals, leverage changes ├─ asks you: large orders, live money, "close everything" └─ logs: every decision, hash-chained

Zero dependencies. About 4,600 lines of plain JavaScript you can read in a few sittings.

New in 0.5.1: on Base, onchain mode tags eth_sendTransaction calls with TradingAgentStack's Builder Code: attribution only, no fee, off with TAS_GUARD_BASE_BUILDER_CODE=0.

New in 0.5: [Hyperliquid mode](#hyperliquid-mode). tas-guard hl trades Hyperliquid directly, with no other MCP server: your agent gets hl_ tools, and every order goes through the same caps, allow list, approvals, kill switch and audit log. It signs with a Hyperliquid API wallet, which can trade but can't withdraw. It adds a 0.02% builder fee that funds TradingAgentStack (details and opt-out).

Also new in 0.4: [Solana mode](#solana-mode). tas-guard sol-rpc simulates every transaction your Solana agent sends and blocks drainer patterns (hidden delegations, account takeovers), runaway priority fees and anything over your caps, including per-program caps such as "pump.fun: $20 per trade, $100 a day". Try it: npx tas-guard sol-demo.

Also: [onchain (EVM) mode](#onchain-evm-mode) for agents that hold their own EVM wallet: tas-guard rpc is a local JSON-RPC endpoint your agent uses as its RPC URL.

Try it in 10 seconds (no broker account)

tas-guard demo runs the guard in front of a built-in paper broker with simulated prices. Add it to your AI app as an MCP server:

{ "mcpServers": { "tas-guard-demo": { "command": "npx", "args": ["-y", "tas-guard", "demo"] } } }

(On Windows use "command": "cmd", "args": ["/c", "npx", "-y", "tas-guard", "demo"].) Then ask your agent to buy 1 SPY at $580 (allowed), 2 SPY at $580 (held for your approval), 10 SPY (blocked: over the $2,000 per-order limit) or 1 TSLA (blocked: not on the allow list). Approve held orders with npx tas-guard approve .

Why not a generic MCP gateway?

Generic gateways decide per *tool*: "createOrder is critical, require approval." They can't tell a $50 order from a $50,000 one, so you end up approving everything or nothing.

TAS Guard reads the order itself. It knows that Alpaca's place_option_order has a 100x contract multiplier, that ccxt's cost is a quote-currency value while amount is base units, and that ccxt answers the first live order with a preview. That's what makes "allow small orders, ask for big ones, never exceed $2,000 a day" possible.

Broker connectorWhat it does on its ownWith TAS Guard
Alpaca MCP (TAS safety score 68)AI can place orders directly; toolsets can limit itPer-order and daily caps, symbol allowlist, approval above a threshold
CCXT MCPHas its own caps and confirm stepOne policy and one audit log across every exchange you use
Any other trading MCPVariesHeuristic profile; anything unrecognized is blocked

Safety scores and order-gating facts: tradingagentstack.com.

Quick start (Alpaca, paper trading)

  1. Write ~/tas-guard/alpaca.json (or run npx tas-guard init alpaca-mcp-server):
{

"name": "alpaca", "profile": "alpaca-mcp-server", "upstream": { "command": "uvx", "args": ["alpaca-mcp-server"], "env": { "ALPACA_API_KEY": "${ALPACA_API_KEY}", "ALPACA_SECRET_KEY": "${ALPACA_SECRET_KEY}", "ALPACA_PAPER_TRADE": "true" } }, "policy": { "max_order_value": 500, "max_daily_value": 2000, "approve_over": 250, "symbols_allow": ["SPY", "QQQ", "AAPL", "MSFT"] } }

${VAR} is read from the environment, so keys don't have to live in the file.

  1. Point your MCP client at the guard instead of at Alpaca. For Claude Desktop (claude_desktop_config.json):
{

"mcpServers": { "alpaca": { "command": "npx", "args": ["-y", "tas-guard", "run", "--config", "/Users/you/tas-guard/alpaca.json"], "env": { "ALPACA_API_KEY": "...", "ALPACA_SECRET_KEY": "..." } } } }

For Claude Code: claude mcp add alpaca -- npx -y tas-guard run --config ~/tas-guard/alpaca.json

  1. Ask the agent to call tas_guard_status to see the limits it's working under.

No config file? npx tas-guard run --profile alpaca-mcp-server -- uvx alpaca-mcp-server uses the default policy.

What it decides

Every tool is put in a class, from a verified connector profile or, for servers without one, from name heuristics and MCP annotations.

ClassExamplesDefault
readquotes, positions, balancesallow
benign_writewatchlistsallow
cancel, closecancel one order, close one positionallow (also during kill switch)
orderplace an ordercheck limits
modify, cancel_all, close_all, other_writereplace order, cancel everything (stop-losses too), exercise optionsask a human
leverage, funds_out, account, raw_write, unknownset leverage, withdraw, transfer, account settings, "call any endpoint", anything unrecognizedblock (and hide from the agent)

For order calls, in this order:

  1. Kill switch on → block.
  2. Symbol on symbols_block, or not on symbols_allow (if set) → block. Globs work: "BTC/*".
  3. Side not in sides_allow (if set) → block.
  4. More than max_orders_per_minute or max_orders_per_day → block.
  5. Value over max_order_value, or today's total would pass max_daily_value → block. These are hard limits; approval can't override them.
  6. Value over approve_over, value unknown (market order by quantity, multi-leg), or live money with live_requires_approval → ask a human.
  7. Otherwise → allow.

Only orders the broker actually accepted count toward daily totals. Rejected orders and ccxt previews don't. Orders execute one at a time and limits are re-checked just before sending, so parallel calls can't slip past the daily cap.

Policy reference

{

"max_order_value": 500, // hard, per order, in the profile's quote currency "max_daily_value": 2000, // hard, sum of executed orders today (local time) "max_orders_per_day": 20, "max_orders_per_minute": 3, "approve_over": 250, // soft: above this, a human approves "symbols_allow": [], // empty = any symbol "symbols_block": [], "sides_allow": [], // e.g. ["buy"] for no selling "unknown_value": "approve", // allow | approve | block when the value can't be computed "live_requires_approval": true, // every live-money order needs a human "classes": { "close_all": "allow", "unknown": "approve" }, // override any class "hide_blocked_tools": true, "approval_ttl_minutes": 15 }

Approvals

When an action needs approval, the guard asks you, never the agent.

  • In the client: if your MCP client supports elicitation, a prompt appears in the app ("Approve this action?"). Only a human can answer it.
  • From a terminal: otherwise the call is held with an id. Run npx tas-guard approve (or deny ), and the agent repeats the call. Each approval works once, for that exact call, within 15 minutes.

Tested with Claude Desktop (Windows, October 2026) against an Alpaca paper account: Claude Desktop doesn't show the in-app prompt, so approvals there go through npx tas-guard approve . Claude relays the request id and waits for you.

npx tas-guard pending

npx tas-guard approve 3f9a1c

Phone approvals and kill switch (Telegram)

Get held actions on your phone with Approve and Deny buttons, alerts when an order is blocked, and a kill switch you can hit from anywhere. It uses your own Telegram bot, so nothing goes through our servers.

npx tas-guard telegram-setup --config ~/tas-guard/alpaca.json

It walks you through creating a bot with @BotFather, waits for you to press Start in your bot, then saves the bot token and your chat id into the guard config. Restart your AI app afterwards.

What you get:

  • Approve / Deny buttons. The agent's call waits up to 45 seconds (wait_seconds) for your tap and then goes through in the same call. If you're slower, the agent is told to retry after you approve.
  • Alerts when an order-type call is blocked (notify_blocked, on by default) and, optionally, when an order is sent to the broker (notify_executed).
  • Phone commands: /status (limits and today's usage), /pending (re-sends anything waiting), /kill, /resume.
  • Only you: taps and commands from any other Telegram account are ignored.
  • Phone-only approvals: set "cli": false so tas-guard approve refuses requests from this guard. That closes the gap where an agent with shell access could run the approve command itself.
"approvals": {

"cli": false, "telegram": { "bot_token": "${TAS_TELEGRAM_BOT_TOKEN}", "chat_id": "123456789", "wait_seconds": 45, "notify_blocked": true, "notify_executed": false } }

Several guards can share one bot. Whichever one is listening handles the tap, and the others pick up the decision from the shared state.

Kill switch

npx tas-guard kill "market looks wrong"   # every guard blocks new orders immediately

npx tas-guard resume

Reads, cancels and closing positions keep working while it's on, so you (or the agent) can still flatten.

Audit log

Every decision is appended to ~/.tas-guard/audit.jsonl: tool, class, arguments (secrets redacted), decision, reason, order value, and whether it executed. Each line includes the hash of the previous line.

npx tas-guard log --tail 20

npx tas-guard verify-log # detects edited or deleted lines

Connector profiles

A profile says what each tool of a server can do with money and where its order fields live. The schema is schema/connector-profile.v1.json. Built-in profiles are verified against each server's source code or official docs, with the commit or page recorded:

  • alpaca-mcp-server: alpacahq/alpaca-mcp-server @ 2a973a0
  • ccxt-mcp-server: ccxt/ccxt mcp/ @ 310bf4b
  • robinhood-trading-mcp: Robinhood's hosted Trading MCP, from the 94-tool table in Robinhood's "Trading with your agent" article (2026-10-21). The server is closed source and Robinhood publishes no argument names, so order values can't be read: every order needs approval, and a symbols_allow list blocks orders.

Using a server without a profile? "profile": "auto" classifies tools by name and MCP annotations, and blocks anything it doesn't recognize. Profiles for more brokers are welcome as PRs.

Onchain (EVM) mode

For agents that sign and send their own transactions (AgentKit, viem, ethers, web3.py, your own bot), tas-guard rpc runs a local JSON-RPC endpoint. Point the agent's RPC URL at it instead of at your provider:

AI agent ──► http://1

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

PopNxに聞く