Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Gatefareio MCP

by gatefareioversion 1.1.0i★ –iRuns on your computer
Registry nameio.github.gatefareio/mcp-server

Install

Overview

Description from the maker (original English)

Marketplace of paid HTTP APIs. USDC micropayments via x402 on Base. Non-custodial.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other
  • You need to fill in: WALLET_PRIVATE_KEY, GATEFARE_PAT

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: WALLET_PRIVATE_KEY, WALLET_BUDGET_USD, WALLET_NETWORK, GATEFARE_PAT, GATEFARE_BASE_URL

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "gatefareio": {
      "command": "npx",
      "args": [
        "-y",
        "@gatefare/mcp"
      ],
      "env": {
        "WALLET_PRIVATE_KEY": "your-value",
        "WALLET_BUDGET_USD": "your-value",
        "WALLET_NETWORK": "your-value",
        "GATEFARE_PAT": "your-value",
        "GATEFARE_BASE_URL": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add gatefareio --env WALLET_PRIVATE_KEY=your-value --env WALLET_BUDGET_USD=your-value --env WALLET_NETWORK=your-value --env GATEFARE_PAT=your-value --env GATEFARE_BASE_URL=your-value -- npx -y @gatefare/mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "gatefareio": {
      "command": "npx",
      "args": [
        "-y",
        "@gatefare/mcp"
      ],
      "env": {
        "WALLET_PRIVATE_KEY": "your-value",
        "WALLET_BUDGET_USD": "your-value",
        "WALLET_NETWORK": "your-value",
        "GATEFARE_PAT": "your-value",
        "GATEFARE_BASE_URL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "gatefareio": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@gatefare/mcp"
      ],
      "env": {
        "WALLET_PRIVATE_KEY": "your-value",
        "WALLET_BUDGET_USD": "your-value",
        "WALLET_NETWORK": "your-value",
        "GATEFARE_PAT": "your-value",
        "GATEFARE_BASE_URL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • WALLET_PRIVATE_KEY secret env
    EVM private key (32 bytes hex). Required for buyer tools (call_api, get_wallet_balance, estimate_cost). Stays on the user's machine.
  • WALLET_BUDGET_USD env
    Optional runtime spend cap in USD; call_api throws BUDGET_EXHAUSTED when reached.
  • WALLET_NETWORK env
    Network identifier. Defaults to eip155:8453 (Base mainnet). Use eip155:84532 for Sepolia testnet.
  • GATEFARE_PAT secret env
    Personal access token (gfpat_...) from gatefare.io/dashboard/tokens. Required for publisher tools (register_api, list_my_apis, update_api, get_revenue, distribute).
  • GATEFARE_BASE_URL env
    Override the Gatefare base URL (defaults to https://gatefare.io). Useful for self-hosted deployments.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account gatefareio, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 32623 servers in this category
  • Published to the registry more recently than 10% of the other 32623 servers in this category
  • Basic checks equal to or better than 100% of the other 32623 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Gatefareio MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: WALLET_PRIVATE_KEY, GATEFARE_PAT

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.1.0) reached the registry 6 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Draugr

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

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

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

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

Runs in the cloud★ 211Updated 2 days ago
Install

Draugr

by draugr-dev

Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.

Runs on your computerUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

@gatefare/mcp

Give your AI agent a wallet and a marketplace.

@gatefare/mcp is a Model Context Protocol server that connects Claude

Desktop, Cursor, or any MCP-compatible agent to the

Gatefare catalog of paid HTTP APIs. Payments

settle as USDC on Base via the open x402 standard

— no SaaS keys, no subscriptions, no escrow. Non-custodial: signing

happens locally; the private key never leaves your machine.

┌─────────────┐                ┌──────────────┐                ┌─────────────────┐

│ Claude / │ MCP stdio │ @gatefare/mcp│ HTTP + x402 │ gatefare.io │ │ Cursor / │ ─────────────► │ (this repo)│ ─────────────► │ proxy + │ │ your agent │ │ │ │ catalog │ └─────────────┘ └──────┬───────┘ └─────────────────┘ │ │ EIP-3009 sign ▼ ┌─────────────┐ │ Base USDC │ └─────────────┘

Quick start

1. Drop into your client

Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{

"mcpServers": { "gatefare": { "command": "npx", "args": ["-y", "@gatefare/mcp"] } } }

Cursor — ~/.cursor/mcp.json or project-level .cursor/mcp.json:

{

"mcpServers": { "gatefare": { "command": "npx", "args": ["-y", "@gatefare/mcp"] } } }

Restart the client. The agent now has 5 read-only tools — discovery + safety. Try:

*"Search Gatefare for weather APIs."*

2. Add a wallet to make paid calls

Add env to the same config:

{

"mcpServers": { "gatefare": { "command": "npx", "args": ["-y", "@gatefare/mcp"], "env": { "WALLET_PRIVATE_KEY": "0xYOUR_KEY", "WALLET_BUDGET_USD": "5.00" } } } }

Buyer tools (call_api, get_wallet_balance, estimate_cost) become available. The WALLET_BUDGET_USD cap is a runtime safety net — for a hard cap, fund the wallet with only what you're willing to spend.

*"What's London's weather right now? Spend up to $0.001."*

3. (Optional) Publish your own APIs

Get a PAT at gatefare.io/dashboard/tokens and add:

"env": {

"GATEFARE_PAT": "gfpat_..." }

Publisher tools (register_api, list_my_apis, update_api, get_revenue, distribute) appear.

*"Publish my API at https://api.example.com/sentiment for $0.001 per call."*

Tools

13 tools across 4 domains. Tools auto-register based on which env vars are set — the agent never sees a tool it can't use.

Discovery — always available
ToolDescription
gatefare.search_apisFull-text search the catalog with filters (price, category, sort)
gatefare.get_apiFull details for one API by slug or handle/urlName
gatefare.list_categoriesAll categories with API counts
gatefare.suggestAutocomplete suggestions for a query string
Buyer — needs WALLET_PRIVATE_KEY
ToolDescription
gatefare.call_apiMake a paid call. Handles 402 → sign → retry automatically
gatefare.get_wallet_balanceUSDC + ETH on Base, plus remaining runtime budget
gatefare.estimate_costProject total cost for N planned calls
Publisher — needs GATEFARE_PAT
ToolDescription
gatefare.register_apiPublish a new paid API
gatefare.list_my_apisYour published APIs with stats
gatefare.update_apiEdit metadata, price, target URL
gatefare.get_revenueRevenue time series + totals
gatefare.distributeTrigger on-chain distribute() payout (destructive)
Safety — always available
ToolDescription
gatefare.report_abuseReport a malicious / stolen API (DMCA, fraud, malware…)

Configuration

VarDefaultRequired for
GATEFARE_BASE_URLhttps://gatefare.io— (override for self-hosted)
WALLET_PRIVATE_KEY—Any buyer tool
WALLET_BUDGET_USDunlimitedOptional spend cap
WALLET_NETWORKeip155:8453eip155:84532 for Sepolia testnet
GATEFARE_PAT—Any publisher tool
LOG_LEVELinfodebug for verbose stderr

Examples

Discover & buy in one breath (Claude Desktop)

You: *Find me a sub-$0.001 weather API and call it for "Tokyo".*

Claude: *Calling gatefare.search_apis with max_price: 0.001…*

*Found demo-weather by @alice at $0.001/call.*

*Calling gatefare.call_api with slug: "demo-weather", query: {city: "Tokyo"}…*

*Tokyo is 22°C, partly cloudy. Paid 0.001 USDC. Receipt: settled-tx-0x9a…*

Programmatic — Python agent
from mcp import ClientSession, StdioServerParameters

from mcp.client.stdio import stdio_client

server = StdioServerParameters( command="npx", args=["-y", "@gatefare/mcp"], env={"WALLET_PRIVATE_KEY": "0x...", "WALLET_BUDGET_USD": "1.00"}, )

async with stdio_client(server) as (r, w): async with ClientSession(r, w) as s: await s.initialize() result = await s.call_tool( "gatefare.call_api", arguments={"slug": "demo-weather", "query": {"city": "Tokyo"}}, ) print(result.content[0].text)

See examples/ for runnable variants: Claude Desktop, Cursor, Python, TypeScript, and a pure-discovery walkthrough.

Not building an AI agent? Picking the right tool

If you want to pay for x402 APIs from a backend (no agent), use Coinbase's official x402 SDKs — x402-python (PyPI), coinbase/x402/go, …/java, or @x402/fetch. They handle the payment flow; you don't need this MCP server.

If you want to browse the Gatefare catalog from any language, hit the REST API directly: gatefare.io/api/catalog (OpenAPI 3.1 spec).

Full breakdown of which tool fits which use case in docs/integrations.md.

Direct CLI (for debugging)
# Run the server in foreground; talks JSON-RPC over stdio.

npx -y @gatefare/mcp

In another terminal, send a frame:

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | \ npx -y @gatefare/mcp

Errors

Tool results include isError: true and a structured body { error: , message: , details?: }. Codes are stable — agents can switch on them for retry / surfacing logic.

CodeMeaning
INVALID_INPUTInput failed zod validation
WALLET_NOT_CONFIGUREDSet WALLET_PRIVATE_KEY for buyer tools
PAT_NOT_CONFIGUREDSet GATEFARE_PAT for publisher tools
BUDGET_EXHAUSTEDRuntime budget cap hit
INSUFFICIENT_BALANCEWallet doesn't have enough USDC
PRICE_TOO_HIGHServer's price exceeds your max_price
API_NOT_FOUNDSlug doesn't exist or is suspended
UPSTREAM_ERRORPaid API returned non-2xx, or its 402 was malformed
RATE_LIMITEDGatefare rate-limited the request
NETWORK_ERRORCould not reach Gatefare
GATEFARE_API_ERRORGatefare returned a 4xx / 5xx

How it works (the 30-second version)

  1. The agent calls gatefare.call_api { slug: "demo-weather", … }.
  2. We GET https://gatefare.io/p/demo-weather (no payment yet).
  3. The Gatefare proxy returns 402 Payment Required with accepts: [{network, payTo, maxAmountRequired, …}].
  4. We sign an EIP-3009 transferWithAuthorization for that exact amount and recipient on the configured network.
  5. We retry the request with the signed X-Payment header (base64-encoded JSON, x402 v2).
  6. Gatefare verifies the signature, settles the USDC transfer, and proxies the call to the upstream API.
  7. We hand the upstream response (and a payment receipt) back to the agent.

The signature is single-use, time-bounded, and never leaves your machine for any purpose other than this exact transfer to this exact payTo. The private key is never logged.

Security

  • Non-custodial. Private keys live in your env, signing happens locally, no Gatefare service ever sees them.
  • Network confusion-resistant. A malicious gateway returning Sepolia-only requirements to a mainnet user is rejected — we never sign for a chain the user didn't configure.
  • Cryptographically random nonces. No Date.now()-based collisions.
  • Validity window clamped to 1 hour even if the server requests more.
  • Strict input validation. Slugs are ^[a-z0-9_-]+$ and URL-encoded; no path traversal. targetUrl blocks file://, localhost, cloud metadata IPs, .local, and .internal hosts at registration time.
  • Secret hygiene. Tests assert that the private key and PAT never appear in stderr / stdout, ever.

Development

git clone https://github.com/gatefareio/mcp-server.git

cd mcp-server npm install npm run typecheck npm test # 138 unit tests npm run test:e2e # 10 e2e tests against live gatefare.io (set GATEFARE_E2E=1) npm run build

To use a local checkout in your client config:

npm link

in claude_desktop_config.json:

"command": "gatefare-mcp"

Architecture
src/

├── index.ts # entry — wires stdio transport ├── server.ts # McpServer instance + tool registration ├── config.ts # env parsing, capability detection ├── client.ts # REST client (wraps fetch) ├── x402.ts # 402 parsing + EIP-3009 signing ├── types.ts # shared types + GatefareError └── tools/ ├── discovery.ts # search_apis, get_api, list_categories, suggest ├── buyer.ts # call_api, get_wallet_balance, estimate_cost ├── publisher.ts # register_api, list_my_apis, update_api, get_revenue, distribute └── safety.ts # report_abuse

Test layout
tests/

├── config.test.ts # env parsing edges ├── client.test.ts # HTTP client error mapping ├── x402.test.ts # signing + parsing primitives ├── x402-flow.test.ts # full 402 → sign → retry handshake (mocked fetch) ├── server.test.ts # capability-driven tool registration ├── init.test.ts # subprocess: bootstrap, env crashes, secret leakage ├── stdio-protocol.test.ts # stdout pollution + recovery from tool errors ├── stability.test.ts # 100 con

Only the beginning is shown; read the rest in the repo

Ask PopNx