
revolut-pulse-mcp
Developers and traders: Get real-time stock prices via get_price (Yahoo Finance) or get_prices_bulk, crypto prices via get_crypto_price (Binance), and Revolut tradability via revolut_price_checkβno API keys required. Pair with revolut-pulse-mcp to cross-reference prices against insider filings like get_insider_filings. Monitor top movers with crypto_top_movers for actionable insights.
How to pay
Subscribe
$9/month
Predictable monthly cost with included usage. Best for steady, high-volume traffic.
- Unlimited tools within plan limits
- One API key, billed once a month
- Cancel any time
revolut-pulse-mcp β Real-Time Stock, Crypto & Insider Trading MCP Server
The most complete MCP server for Revolut trading intelligence.
Real-time prices, SEC insider filings, Revolut availability checks, and a built-in programmatic SEO engine β all in one Python server.
What Is revolut-pulse-mcp?
revolut-pulse-mcp is a Model Context Protocol (MCP) server that gives AI assistants (Claude, GPT-4, Cursor, etc.) live access to financial markets, Revolut's tradable asset catalog, and SEC insider trading data β with zero API keys needed for market data.
It also ships a programmatic SEO engine that generates hundreds of financial pages targeting queries like:
- "Is NVDA available on Revolut?"
- "How to buy Bitcoin on Revolut"
- "Revolut vs eToro for TSLA"
- "Insider trading alerts for S&P 500 stocks"
No API keys required for stocks, crypto, and insider data.
Banking tools degrade gracefully when credentials are not configured.
Key Features
π Real-Time Market Data (No Key Required)
- Live stock & ETF prices via Yahoo Finance (~15 min delay)
- Live crypto prices via Binance WebSocket (real-time)
- Bulk price fetching for up to 20 tickers in one call
- Top crypto movers by 24h volume from Binance
- Market Fear & Greed index via Alternative.me
π΅οΈ SEC Insider Trading Intelligence
- SEC Form 4 filings parsed in real-time from EDGAR
- CEO/CFO trade detection with severity scoring (EXTREME / HIGH / MODERATE)
- Insider cluster detection β multiple insiders buying the same stock on the same day
- Weekly insider trading summaries by ticker
- Cross-reference: insider trades mapped to Revolut-tradable stocks only
π³ Revolut Integration
- Full stock & crypto catalog β 130+ stocks, 50+ crypto pairs
- Revolut availability check for any ticker
- Open Banking: accounts, balances, transactions, payments (OAuth2)
- Revolut X: crypto orders, OHLC, trade history (Ed25519 signing)
- FX fee calculator by plan (Standard / Premium / Metal)
- Multi-currency balance viewer with GBP equivalents
π§ AI-Ready Prompts & Resources
- 16 built-in MCP prompts for trading, banking, SEO content generation
- 8 static MCP resources (tradable symbols, plan limits, sector ETFs, SEO keywords)
- Schema-aware structured outputs for every tool
π Programmatic SEO Engine (v3)
- Auto-generates 450+ financial landing pages at deploy time
- Schema.org structured data on every page
- XML sitemap at /sitemap.xml
- Targets Revolut-specific long-tail keywords with commercial intent
Quick Start
Option 1 β Claude Desktop (stdio)
{
"mcpServers": {
"revolut-pulse-mcp": {
"command": "uv",
"args": [
"run", "--with",
"fastmcp,httpx,beautifulsoup4,pynacl,fastapi,uvicorn",
"python", "app.py"
],
"cwd": "/path/to/revolut-pulse-mcp"
}
}
}
Option 2 β HTTP Server (Claude.ai / API / Cloud Run)
git clone https://github.com/gepappas98/revolut-pulse-mcp.git
cd revolut-pulse-mcp
pip install -r requirements.txt
MCP_TRANSPORT=http python app.py
Server starts on http://0.0.0.0:8080.
MCP endpoint: POST /mcp
SSE endpoint: GET /mcp/sse
Health check: GET /ping
Full Tool Reference (38 Tools)
Market Data & Revolut Availability
| Tool | Description |
|---|---|
| get_price | Real-time stock/ETF price + Revolut availability |
| get_prices_bulk | Up to 20 tickers with gainers/losers summary |
| get_crypto_price | Live crypto price from Binance with 24h stats |
| price_snapshot | Full market snapshot β stocks + crypto + mood |
| revolut_price_check | Is this ticker available on Revolut? Price + verdict |
| crypto_top_movers | Top gainers & losers by 24h volume (Binance) |
| get_revolut_tradable_list | Full list of Revolut stocks or crypto |
| search_revolut_tradable | Search Revolut assets by ticker or company name |
SEC Insider Trading
| Tool | Description |
|---|---|
| get_insider_filings | SEC Form 4 filings with CEO/CFO flag + severity |
| get_insider_clusters | Multiple insiders trading same stock same day |
| get_insider_weekly_summary | Top tickers by insider trade value this week |
| cross_reference_insider_revolut | Insider trades filtered to Revolut-tradable only |
Revolut Banking (Open Banking / Revolut X)
| Tool | Description |
|---|---|
| get_accounts | List all Revolut accounts |
| get_account_balance | Balance for a specific account |
| get_transactions | Transaction history with date filtering |
| get_spending_by_category | Spending breakdown by merchant category |
| send_domestic_payment | Initiate a domestic payment |
| send_international_payment | Initiate an international payment |
| get_exchange_rate | ECB FX rates via Frankfurter |
| convert_currency | Convert amount between any two currencies |
| get_revolut_fx_fees | FX fee estimate by Revolut plan |
| get_multi_currency_balances | All balances with GBP equivalent |
| place_crypto_order | Place market or limit order via Revolut X |
| get_crypto_ohlc | OHLC candlestick data from Revolut X |
Analytics & Intelligence
| Tool | Description |
|---|---|
| get_technical_summary | Price, RSI, support/resistance, signal |
| get_market_sentiment | Fear & Greed index |
| get_sector_performance | Sector ETF performance comparison |
| get_dividend_screener | High-yield dividend stocks on Revolut |
| get_options_flow | Unusual options activity for a ticker |
| get_whale_wallets | Large crypto wallet movement tracker |
| get_arbitrage_opportunities | Price spread between Revolut and Binance |
| get_tax_loss_harvesting | Portfolio positions eligible for tax-loss harvest |
| get_portfolio_rebalance | Rebalancing suggestions vs target allocations |
| get_stock_screener | Filter Revolut stocks by market cap, sector, yield |
| get_economic_calendar | Upcoming high-impact macro events |
Portfolios, Watchlists & Alerts
| Tool | Description |
|---|---|
| create_portfolio / get_portfolio / update_portfolio | Portfolio CRUD with live valuation |
| add_to_watchlist / get_watchlist / remove_from_watchlist | Per-user ticker watchlists |
| create_alert / list_alerts / delete_alert | Price alert management |
| register_webhook | Webhook registration for event notifications |
Built-In MCP Prompts (16)
Pre-written prompt templates that AI assistants can invoke directly:
| Prompt | Purpose |
|---|---|
| revolut_insider_scan | Insider filings + price check for a ticker |
| crypto_market_overview | Full crypto snapshot with sentiment |
| portfolio_review | Portfolio analysis with rebalancing suggestions |
| revolut_trading_setup | Availability + price + technical analysis |
| tax_optimization | Tax-loss harvesting analysis |
| dividend_income_strategy | High-yield stocks on Revolut |
| crypto_whale_alert | Whale movements + arbitrage scan |
| economic_event_prep | Calendar + sentiment for upcoming events |
| revolut_vs_competitors | Revolut vs eToro price comparison |
| risk_management_check | Technical + options + sentiment risk check |
| revolut_banking_overview | Full account + spending overview |
| crypto_trading_signals | Movers + whale data + technicals |
| etf_sector_rotation | Identify sector rotation opportunities |
| insider_trading_opportunities | Clusters cross-referenced with Revolut |
| revolut_fee_analysis | FX fee comparison across plans |
| stock_screener_query | Screen stocks by daily performance |
MCP Resources (8)
Access static data directly via MCP resource URIs:
| URI | Contents |
|---|---|
| revolut://tradable/symbols | Full list of Revolut-tradable stocks & crypto |
| revolut://plan-limits | FX limits and fees by Revolut plan |
| revolut://tradable/etfs-by-sector | Sector-grouped ETF catalog |
| seo://financial-keywords | High-volume Revolut/finance keywords |
| seo://blog-post-template | SEO blog post structure template |
| seo://top-pages | Top-priority programmatic SEO pages |
| market://sector-etfs | One ETF per market sector |
| market://crypto-pairs | Major, DeFi, Layer 2, and meme crypto pairs |
Data Sources
| Source | Data | Latency | API Key |
|---|---|---|---|
| Yahoo Finance | Stocks, ETFs | ~15 min | None |
| Binance | Crypto | Real-time | None |
| SEC EDGAR | Insider Form 4 filings | Live | None |
| Alternative.me | Fear & Greed Index | Live | None |
| Frankfurter (ECB) | FX rates | Daily | None |
| Revolut Open Banking | Accounts, payments | Real-time | OAuth2 cert |
| Revolut X | Crypto trading | Real-time | Ed25519 key |
Configuration
Required for HTTP mode
export PORT=8080
export MCP_TRANSPORT=http
Revolut Open Banking (optional)
export REVOLUT_ENV=sandbox # or production
export REVOLUT_CLIENT_ID=your_id
export REVOLUT_CERT_PATH=./certs/transport.pem
export REVOLUT_KEY_PATH=./certs/private.key
Revolut X Crypto Trading (optional)
export REVOLUT_X_API_KEY=your_key
export REVOLUT_X_PRIVATE_KEY=base64_ed25519_private_key # requires pynacl
Unofficial Personal API β Pockets & Vaults (optional)
export REVOLUT_DEVICE_ID=your_device_id
export REVOLUT_PHONE_TOKEN=your_bearer_token
Deploy to Production
Google Cloud Run
gcloud run deploy revolut-pulse-mcp \
--source . \
--platform managed \
--region europe-west1 \
--set-env-vars MCP_TRANSPORT=http,PORT=8080 \
--allow-unauthenticated
Health probe hits GET /ping β returns {"status": "ok"}.
Railway
Use the included railway.json. Set MCP_TRANSPORT=http in environment variables.
Fly.io
fly launch
fly secrets set MCP_TRANSPORT=http PORT=8080
fly deploy
SEO & Monetisation
The programmatic SEO engine targets buyers at the bottom of the funnel:
- "Is [TICKER] available on Revolut" β availability + price pages
- "How to buy [TICKER] on Revolut" β step-by-step buying guides
- "Revolut vs eToro [TICKER]" β fee & feature comparison pages
- "[TICKER] insider trading activity" β SEC data pages
Each page auto-generates Schema.org FinancialProduct markup and is included in the XML sitemap. Monetise via affiliate links (eToro, Trading 212, Degiro) or premium API tiers.
Security & Reliability
- All market data tools work without any credentials
- Banking tools return clear error messages when unconfigured β they never silently fail
- TTL caching: 10s crypto Β· 30s stocks Β· 5min insider data
- Exponential backoff with 3 retry attempts on all outbound calls
- Concurrency limiter: max 5 simultaneous outbound HTTP calls
- Strict regex input validation on all ticker, currency, and account ID inputs
- Structured JSON logging with severity levels
Requirements
fastmcp
fastapi
uvicorn
httpx
beautifulsoup4
pynacl # optional β only needed for Revolut X signing
Python 3.10+
License
MIT β free for personal and commercial use