Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Drain MCP

de kimbo128versión 0.1.3i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.kimbo128/drain-mcp

Instalar

Resumen

Descripción del creador (original en inglés)

Pay for AI inference with USDC micropayments on Polygon. No API keys needed.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Otros
  • Debes completar: DRAIN_PRIVATE_KEY

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "drain": {
      "command": "npx",
      "args": [
        "-y",
        "drain-mcp"
      ],
      "env": {
        "DRAIN_PRIVATE_KEY": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add drain --env DRAIN_PRIVATE_KEY=your-value -- npx -y drain-mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "drain": {
      "command": "npx",
      "args": [
        "-y",
        "drain-mcp"
      ],
      "env": {
        "DRAIN_PRIVATE_KEY": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "drain": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "drain-mcp"
      ],
      "env": {
        "DRAIN_PRIVATE_KEY": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • DRAIN_PRIVATE_KEY secreto obligatorio env
    Private key for the wallet used for USDC micropayments on Polygon

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub kimbo128, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Otrosi

  • Más estrellas que el 0% de los otros 18349 servidores de esta categoría
  • Publicado en el registro más recientemente que el 2% de los otros 18349 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 18349 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Drain MCP?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: DRAIN_PRIVATE_KEY

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.1.3) llegó al registro hace 9 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Spec Driven Development, Remote Desktop Commander, arr-mcp

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Spec Driven Development

de formulahendry

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

Se ejecuta en tu computadora★ 440MITActualizado hace 14 meses
Instalar

Remote Desktop Commander

de desktop-commander

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

Se ejecuta en la nube★ 211Actualizado anteayer
Instalar

arr-mcp

de bardesss

One server, 40 tools, the whole media stack: *arrs, Jellyfin, Plex, Seerr, Cleanuparr, downloaders

Se ejecuta en tu computadoraActualizado hoy
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

DRAIN MCP Server

Payments for AI Agents — No API keys, no credit cards, no subscriptions.

MCP server for the Handshake58 AI Marketplace. Agents discover service providers, pay automatically, and call any service — LLM inference, web scraping, image generation, search, and more.

Supports two payment protocols:

  • DRAIN — Payment channels on Polygon. Open once, send many requests, close when done.
  • MPP — Per-request payments via Tempo. Each request is paid individually. No channel needed.
DRAINMPP
SetupOpen channel ($0.02 gas)None
Per request$0.0001–$0.01Varies by provider
Best forHigh-volume sessionsSingle requests, REST APIs
PaymentUSDC on PolygonUSDC on Tempo chain

When to Use

Use drain-mcp when you need to:

  • Call any service (LLM, search, scraping, image gen, etc.) without API keys
  • Pay per-request with USDC — no subscriptions, no credit cards
  • Access 30+ providers through one unified interface

Do NOT use drain-mcp when:

  • You already have API keys for the service you need
  • The task doesn't require external services

TL;DR - Minimum Viable Workflow

MPP Providers (per-request, no channel)
1. drain_providers(protocol: "mpp")  → Find MPP providers
  1. drain_provider_info(id) → Read docs (essential for REST APIs)
  2. mpp_chat(provider, messages) → LLM providers (auto-pay via Tempo) — OR — mpp_request(url, body) → REST API providers (auto-pay via Tempo)
  3. drain_feedback(providerId, outcome) → Optional: report success/failure
DRAIN Providers (payment channels)
1. drain_providers(protocol: "drain") → Find DRAIN providers
  1. drain_provider_info(id) → Get provider details + usage docs
  2. drain_balance() → Check USDC + POL
  3. drain_approve() → Approve USDC spending (once)
  4. drain_open_channel(...) → Deposit USDC, get channelId
  5. drain_chat(...) → Send requests (repeat as needed)
  6. drain_cooperative_close(...) → Close early, instant refund (when done) — OR after expiry —
  7. drain_close_channel(...) → Reclaim funds (after expiry)

When to Close a Channel

  • Done with your task? → Use drain_cooperative_close(channelId). Instant refund of unspent deposit. Always do this when finished.
  • Planning more requests soon? → Keep the channel open. No need to close and reopen — saves $0.04 in gas fees.
  • Channel expired? → Use drain_close_channel(channelId). Reclaims unspent USDC after the expiry timestamp. Funds do NOT return automatically.

Rule of thumb: Close when the task is done. Keep open while working.


Already Hit a 402?

MPP providers: drain-mcp handles 402 automatically via mppx/Tempo. Just use mpp_chat or mpp_request — payment is resolved transparently.

DRAIN providers return 402 Payment Required with headers when no payment voucher is sent:

HeaderValue
X-Payment-Protocoldrain-v2
X-Payment-ProviderProvider wallet address (open channel to this)
X-Payment-ContractDRAIN contract address
X-Payment-Chain137 (Polygon Mainnet)
X-Payment-SigningURL for EIP-712 signing parameters
X-Payment-DocsProvider docs endpoint

DRAIN Flow:

  1. Call a provider endpoint (no voucher) → get 402 with headers
  2. Install drain-mcp or use the signing API at the X-Payment-Signing URL
  3. Open a channel to the X-Payment-Provider address
  4. Retry the request with an X-DRAIN-Voucher header

Everything you need is in the 402 response. No prior registration required.


Tools Reference

Discovery
drain_providers

Find service providers. Filter by model name, category, or online status.

{

"model": "gpt-4o", "category": "scraping", "onlineOnly": true }

Categories: llm, image, audio, code, scraping, vpn, multi-modal, other

drain_provider_info

Get details about a provider including usage instructions (docs). The docs explain how to format requests for that provider.

{ "provider": "hs58-openai" }
Wallet
drain_balance

Check wallet USDC balance, POL for gas, and DRAIN contract allowance.

drain_approve

Approve USDC spending for the DRAIN contract. Required once before opening channels.

{ "amount": "100" }
Channels
drain_open_channel

Open a payment channel. Locks USDC for the specified duration.

{

"provider": "hs58-openai", "amount": "5.00", "duration": "24h" }

Returns channelId, expiry time, and provider usage docs.

drain_channel_status

Check a channel's deposit, spending, remaining balance, and expiry.

drain_channels

List all known channels with status (active/expired/closed). Find expired channels that need closing.

Usage (DRAIN)
drain_chat

Send a paid request through a DRAIN channel. Works for ALL DRAIN provider types:

  • LLM providers: Standard chat messages
  • Non-LLM providers: JSON payload in the user message content (check provider docs)
{

"channelId": "0x...", "model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}] }

Usage (MPP)
mpp_chat

Send a chat request to an MPP LLM provider. Payment is automatic via Tempo — no channel, no setup.

{

"provider": "provider-id-or-url", "messages": [{"role": "user", "content": "Hello"}], "model": "optional-model-id" }

mpp_request

Send a request to an MPP REST API service (Tavily, Brave, Wolfram, etc.). Payment is automatic via Tempo.

{

"url": "https://tavily.mpp.paywithlocus.com/tavily/search", "body": {"query": "AI agents", "max_results": 5} }

Read the provider's docs first (drain_provider_info) to find the correct endpoint paths and request format.

Quality Feedback
drain_feedback

Report success or failure after using any provider (DRAIN or MPP). Feeds the marketplace quality scoring system.

{

"providerId": "provider-id", "outcome": "success", "reason": "accurate_result" }

Settlement
drain_cooperative_close

Close a channel early with provider consent. Use this when your task is done — instant refund of unspent deposit. No need to wait for expiry.

{ "channelId": "0x..." }
drain_close_channel

Close an expired channel and reclaim unspent USDC. Use when the channel has passed its expiry timestamp.

{ "channelId": "0x..." }

Economics Example

Opening a GPT-4o channel:

Gas to open channel:     $0.02   (one-time)

Deposit: $0.50 (refundable remainder) Per request: ~$0.001755 Requests possible: ~285

Cost for 10 requests: $0.02 gas + $0.01755 usage = $0.04 Refund after close: $0.50 - $0.01755 = $0.48 Gas to close: $0.02

  • Protocol fee: 2% on provider claims (on-chain)
  • Session fee: none
  • Live pricing: GET https://handshake58.com/api/mcp/providers

Provider Categories

Providers are not limited to LLM chat. Each provider has a category field and a docs endpoint explaining how to format requests.

CategoryDescriptionMessage Format
llmLanguage models (GPT-4o, Claude, Grok, Gemini)Standard chat messages
imageImage generationJSON in user content (see docs)
audioAudio/TTS/STTJSON in user content (see docs)
codeCode generationStandard chat or JSON (see docs)
scrapingWeb scraping, data extractionJSON in user content (see docs)
vpnVPN servicesJSON in user content (see docs)
multi-modalMulti-modal modelsStandard chat messages
otherEverything elseAlways check docs

Rule: For any category other than `llm`, call `drain_provider_info` first to read the docs.


Decision Trees

Choosing a Protocol
What provider do I want?

├── MPP provider (protocol="mpp") │ ├── mppType="llm" → mpp_chat(provider, messages) │ └── mppType="rest" → mpp_request(url, body) │ └── Done. Payment was automatic. │ └── DRAIN provider (protocol="drain") └── See DRAIN flow below

Starting a DRAIN Session
Do I have an active channel?

├── YES → Use drain_chat() with existing channelId └── NO → ├── drain_balance() → Do I have USDC? │ ├── NO → Cannot proceed. Need USDC on Polygon. │ └── YES → │ ├── drain_providers() → Find provider │ │ ├── NO providers → Cannot proceed. │ │ └── Found provider → │ │ ├── drain_approve() → First time only │ │ └── drain_open_channel() → Get channelId │ │ └── drain_chat() → Send requests

Ending a DRAIN Session
Am I done with this task?

├── YES → drain_cooperative_close(channelId) → Instant refund └── NO → ├── More requests soon? → Keep channel open └── Channel expired? → drain_close_channel(channelId) → Reclaim funds

Choosing Amount and Duration
Use CaseAmountDuration
Quick test / single query$0.50 - $11h
Short task (few queries)$2 - $54h
Extended session$5 - $2024h
Long-running agent$20 - $1007d
Handling Errors
"Insufficient balance"

→ Need more USDC. Check drain_balance().

"Insufficient allowance" → Run drain_approve().

"Channel not found" → channelId is wrong or channel was closed. Open new channel.

"Channel expired" → For drain_chat: Open a new channel. → For drain_close_channel: Expected. Proceed with close.

"Insufficient channel balance" → Channel deposit used up. Open new channel with more funds.

"Provider offline" → Use drain_providers() to find alternative provider.


Setup

1. Install
npm install -g drain-mcp
2. Create a Wallet (locally)

Generate a key on your own machine — nothing is sent over the network:

node -e "const w=require('ethers').Wallet.createRandom();console.log('Address:', w.address, '\nKey:', w.privateKey)"
3. Fund the Wallet

Send $1–5 USDC on Polygon Mainnet to your wallet address. Use a dedicated low-value wallet — never your main wallet.

No POL needed — if your wallet holds $5+ USDC, free gas is provided:

curl -X POST https://handshake58.com/api/gas-station \

-H "Content-Type: application/json" \ -d '{"address": "0x_your_wallet_address"}'

Returns 0.1 POL (~10K transactions). Sends only your public address.

4. Configure MCP Client
{

"mcpServers": { "drain": { "command": "drain-mcp", "env": { "DRAIN_PRIVATE_KEY": "0x..." } } } }

Environment Variables
VariableRequiredDefaultDescription
DRAIN_PRIVATE_KEYYes—Polygon wallet private key (also used for MPP/Tempo)
DRAIN_CHAIN_IDNo137137 (Polygon) or 80002 (Amoy testnet)
DRAIN_RPC_URLNoPublic RPCCustom Polygon RPC endpoint
DRAIN_MPP_MAX_DEPOSITNo1Max USDC per MPP session deposit

Security & Privacy

Key Handling

DRAIN_PRIVATE_KEY is loaded into memory by the local MCP process. It is used for:

  1. EIP-712 voucher signing for DRAIN channels (off-chain, no network call)
  2. On-chain transaction signing (signed locally, only the signature is broadcast)
  3. Tempo payment signing for MPP requests (handled by mppx, signed locally)

The key is never transmitted to any server. Providers verify signatures against on-chain state.

Spending Limits

DRAIN: Exposure is capped by the smart contract:

  • Maximum spend = channel deposit (you choose the amount)
  • Channel has a fixed duration (you choose)
  • After expiry, unspent funds are reclaimable via drain_close_channel

MPP: Each request is paid individually at the provider's advertised price. No pre-d

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx