ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Agent Press Wire

โดย dylancaponiรุ่น 0.3.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.dylancaponi/agent-press-wire

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Announce launches and distribute press releases to 500+ news sites. Pay per call in USDC (x402).

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: ค้นข้อมูลและความจำของ AI
  • ต้องใส่ค่าเหล่านี้: X402_PRIVATE_KEY

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: X402_PRIVATE_KEY, MAX_SPEND_USD, MAX_TOTAL_SPEND_USD, AGENT_PRESS_WIRE_HOME, PRESS_API_URL

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "agent-press-wire": {
      "command": "npx",
      "args": [
        "-y",
        "agent-press-wire-mcp"
      ],
      "env": {
        "X402_PRIVATE_KEY": "ใส่ค่าของคุณ",
        "MAX_SPEND_USD": "ใส่ค่าของคุณ",
        "MAX_TOTAL_SPEND_USD": "ใส่ค่าของคุณ",
        "AGENT_PRESS_WIRE_HOME": "ใส่ค่าของคุณ",
        "PRESS_API_URL": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add agent-press-wire --env X402_PRIVATE_KEY='ใส่ค่าของคุณ' --env MAX_SPEND_USD='ใส่ค่าของคุณ' --env MAX_TOTAL_SPEND_USD='ใส่ค่าของคุณ' --env AGENT_PRESS_WIRE_HOME='ใส่ค่าของคุณ' --env PRESS_API_URL='ใส่ค่าของคุณ' -- npx -y agent-press-wire-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "agent-press-wire": {
      "command": "npx",
      "args": [
        "-y",
        "agent-press-wire-mcp"
      ],
      "env": {
        "X402_PRIVATE_KEY": "ใส่ค่าของคุณ",
        "MAX_SPEND_USD": "ใส่ค่าของคุณ",
        "MAX_TOTAL_SPEND_USD": "ใส่ค่าของคุณ",
        "AGENT_PRESS_WIRE_HOME": "ใส่ค่าของคุณ",
        "PRESS_API_URL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "agent-press-wire": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "agent-press-wire-mcp"
      ],
      "env": {
        "X402_PRIVATE_KEY": "ใส่ค่าของคุณ",
        "MAX_SPEND_USD": "ใส่ค่าของคุณ",
        "MAX_TOTAL_SPEND_USD": "ใส่ค่าของคุณ",
        "AGENT_PRESS_WIRE_HOME": "ใส่ค่าของคุณ",
        "PRESS_API_URL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • X402_PRIVATE_KEY ความลับ env
    Private key of YOUR OWN Base wallet holding USDC, used to pay per call via x402. Omit for quote-only mode.
  • MAX_SPEND_USD env
    Max USD the server may pay for a single call. 0 (default) = quote only, never pays. Prices: $1 newsroom, $99 wire, $299 premium wire.
  • MAX_TOTAL_SPEND_USD env
    Lifetime cap in USD across all calls and restarts, tracked in a ledger at ~/.agent-press-wire/spend.json. Defaults to MAX_SPEND_USD (one paid call's worth).
  • AGENT_PRESS_WIRE_HOME env
    Directory for the spend ledger (spend.json). Default ~/.agent-press-wire.
  • PRESS_API_URL env
    Override the API base URL (testing only).

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub dylancaponi ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด ค้นข้อมูลและความจำของ AIi

  • ดาวมากกว่า 0% ของอีก 5727 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 86% ของอีก 5727 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 5727 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Agent Press Wire ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: X402_PRIVATE_KEY

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.0) เข้า registry 6 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Context7, Codebase Memory, Exa

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Context7

ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว

โดย upstashใช้กันมาก↓ 972.7K/สัปดาห์★ 64.2Kอัปเดต เมื่อวานซืน

บนเครื่องหรือคลาวด์

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

โดย DeusDataใช้กันมาก↓ 18K/สัปดาห์★ 48.1Kอัปเดต 22 วันที่ผ่านมา

รันบนเครื่อง

Exa

Connect AI agents to Exa for web search, content fetching, and multi-step research.

โดย exa-labsใช้กันมาก★ 5.2Kอัปเดต 2 เดือนที่ผ่านมา

รันบนคลาวด์✓ exa.ai

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

Agent Press Wire MCP server

An MCP server that lets AI agents (Claude Desktop, Claude Code, Cursor, any MCP client) announce product launches and distribute press releases through Agent Press Wire. Each call is paid in USDC on Base over x402, from your own wallet. No account, no API key.

Tools

ToolPriceWhat it does
announce_launch_newsroom$1 USDCDrafts a 350-450 word AP-style press release from your product URL and publishes it on a public, search-indexed newsroom page. About 20 seconds.
distribute_press_releasetier: "wire" $99 USDC, tier: "premium" $299 USDCDrafts a 450-600 word release and distributes it over a newswire to 500+ news sites plus 100+ TV and radio network sites. Premium adds AP News, USA Today, Barchart and StreetInsider. Requires city, country, contact_email. Returns an order_id.
get_release_statusFreeStatus and live coverage links for a wire order.

The service only charges when the job succeeds. Failed drafts, rejected topics and wire rejections are not charged.

Bring your own copy

Both paid tools accept optional headline and body. When both are given, Agent Press Wire skips drafting and publishes or distributes the text as written (only a media contact line may be appended). Requirements: plain English text, paragraphs separated by blank lines, body 150 to 900 words (380 to 900 for the wire tiers), a 3 to 20 word headline naming the announcing company, at most 5 links and only to the product's own site. The copy goes through the same safety checks as a drafted release (prohibited topics, market-moving claims on wire tiers, brand must match the page, link policy, model safety review); failures come back uncharged with the reasons.

Pictures

By default the release uses the picture the product page shares (og:image, else twitter:image). Pass image_url (a public http(s) URL or a data:image/...;base64 URI, PNG/JPEG/WebP/GIF, max 1 MB) with optional image_alt (max 125 characters) and image_caption (max 300) to choose it, or no_image: true for none. With your own headline and body you can also pass up to 3 inline pictures in images ([{url, alt, caption}]), placed at [image 1], [image 2], [image 3] lines in the body. Every picture gets a safety review before charging; a picture you supply that fails returns an uncharged error with the reason, and a page picture that fails is left out.

Safety: quote mode by default

Paid tools charge real USDC. Settings that control spending:

  • X402_PRIVATE_KEY: private key of your own Base wallet holding USDC. Without it the server only quotes.
  • MAX_SPEND_USD: the most the server may pay for a single call. Default 0, which means quote only: every paid tool returns the x402 price terms and never pays.
  • MAX_TOTAL_SPEND_USD: lifetime cap across all calls and restarts. Defaults to MAX_SPEND_USD, so out of the box you get at most one paid call until you raise it. Spend is tracked in a ledger at ~/.agent-press-wire/spend.json (override the directory with AGENT_PRESS_WIRE_HOME). Every signed payment authorization is counted, whatever the HTTP outcome, because the server could still settle it until it expires. If a call failed and your wallet shows no transfer for its nonce after valid_before, you can delete that entry from the ledger.

Paying takes two calls. The first call (without confirm_token, or with quote_only: true) returns the price and a confirm_token. The agent shows the user the exact price, and after the user approves it calls again with the same parameters and that confirm_token. Tokens are single use, expire after 10 minutes, and are bound to the endpoint, a hash of the request parameters and the price.

A payment only happens when all of these hold:

  • the key is set, the price is at or below MAX_SPEND_USD, and the lifetime total stays at or below MAX_TOTAL_SPEND_USD;
  • a valid confirm_token was passed and quote_only is not true;
  • the server's x402 terms match values pinned in this package: pay to 0xF7887C1fAf0DbAedc80C78F9D396D594B69eba95, exactly $1 for /v1/press-release, $99 for /v1/wire-release, $299 for /v1/wire-release/premium, USDC on Base mainnet, scheme exact with an EIP-3009 transfer authorization, and maxTimeoutSeconds of 600 or less. Any mismatch is refused, so a compromised server or a wrong PRESS_API_URL cannot redirect funds or raise the price.

The per-call cap is enforced twice: by this server before signing, and by the x402 client's own spend controls.

If a paid call fails after the authorization was signed, the result says the payment was not settled per the server and includes the authorization nonce, valid_before and payer address. Check your wallet before retrying.

Examples: MAX_SPEND_USD=1 MAX_TOTAL_SPEND_USD=5 allows up to five $1 newsroom releases and only quotes the wire tiers. MAX_SPEND_USD=99 MAX_TOTAL_SPEND_USD=99 allows one standard wire release. Use a dedicated wallet funded with only what you intend to spend.

Install

Requires Node 20+.

Claude Code
claude mcp add agent-press-wire \

-e X402_PRIVATE_KEY=0xYOUR_KEY -e MAX_SPEND_USD=1 -e MAX_TOTAL_SPEND_USD=5 \ -- npx -y agent-press-wire-mcp

Quote only (no wallet): claude mcp add agent-press-wire -- npx -y agent-press-wire-mcp

Claude Desktop

Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):

{

"mcpServers": { "agent-press-wire": { "command": "npx", "args": ["-y", "agent-press-wire-mcp"], "env": { "X402_PRIVATE_KEY": "0xYOUR_KEY", "MAX_SPEND_USD": "1", "MAX_TOTAL_SPEND_USD": "5" } } } }

Cursor

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

{

"mcpServers": { "agent-press-wire": { "command": "npx", "args": ["-y", "agent-press-wire-mcp"], "env": { "X402_PRIVATE_KEY": "0xYOUR_KEY", "MAX_SPEND_USD": "1", "MAX_TOTAL_SPEND_USD": "5" } } } }

Other clients: run npx -y agent-press-wire-mcp as a stdio server with the same environment variables.

Vercel AI SDK

The same service is available as AI SDK tools from the agent-press-wire-mcp/ai-sdk subpath. Requires ai 7 or later.

npm install agent-press-wire-mcp ai viem
import { generateText, isStepCount } from 'ai';

import { agentPressWireTools } from 'agent-press-wire-mcp/ai-sdk'; import { privateKeyToAccount } from 'viem/accounts';

const tools = agentPressWireTools({ wallet: privateKeyToAccount(process.env.AGENT_PRIVATE_KEY as 0x${string}), maxPaymentUsd: 1, });

const { text } = await generateText({ model: 'openai/gpt-5-mini', prompt: 'We just shipped v2 of https://example.com with offline sync. Publish a press release about it.', tools, stopWhen: isStepCount(3), });

ToolPriceWhat it does
quotePressReleaseFreePrice of a tier (newsroom, wire, premium) and whether this tool set may pay it. Never signs anything.
publishPressRelease$1 USDCSame as announce_launch_newsroom above.
distributePressRelease$99 or $299 USDCSame as distribute_press_release above.
getReleaseStatusFreeStatus and links for a wire order.

Options:

  • wallet: a viem account (or any x402 EVM signer) holding USDC on Base. Without it the paid tools only return quotes.
  • maxPaymentUsd: most one call may pay. Default 1, so the newsroom release works and the wire tiers only quote. Set 99 or 299 to allow those.
  • maxTotalUsd: most the tool set may pay across all calls. Defaults to maxPaymentUsd, so one paid call.
  • baseUrl, fetch, timeoutMs: for testing and proxies. Payment terms are pinned the same way as in the MCP server, so a different baseUrl cannot change the payee or the price.

The model cannot change these limits. Each paid tool reads the server's 402 terms first and pays only if they match the pinned wallet and price and the caps allow it.

Every paid tool returns an object with status and charged:

  • paid, charged: true: the job succeeded and the service settled the payment. result holds the release or the wire order.
  • not_paid, charged: false: nothing was signed, for example no wallet or the price is over a cap. quote holds the price.
  • rejected, charged: false: the service refused the job (HTTP 422 for bad input or a topic it does not accept, 409 for a duplicate, 502 or 503 for a failure on its side). error and details say what to fix. The service does not settle failed jobs, so these do not count toward maxTotalUsd.
  • unknown, charged: "unknown": the network failed after a payment authorization was sent. Check the wallet for the nonce before retrying. This one keeps counting toward maxTotalUsd.

To have a person approve the wire tiers, use the AI SDK's approval setting: toolApproval: { distributePressRelease: 'user-approval' } in generateText or streamText.

Integration guide: https://agentpresswire.dev/docs/ai-sdk

Example prompts

  • "Announce my launch: https://example.com, we just shipped v2 with offline mode."
  • "Write and distribute a press release for https://example.com. We're in Austin, United States, press@example.com."
  • "How much would it cost to get press coverage for my product?" (the agent calls with quote_only: true)
  • After the user approves a quoted price, the agent repeats the call with the returned confirm_token.
  • "Check the status of press release w_3f9d0a1b2c."

Quote response

{

"mode": "quote", "paid": false, "reason": "no confirm_token: this was a quote", "quote": { "price_usd": 99, "asset": "USDC", "network": "Base mainnet (eip155:8453)", "pay_to": "0xF7887C1fAf0DbAedc80C78F9D396D594B69eba95" }, "spend": { "spent_total_usd": 0, "max_total_spend_usd": 99, "max_spend_usd": 99 }, "confirm_token": "ct1.1791069332201.6cba...d563", "confirm_token_expires_in_seconds": 600 }

Development

npm install

npm run build npm test # offline guard-rail tests against a localhost mock x402 server; never pays npm run test:quote # quote-mode smoke test against production; never pays npx @modelcontextprotocol/inspector node dist/index.js

PRESS_API_URL overrides the API base URL for testing.

License

MIT

ถาม PopNx