Metadata-Version: 2.4
Name: mcp-tools-bundle
Version: 1.0.0
Summary: 3 zero-dependency MCP servers in pure Python
Author: AMEOBIUS
License: MIT
Project-URL: Homepage, https://github.com/AMEOBIUS/mcp-tools-bundle
Keywords: mcp,ai,agent,tools
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# MCP Tools Bundle — 3 Zero-Dependency MCP Servers in Pure Python

> Three production-ready MCP (Model Context Protocol) servers for AI agents. Zero pip dependencies. Pure Python stdlib. 105 tests passing.

## Servers

| Server | Tools | Tests | Repo |
|--------|-------|-------|------|
| **mcp-cdp-scraper** | 12 | 38 | [github.com/AMEOBIUS/mcp-cdp-scraper](https://github.com/AMEOBIUS/mcp-cdp-scraper) |
| **mcp-crypto-monitor** | 10 | 30 | [github.com/AMEOBIUS/mcp-crypto-monitor](https://github.com/AMEOBIUS/mcp-crypto-monitor) |
| **mcp-email-sender** | 8 | 37 | [github.com/AMEOBIUS/mcp-email-sender](https://github.com/AMEOBIUS/mcp-email-sender) |
| **Total** | **30** | **105** | |

## Why Zero Dependencies?

Every MCP server here uses **only Python's standard library** — no pip installs, no npm, no Playwright, no Selenium, no requests. Just Python 3.10+ and an internet connection.

This means:
- **Docker images stay tiny** (~50MB vs 250MB+ with Playwright)
- **No supply chain risk** — no third-party packages to audit
- **Fast CI** — no dependency resolution, no cache invalidation
- **Portable** — works in any Python environment without venv setup

## Quick Install

```bash
# Clone all three
git clone https://github.com/AMEOBIUS/mcp-cdp-scraper.git
git clone https://github.com/AMEOBIUS/mcp-crypto-monitor.git
git clone https://github.com/AMEOBIUS/mcp-email-sender.git

# No pip install needed — zero dependencies!
# Just run directly:
python mcp-cdp-scraper/src/server.py --manifest
python mcp-crypto-monitor/src/server.py --manifest
python mcp-email-sender/src/server.py --manifest
```

## Claude Desktop Config (all 3 servers)

```json
{
  "mcpServers": {
    "cdp-scraper": {
      "command": "python",
      "args": ["-m", "src.server", "--stdio"],
      "cwd": "/path/to/mcp-cdp-scraper"
    },
    "crypto-monitor": {
      "command": "python",
      "args": ["-m", "src.server", "--stdio"],
      "cwd": "/path/to/mcp-crypto-monitor"
    },
    "email-sender": {
      "command": "python",
      "args": ["-m", "src.server", "--stdio"],
      "cwd": "/path/to/mcp-email-sender",
      "env": {
        "SMTP_HOST": "smtp.gmail.com",
        "SMTP_PORT": "587",
        "SMTP_USERNAME": "your@gmail.com",
        "SMTP_PASSWORD": "your-app-password",
        "SMTP_TLS": "true"
      }
    }
  }
}
```

## Hermes Agent Config

```yaml
mcp:
  servers:
    cdp-scraper:
      command: python
      args: ["-m", "src.server", "--stdio"]
      cwd: /path/to/mcp-cdp-scraper

    crypto-monitor:
      command: python
      args: ["-m", "src.server", "--stdio"]
      cwd: /path/to/mcp-crypto-monitor

    email-sender:
      command: python
      args: ["-m", "src.server", "--stdio"]
      cwd: /path/to/mcp-email-sender
```

## mcp-cdp-scraper — Web Scraping via Chrome DevTools Protocol

**12 tools**: `scrape_page`, `extract_text`, `extract_links`, `extract_images`, `extract_table`, `fill_form`, `click_element`, `screenshot`, `get_html`, `wait_for`, `scroll_to`, `list_tabs`

Connects to any Chrome/Chromium instance via raw WebSocket CDP. React/Vue compatible form filling using native setters + synthetic events. No Playwright, no Selenium.

```python
from src.server import MCPCDPScraperServer

server = MCPCDPScraperServer()
result = server.handle_tool_call("scrape_page", {"url": "https://news.ycombinator.com"})
```

## mcp-crypto-monitor — Crypto Wallet & Price Monitoring

**10 tools**: `get_btc_balance`, `get_eth_balance`, `get_erc20_balance`, `get_btc_transactions`, `get_price`, `get_price_binance`, `get_portfolio_value`, `get_gas_price`, `get_fear_greed`, `monitor_address`

Uses free public APIs only — Blockchain.info, Etherscan, CoinGecko, Binance, alternative.me. No API keys required.

```python
from src.server import MCPCryptoMonitorServer

server = MCPCryptoMonitorServer()
result = server.handle_tool_call("get_portfolio_value", {"holdings": {"BTC": 0.5, "ETH": 10.0}})
```

## mcp-email-sender — Email Validation & SMTP

**8 tools**: `validate_email`, `validate_email_batch`, `check_mx_records`, `is_disposable`, `is_role_based`, `send_email`, `send_email_batch`, `test_smtp_connection`

Email validation (format, disposable, role-based, MX records) + SMTP sending (TLS/SSL, CC/BCC, batch). Pure stdlib (smtplib, email, re, socket).

```python
from src.server import MCPEmailServer

server = MCPEmailServer()
result = server.handle_tool_call("validate_email", {"email": "user@gmail.com"})
```

## Architecture

Each server follows the same pattern:

```
MCP Client (Claude / Hermes / any)
    │  JSON-RPC over STDIO
    ▼
MCPServer (src/server.py)
    │  Tool dispatch + schema
    ▼
Engine (src/<engine>.py)
    │  Zero-dep business logic
    ▼
External API / Chrome / SMTP
```

## Testing

```bash
# Run all tests
cd mcp-cdp-scraper && python -m pytest tests/ -q    # 38 passed
cd mcp-crypto-monitor && python -m pytest tests/ -q  # 30 passed
cd mcp-email-sender && python -m pytest tests/ -q    # 37 passed
# Total: 105 tests, all passing
```

## License

MIT — all three servers

## Author

AMEOBIUS — [github.com/AMEOBIUS](https://github.com/AMEOBIUS)

BTC/USDT/ETH/XMR accepted via [@darkbot_ai_bot](https://t.me/darkbot_ai_bot)
