Skip to main content
Glama
Alicepoltora

Sub Killer MCP Server

by Alicepoltora
README.md
# Sub Killer MCP Server

> MCP server for Dead Subscription Killer — scan wallets, detect crypto subscriptions, manage approvals on Monad.

**The first MCP server for blockchain subscription management.**

## What Is This?

An [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server that lets AI agents (Claude, Cursor, Windsurf, etc.) scan wallets for forgotten token approvals and subscriptions on the Monad blockchain.

### Use Cases

- **"Scan my wallet for risky approvals"** — agent calls `scan_wallet`
- **"What is this spender address?"** — agent calls `identify_spender`
- **"How much would I save on Monad vs Ethereum?"** — agent calls `estimate_gas_savings`
- **"Do a security audit of my wallet"** — agent uses `security_audit` prompt

## Tools

| Tool | Description |
|------|-------------|
| `scan_wallet` | Scan a wallet for active token approvals |
| `identify_spender` | Identify what a spender address is (protocol, category, risk) |
| `get_known_protocols` | List all known DeFi protocols with risk levels |
| `check_allowance` | Check allowance for specific token/spender |
| `get_contract_stats` | Get user stats from SubscriptionKiller contract |
| `get_contract_subscriptions` | Get subscriptions from contract |
| `estimate_gas_savings` | Compare gas costs Monad vs Ethereum |
| `get_network_info` | Get Monad network details |

## Resources

| Resource | Description |
|----------|-------------|
| `sub-killer://protocols/all` | Full known protocols database |
| `sub-killer://protocols/categories` | Protocol categories |
| `sub-killer://network/testnet` | Monad testnet config |
| `sub-killer://network/mainnet` | Monad mainnet config |

## Prompts

| Prompt | Description |
|--------|-------------|
| `analyze_wallet` | Comprehensive wallet analysis |
| `security_audit` | Security-focused approval audit |
| `compare_networks` | Gas cost comparison Monad vs Ethereum |

## Setup

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "sub-killer": {
      "command": "node",
      "args": ["/path/to/sub-killer-mcp/src/index.js"]
    }
  }
}
```

### Cursor

Add to `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "sub-killer": {
      "command": "node",
      "args": ["/path/to/sub-killer-mcp/src/index.js"]
    }
  }
}
```

### With npx (after publishing)

```json
{
  "mcpServers": {
    "sub-killer": {
      "command": "npx",
      "args": ["-y", "sub-killer-mcp"]
    }
  }
}
```

## Install & Run

```bash
npm install
node src/index.js
```

## Test

```bash
node src/test.js
```

## Known Protocols Database

Includes 40+ known DeFi protocols across categories:

- **DEX**: Uniswap, SushiSwap, PancakeSwap, 1inch
- **Lending**: Aave, Compound
- **Staking**: Lido, Rocket Pool, Coinbase
- **NFT**: OpenSea, Blur
- **Derivatives**: dYdX, GMX
- **Bridges**: Base, Optimism, Arbitrum

## Architecture

```
sub-killer-mcp/
├── src/
│   ├── index.js          # MCP server entry point
│   ├── test.js            # Test suite
│   ├── tools/
│   │   └── index.js       # Tool definitions & handlers
│   ├── lib/
│   │   └── scanner.js     # Blockchain scanner (viem)
│   └── data/
│       └── protocols.js   # Known protocols DB
├── package.json
└── README.md
```

## Why Monad?

| Metric | Ethereum | Monad |
|--------|----------|-------|
| Gas per tx | $20-50 | $0.001 |
| Finality | 12 min | <1s |
| TPS | 15 | 10,000 |

Batch-cancelling 10 subscriptions costs ~$300 on Ethereum. On Monad: $0.01.

## License

MIT

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation4/5

Tool purposes are mostly distinct, with minor overlap between scan_wallet (detecting approvals and subscriptions) and get_contract_subscriptions (listing subscriptions from a contract). Identify_spender and get_known_protocols are complementary but serve different immediate needs.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, e.g., scan_wallet, identify_spender, estimate_gas_savings. No mixed conventions or ambiguous verbs.

Tool Count5/5

With 8 tools, the server is well-scoped for its purpose of scanning wallet subscriptions and allowances on Monad. Each tool covers a necessary function without overloading.

Completeness4/5

The server covers scanning, identification, allowance checks, contract stats, and gas savings. Missing actionable tools like revoking approvals or cancelling subscriptions, but the stated focus is on monitoring and information.

Maintenance

ActivityStale
ResponsivenessNo issues