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

Agent Sniper

作者:nirholasバージョン 0.1.7i★ –iパソコンで動く
レジストリ名io.github.nirholas/agent-sniper

インストール

概要

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

Self-custodial pump.fun sniper: arm strategies, snipe, manage positions. Simulate by default.

PopNx MCPの3つの柱

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

できること

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

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

インストール

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

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: SNIPER_MODE, SNIPER_NETWORK, SOLANA_RPC_URL, SOLANA_SECRET_KEY

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

必要なもの

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

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

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

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

{
  "mcpServers": {
    "agent-sniper": {
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/agent-sniper",
        "mcp"
      ],
      "env": {
        "SNIPER_MODE": "your-value",
        "SNIPER_NETWORK": "your-value",
        "SOLANA_RPC_URL": "your-value",
        "SOLANA_SECRET_KEY": "your-value"
      }
    }
  }
}

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

claude mcp add agent-sniper --env SNIPER_MODE=your-value --env SNIPER_NETWORK=your-value --env SOLANA_RPC_URL=your-value --env SOLANA_SECRET_KEY=your-value -- npx -y @three-ws/agent-sniper mcp

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

Cursorで開く

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

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

{
  "mcpServers": {
    "agent-sniper": {
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/agent-sniper",
        "mcp"
      ],
      "env": {
        "SNIPER_MODE": "your-value",
        "SNIPER_NETWORK": "your-value",
        "SOLANA_RPC_URL": "your-value",
        "SOLANA_SECRET_KEY": "your-value"
      }
    }
  }
}

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

VS Codeで開く

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

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

{
  "servers": {
    "agent-sniper": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/agent-sniper",
        "mcp"
      ],
      "env": {
        "SNIPER_MODE": "your-value",
        "SNIPER_NETWORK": "your-value",
        "SOLANA_RPC_URL": "your-value",
        "SOLANA_SECRET_KEY": "your-value"
      }
    }
  }
}

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

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

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

自分で入力する値

  • SNIPER_MODE env
    Trade mode: simulate | live. simulate scores, guards, and logs every decision but NEVER broadcasts. live signs and broadcasts real transactions with real funds. Defaults to simulate — keep it there u…
  • SNIPER_NETWORK env
    Solana cluster to trade on: mainnet | devnet. Defaults to mainnet.
  • SOLANA_RPC_URL env
    Solana RPC endpoint. A public RPC rate-limits under the new-mint firehose, so live mode refuses to start without this set. Optional in simulate mode.
  • SOLANA_SECRET_KEY 秘密 env
    Default self-custody wallet secret for single-agent runs — base58, a JSON byte array, or 0x-hex. Stays on your machine; the engine signs locally. Required only for live trading. Treat it like a passw…

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

できること

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

基本チェックi

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

  • ✓ 合格

    作者とリポジトリが一致

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

  • … 未チェック

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

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

  • … 未チェック

    ライセンスがある

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

  • – 対象外

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

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

  • – 対象外

    OAuthでサインイン

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

  • … 未チェック

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

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

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

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

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

よくある質問

Agent Sniperは安全ですか?

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

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

入力が必要なもの:SOLANA_SECRET_KEY

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

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

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

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

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

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

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Detailing Manager

代わりの候補

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

カードの見方:★ 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昨日更新
インストール

Detailing Manager

作者:RadoslavMoshev

Connect your auto detailing studio's tasks, cars, clients and revenue to Claude or ChatGPT.

パソコンで動く今日更新
インストール

作者のREADME

READMEを開く

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

@three-ws/agent-sniper

A lightweight, embeddable pump.fun sniper engine for 3D AI agents. One trade loop — feed a stream of new launches, score each against a per-agent strategy, run the pre-trade guards, buy, then sweep open positions on an interval and exit on stop-loss / take-profit / trailing-stop / timeout / sentiment-flip. It is multi-agent and multi-user by construction (one wallet per agentId), and every external dependency — wallet custody, persistence, RPC/venue, launch feed — is a pluggable adapter, so the same engine runs locally with in-memory state or hosted across thousands of tenants. The package ships with four faces over that one engine: a library, a CLI, an MCP server, and an x402 paid HTTP API.


Why — the adapter architecture

The engine is pure orchestration. It owns the decision pipeline; it owns nothing about *where* the money, the data, or the chain live. Five adapter interfaces (src/types.js) are the seams, and a default implementation ships for each:

                            ┌──────────────────────────── engine ────────────────────────────┐

Feed ──{mint|intel|claim}─▶ score ──▶ guards ──▶ executeBuy ──▶ claimPosition │ (PumpPortal) (scorer) (concurrency, (quote + (atomic slot) │ budget, SOL build + sign │ headroom, + broadcast) │ price impact) │ position sweep (every pollMs) │ ──▶ decideExit ──▶ executeSell │ └────────────────────────────────────────────────────────────────────┘ adapters: Feed Solana Wallet Executor Store (launch (quote/build (resolve a (sign + (strategies, stream) pump.fun ix) Keypair per broadcast) positions, agentId) spend ledger)

Swap any one without touching the loop: a custodial KMS wallet instead of local keys, a Postgres store instead of memory, a different launch feed, a different venue. Implement the shape, pass it to createSniper(), done.

AdapterResponsibility
FeedPush `{ kind: 'mint'\'intel'\'claim', data: Candidate }` events into the engine.
SolanaQuote + build pump.fun buy/sell instructions; expose a web3 Connection.
WalletResolve a signing Keypair for an agentId (or null if unprovisioned).
ExecutorThe one place that signs and broadcasts; returns landing telemetry.
StorePersist strategies, positions, and the daily spend ledger; atomic claimPosition.

Optional Hooks (firewall assessSafety, oracleGate, onScreen, onBuy, onSell, recordDecision) are best-effort cross-cutting callbacks — a throw is swallowed and never aborts a trade, except onTip, which is a deliberate veto.


Install

npm i @three-ws/agent-sniper

Optional peers, installed only if you use the face that needs them:

npm i better-sqlite3   # durable Store (src/adapters/store/sqlite.js)

npm i express # the x402 HTTP API face

Requires Node >= 22.


Quickstart (library)

The presets.local wiring is the zero-to-running path: in-memory store + self-custody wallet + pump.fun client + web3 executor + PumpPortal feed. Run it in simulate mode on devnet first — the engine scores, guards, and logs every decision but never broadcasts.

A strategy must carry a stop_loss_pct — the engine refuses to arm a strategy without one. SOL amounts on a strategy are expressed in lamports (1 SOL = 1,000,000,000 lamports), as a string, number, or bigint.

import { createSniper, createMemoryStore, presets } from '@three-ws/agent-sniper';

// 1 SOL = 1e9 lamports. const SOL = 1_000_000_000n;

const strategy = { id: 'strat_scout_1', agent_id: 'scout', // one wallet per agentId enabled: true, trigger: 'new_mint', // fire on the create event network: 'devnet', per_trade_lamports: (SOL / 100n).toString(), // 0.01 SOL per snipe daily_budget_lamports: (SOL / 2n).toString(), // 0.5 SOL/day ceiling max_concurrent_positions: 3, slippage_bps: 500, // 5% max_price_impact_pct: 10, // entry circuit breaker stop_loss_pct: 30, // REQUIRED — exit when down 30% take_profit_pct: 80, // exit when up 80% trailing_stop_pct: 20, // exit when down 20% from peak (after profit) max_hold_seconds: 1800, // hard time-stop require_socials: true, // skip launches with no twitter/telegram/website max_creator_launches: 10, // skip serial launchers };

const sniper = await presets.local({ network: 'devnet', mode: 'simulate', // no funds move strategies: [strategy], // secrets: { scout: ' ' }, // for live mode });

await sniper.start();

console.log(sniper.stats()); // { events, candidates, buys, sells, errors, strategies, queued, lastEventAt } console.log(sniper.strategies()); // the live armed-strategy cache

// Fire a manual buy by hand (drives the same path as MCP snipe_now): sniper.submitCandidate( { mint: 'THREEsynthetic1111111111111111111111111111111', entry_trigger: 'manual' }, { force: true }, );

// later… await sniper.stop();

createSniper(deps) is the lower-level constructor when you want to bring your own adapters — pass { config, store, wallet, solana, executor, feed, hooks }. presets.local is just one wiring of it.


CLI usage

The package installs an agent-sniper binary. Default mode is simulate — it will not move funds until you pass --mode live (or set SNIPER_MODE=live), which trades real funds.

# Run the engine. Mode defaults to simulate; live trades real funds.

npx agent-sniper run --network devnet --strategy ./strategy.json

Serve the engine over MCP (stdio) for Claude / Cursor / any MCP client.

agent-sniper mcp

Serve the x402-gated HTTP API + web console (open http://localhost:8787).

agent-sniper serve

Help.

agent-sniper help

Safety. run/serve/mcp all start in simulate mode unless you opt into

live explicitly. In live mode every armed strategy can spend up to its

daily_budget_lamports per UTC day. Read Safety & guardrails below before

you flip the switch.

--strategy ./strategy.json loads a strategy (or array of strategies) as JSON. A minimal file mirrors the object in the Quickstart — note stop_loss_pct is required.


MCP server

agent-sniper mcp exposes the engine as an MCP stdio server. Every tool maps 1:1 onto a public engine/store method — no internals are reached around. The server is unauthenticated and meant to run locally against your own wallet/RPC.

ToolKindPurpose
arm_strategywriteRegister/update a strategy. SOL → lamports for you; stop_loss_pct mandatory.
disarm_strategywriteDisable a strategy (enabled=false); open positions still exit on their rules.
list_strategiesreadList the armed strategy set the engine is evaluating.
snipe_nowwriteForce a manual buy of a mint across all armed agents (bypasses the scorer).
list_positionsreadList positions, filter by agentId and/or status.
close_positionwriteSchedule an exit — flips the position's kill switch; the next sweep sells it.
sniper_statusreadEngine health: event/candidate/buy/sell counts, armed count, queue depth, network/mode.

Wire it into an MCP client (Claude Desktop, Cursor, etc.):

{

"mcpServers": { "agent-sniper": { "command": "npx", "args": ["-y", "@three-ws/agent-sniper", "mcp"], "env": { "SNIPER_NETWORK": "devnet", "SNIPER_MODE": "simulate" } } } }

createSniperMcpServer(deps) builds the fully-registered server without connecting a transport, so you can construct it in a test and drive it over an in-memory transport.


x402 paid HTTP API

agent-sniper serve (or import { serve } from '@three-ws/agent-sniper/api') mounts the engine over HTTP. Reads are free; the four mutating endpoints are gated behind x402 USDC micropayments via @three-ws/x402-server — the middleware verifies the X-PAYMENT header against the facilitator, runs the work, settles on-chain, and emits the receipt.

MethodEndpointPriceNotes
GET/healthfreeLiveness + network/mode/stats.
GET/statusfreeFull stats + immutable runtime config.
GET/strategiesfreeThe armed strategy set.
GET/positions?agentId=&status=freePositions from the store.
GET/activityfreeThe recent engine screen events (what the console feed renders).
GET/ and /consolefreeThe built-in operator console (see below).
POST/strategies$0.01 USDCArm a strategy (SOL → lamports; stop-loss required).
POST/snipe$0.05 USDCForce a snipe on { mint, symbol?, agentId? }.
POST/strategies/:id/disarm$0.005 USDCDisable a strategy.
POST/positions/:id/close$0.005 USDCSchedule an exit; the next sweep sells it.

Prices are the defaults (USDC atomic units, 6 decimals); override via deps.prices = { arm, snipe, disarm, close }.

Gating turns on when a merchant wallet is configured — deps.payTo.solana or the X402_PAY_TO_SOLANA env (a Base lane is available via X402_PAY_TO_BASE). When no payTo is set, the mutating routes still mount but answer 503, so the server boots cleanly for local/dev without payment config.

The Solana lane also needs a facilitator sponsor fee-payer — set X402_FEE_PAYER_SOLANA (or deps.feePayer). Without it the Solana lane self-disables (falling back to the Base lane, or the 503 guard if that's the only lane) rather than failing requests, and logs a one-time warning at boot.

import { serve } from '@three-ws/agent-sniper/api';

await serve( { payTo: { solana: process.env.X402_PAY_TO_SOLANA } }, { port: 8787 }, );


Web console

serve also ships a built-in operator dashboard — a single, dependency-free HTML file served from the same origin as the API, at / and /console. Open http://localhost:8787 and you get a live control room:

  • Live stats — buys, sells, candidates, armed strategies, in-flight queue and signal count, animated as they change, with time-since-last-signal.
  • Positions table — every position with entry, current value, and colored P&L (unrealized total in the header), plus a one-click Close that schedules an exit through the normal sell path.
  • Armed strategies — each policy with its stop-loss / take-profit / trailing tags, and a Disarm button.
  • Arm a strategy and Manual snipe forms with inline validation.
  • Live activity feed — the same engine screen events the CLI prints, streamed in with relative timestamps.
  • Designed loading / empty / error states, toasts, keyboard shortcuts (s snipe, n new strategy, r refresh, , settings, ? help), a disconnected banner, and full mobile responsiveness.

Reads are free. The mutating controls (arm, snipe, disarm, close) are x402-paid for external callers — so to drive them from your own console without paying yourself, set an operator token:

export SNIPER_ADMIN_TOKEN="$(opens

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

PopNxに聞く