原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Fatstack

作者:f4tst4ck版本 1.0.0i★ –i在云端运行
注册名称net.fatstack/registry

安装

概览

作者提供的说明(英文原文)

Paid MCP tools behind one endpoint. Agents pay per call in USDC on Base via x402.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

你需要

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

适用于网页版、桌面版和手机版 Claude:

  1. 打开 Settings → Connectors
  2. 点击 Add custom connector
  3. 粘贴下面的地址,然后点击 Add
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Add2https://…3
https://www.fatstack.net/api/mcp

在终端中运行这条命令

claude mcp add --transport http registry https://www.fatstack.net/api/mcp

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "registry": {
      "url": "https://www.fatstack.net/api/mcp"
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "registry": {
      "type": "http",
      "url": "https://www.fatstack.net/api/mcp"
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

ChatGPT 只能连接互联网上的服务器:

  1. 打开网页版 ChatGPT → Settings → Connectors (Apps)
  2. 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
  3. 粘贴下面的地址,起个名字,然后保存
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Create2https://…3
https://www.fatstack.net/api/mcp

菜单名称可能因套餐和版本不同而略有差异。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过域名 fatstack.net 验证(注册中心会核实域名所有权)

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    端点有响应

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    使用 OAuth 登录

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    工具描述中没有隐藏指令

    尚未检查;我们会在检查端点时读取工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32380 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32380 个服务器的 43% 更新
  • 基础检查结果等于或优于此分类中其他 32380 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Fatstack 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.0.0)于2个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, Dechonet MCP

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

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

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

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

在云端运行★ 211昨天更新
安装

Dechonet MCP

作者:node-man

30 security tools for AI agents: phishing links, exposure maps, DNS, SSL, PQC, history, pivots.

电脑或云端今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

Fatstack

A non-custodial marketplace where AI agents discover and pay for API and MCP tool calls in USDC, per call, over [x402](https://x402.org) on Base.

A provider lists a tool. An agent finds it in the registry and calls it. The tool answers 402 Payment Required with a price. The agent signs a USDC payment authorisation and retries. The call goes through and the money moves wallet to wallet.

Fatstack never touches the money. There is no custody, no withdrawal function, no platform wallet in the payment path, and no stored private keys. Payment is a direct transfer from the agent's wallet to the provider's — or, once a provider's promotional period ends, through an immutable splitter contract that pays the provider and a 2% platform fee in one atomic transaction. If a change would let Fatstack move someone else's money, it is a bug.

Use it from an agent, in one line

Add one MCP server and your agent has the whole catalog:

https://www.fatstack.net/api/mcp

Listing what is available is free; only calls cost anything. There is no account, no API key and no signup — the wallet is the identity. Paying needs an x402-capable client; any MCP client can browse. Published in the official MCP registry as net.fatstack/registry.

This repository holds the parts you run, audit, or depend on. The marketplace application itself is closed; everything an integrator touches is here, under MIT.


The payment cycle

sequenceDiagram

participant A as Agent participant T as Tool (provider) participant F as Facilitator participant C as USDC on Base

A->>T: call the tool T-->>A: 402 Payment Required + price, asset, payTo, resource Note over A: signs an EIP-3009 authorisation covering exactly this resource A->>T: retry with X-PAYMENT T->>F: verify F-->>T: valid T->>T: run the handler T->>F: settle F->>C: transferWithAuthorization C-->>F: mined T-->>A: 200 + result

The agent signs an authorisation, not a transaction: it never pays gas and never sends a transfer itself. The facilitator broadcasts it and pays the gas.

Payments are final. Once settled on chain the transfer cannot be reversed, and there are no refunds. That sentence appears in every 402 body, every quote object, and every payment-facing page, and it is not decoration — it is the property that makes per-call pricing work without an escrow.


Quickstart — providers

Put a paywall in front of a route you already have. Two lines of setup, and the price is per call.

npm install @fatstack/x402
import { Hono } from 'hono';

import { paywall } from '@fatstack/x402'; import { honoPaywall } from '@fatstack/x402/hono';

const app = new Hono();

app.use( '/convert', honoPaywall( paywall({ price: '0.001', // USDC, per call wallet: '0xYourWallet', // paid directly, wallet to wallet toolId: 'unit-convert', network: 'base-sepolia', // test here before base }), ), );

app.post('/convert', (c) => c.json({ celsius: 20, fahrenheit: 68 }));

Adapters ship for Hono, Express and Next on their own entry points — @fatstack/x402/hono, /express, /next — so importing the client into an edge runtime does not drag a Node framework in with it.

Full walkthrough, including listing the tool: [docs/provider-quickstart.md](docs/provider-quickstart.md)

Quickstart — agents

Give a model a set of paid tools it can call, with a spending limit it cannot exceed.

npm install @fatstack/ai-sdk-tools ai viem
import { generateText } from 'ai';

import { fatstackTools } from '@fatstack/ai-sdk-tools'; import { privateKeyToAccount } from 'viem/accounts';

const tools = await fatstackTools({ wallet: privateKeyToAccount(process.env.AGENT_PRIVATE_KEY), networks: ['base'], // the catalogue is mainnet-only; USDC here is real guards: { maxPerDay: 0.5, // hard ceiling per UTC day, in USD maxPerCall: 0.01, // refuse any single call dearer than this }, });

const { text } = await generateText({ model, tools, prompt: 'Convert 20C to F.' });

guards is a required argument with no default. A tool set that can spend money should never be constructible by accident, so omitting it is a type error rather than an unlimited budget.

Full walkthrough: [docs/agent-quickstart.md](docs/agent-quickstart.md)


What is in here

PathWhat it is
sdk/@fatstack/x402 — provider middleware and agent client
integrations/ai-sdk-tools/@fatstack/ai-sdk-tools — a Vercel AI SDK tool set that pays per call
contracts/The USDC payment splitter and its factory, with tests and deployment gates
facilitator/THREAT-MODEL.mdWritten verdicts on six attack classes against the payment path
docs/Provider and agent quickstarts, and the registry format

Packages: @fatstack/x402 · @fatstack/ai-sdk-tools Marketplace: fatstack.net · Registry: registry.json


Security

The payment path was audited against six attack classes — replay, concurrency, cross-resource substitution, verify/settle ordering, field binding, and misconfiguration. Each has a written verdict and at least one test that proves the safe behaviour, run against a real facilitator and real settlements on Base Sepolia rather than mocks.

[facilitator/THREAT-MODEL.md](facilitator/THREAT-MODEL.md) has the verdicts. [contracts/SECURITY.md](contracts/SECURITY.md) covers the splitter.

One class came back vulnerable, and it is worth reading even if you never use Fatstack, because it is a property of x402 rather than of this implementation.

Cross-resource replay

An EIP-3009 authorisation covers (from, to, value, validAfter, validBefore, nonce). It does not cover what was bought. So an authorisation signed to pay for one tool was accepted by a different, more expensive tool from the same provider — same payee, same asset, a valid signature, and nothing in the signed material to say otherwise.

Reproduced on Base Sepolia, settled on chain: 0xd95ea771333c8f33f346c316fad30a64585156831d09e298d501c5b1e17e5659

Fixed in @fatstack/x402 0.2.0 (current release 0.2.1, which is the same code under the correct MIT licence metadata). The middleware now binds a payment to the resource it was quoted for and refuses a mismatch with resource_mismatch, before the facilitator is called — so a mismatched payment costs nothing and is never settled. Nothing a 402 quotes to agents changed.

If you built on x402 without checking that the payment in hand was quoted for the resource in hand, check now.

The finding that shaped the contract

An earlier draft of the splitter took the provider as a call argument. That argument is not covered by the payer's signature either, so anyone observing a pending authorisation could have submitted it with their own address and taken the provider's 98%. The provider is now fixed at construction — one splitter per provider, its address derivable in advance with CREATE2 — which removes the parameter and with it the attack.

See *The finding that changed the design* in contracts/SECURITY.md.

Reporting

Found something? Open an issue for anything already public. For an unreported vulnerability in the payment path, please report privately through GitHub's security advisories on this repository rather than in a public issue.


The contracts are unaudited

The splitter is small, immutable, and has no owner, no pause, no proxy, and no upgrade path. It is covered by 34 tests including a fork test against real USDC on Base, and its fee arithmetic is asserted against the same vectors.json as the TypeScript implementation, so an on-chain split and a quoted price cannot drift apart.

No third party has reviewed it. Read it yourself before depending on it — it is about fifteen lines of code that move money and a hundred lines explaining why.

Contributing to this repository

Some files here differ from their counterparts in the closed repository, because operator detail has been removed. .redactions lists them and scripts/check-redactions.sh refuses anything that puts that material back. Run it before pushing.

Licence

MIT. See LICENSE.

问 PopNx