Back to Browse

Crypto Sentiment MCP Server

Developer ToolsUse Caution3.2MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

FinBERT news sentiment and price history for 42 crypto, FX, stock, ETF and commodity tickers.

About

FinBERT news sentiment and price history for 42 crypto, FX, stock, ETF and commodity tickers.

Remote endpoints: streamable-http: https://api.sentimentfx.org/mcp

Security Report

3.2
Use Caution3.2High Risk

This MCP server for SentimentFX crypto sentiment analysis has multiple security concerns that reduce confidence. Critical issues include: (1) environment variables sent via external fetch calls and logged without sanitization, (2) potential data exfiltration through email/Resend calls with user context, (3) overly broad file and network permissions without strict scoping, (4) weak input validation on user-provided ticker symbols, and (5) database credentials passed implicitly through connection strings. While authentication mechanisms exist (Supabase JWT, API keys), enforcement gaps and permission scope issues warrant a moderate-risk rating. Supply chain analysis found 42 known vulnerabilities in dependencies (7 critical, 15 high severity).

4 files analyzed · 57 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

database

Check that this permission is expected for this type of plugin.

process_spawn

Check that this permission is expected for this type of plugin.

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub README.

SentimentFX

Full-stack crypto sentiment intelligence platform. Scrapes financial news headlines, scores them with FinBERT (a finance-specific transformer model), and correlates sentiment against live GBP crypto prices to surface predictive signals.

Live: sentimentfx.org · app.sentimentfx.org · developers.sentimentfx.org


What it does

  • Scrapes headlines every hour from GNews API + CoinTelegraph/CoinDesk RSS feeds
  • Scores each headline with FinBERT (positive_prob - negative_prob → range -1 to +1)
  • Fetches daily GBP prices via yfinance
  • Computes Pearson correlation across 0–7 day lags to find the best predictive signal
  • Exposes a public metered API with Stripe billing for developers

Tech Stack

LayerTechnology
BackendPython 3.11, FastAPI, SQLAlchemy
AI ModelFinBERT (ProsusAI/finbert)
DatabasePostgreSQL
AuthSupabase (email + Google OAuth)
PaymentsStripe (subscriptions + metered API billing)
FrontendReact, Recharts, Vite
DataGNews API, feedparser (RSS), yfinance
EmailResend
DeployRailway (backend), Vercel (frontend)

Features

Dashboard

  • Sentiment vs price chart with 7/30/90/ALL day ranges
  • Pearson correlation with lag analysis (0–7 days)
  • Momentum vs contrarian signal detection
  • Paginated headline feed with per-article sentiment scores
  • GBP/USD currency toggle
  • CSV export (Pro)

Tickers: BTC, ETH, SOL, XRP, DOGE

Access tiers

  • Free — BTC only, 30 day history
  • Pro (£11.99/mo or £99.99/yr) — all tickers, full history, CSV export, sentiment alerts

Developer API (api.sentimentfx.org/v1/)

  • /v1/sentiment/{ticker} — scored headlines
  • /v1/summary/{ticker} — daily averaged sentiment
  • /v1/prices/{ticker} — daily GBP closing prices
  • /v1/correlation/{ticker} — Pearson r across lag periods
  • Metered billing at £0.01/call after 100 free calls
  • Rate limited via slowapi

Architecture

GNews API + RSS feeds
        ↓
   scraper.py → FinBERT (sentiment.py) → headlines table
                                              ↓
yfinance → prices.py → prices table    /dashboard/{ticker}
                                              ↓
                                       React + Recharts

APScheduler runs scrape_all() on a cron trigger at the top of every hour.

Getting Started

Backend

cd backend
python -m venv venv
source venv/Scripts/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env          # fill in your keys
python -m uvicorn app.main:app --reload

Frontend

cd frontend
npm install
npm run dev

Sentiment Scoring

Uses FinBERT's output probabilities directly:

score = positive_probability - negative_probability

Range: -1 (maximally negative) to +1 (maximally positive). Neutral headlines score near 0. This avoids the label × confidence collapse that zeros out neutral predictions.

API Reference

Full docs at developers.sentimentfx.org

# Generate a free API key
curl -X POST https://api.sentimentfx.org/api/keys/generate \
  -H "Content-Type: application/json" \
  -d '{"email": "your@email.com"}'

# Use the key
curl https://api.sentimentfx.org/v1/summary/BTC \
  -H "X-API-Key: sfx_your_key_here"

Deployment

  • Backend: Railway via Procfile + nixpacks.toml. Starts with uvicorn app.main:app --host 0.0.0.0 --port $PORT.
  • Frontend/Landing/Docs: Vercel, auto-deploys from main.

Reviews

No reviews yet

Be the first to review this server!