3 zero-dependency MCP servers in pure Python
Project description
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/aaameobius-crypto/mcp-tools-bundle |
| mcp-crypto-monitor | 10 | 30 | github.com/aaameobius-crypto/mcp-tools-bundle |
| mcp-email-sender | 8 | 37 | github.com/aaameobius-crypto/mcp-tools-bundle |
| 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
# Clone all three
git clone https://github.com/aaameobius-crypto/mcp-tools-bundle.git
git clone https://github.com/aaameobius-crypto/mcp-tools-bundle.git
git clone https://github.com/aaameobius-crypto/mcp-tools-bundle.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)
{
"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
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.
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.
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).
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
# 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
aaameobius-crypto — github.com/aaameobius-crypto
BTC/USDT/ETH/XMR accepted via @darkbot_ai_bot
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_tools_bundle-1.1.0.tar.gz.
File metadata
- Download URL: mcp_tools_bundle-1.1.0.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ad8071248effc3ae613e7bef0a8334e66876ac63d3990fc12f3415bfb0f0a46
|
|
| MD5 |
ec684c2735b26534c03efa0fcaf92631
|
|
| BLAKE2b-256 |
0ac29912fdefc503a6afb502acd1282baf39170edc644524cdf4954aae01a45b
|
File details
Details for the file mcp_tools_bundle-1.1.0-py3-none-any.whl.
File metadata
- Download URL: mcp_tools_bundle-1.1.0-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6852a8bb6123ee0eb50567b1a990152d7a3e5af29e323e4fedb343a2ac2ae9c0
|
|
| MD5 |
6283848f07662394c4911ffc6494c9f0
|
|
| BLAKE2b-256 |
1ff571f82a885d70872c8e5a8d5e65f295e481c23c9afea890a25f9a958390c8
|