MCP-Server

SentimentFX

org.sentimentfx/market-sentiment
Daten & Analytik Finanzen & Investieren Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Provides FinBERT news sentiment, aggregated sentiment trends, price history, and sentiment-price correlations for financial assets.

get_correlation
180-day Pearson correlation between daily sentiment shifts and next-day price returns for `ticker`. Returns Pearson `r`, `p_value`, `n_days` overlapping, a 95% confidence interval (Fisher z), and a categorical `strength` (strong / weak / inconclusive). Costs 1 API credit — same as GET /v1/correlation/{ticker}. Requires ≥30 overlapping day-pairs. Under that, returns a `note` field explaining what's missing so a caller can suggest waiting or switching to a higher-coverage ticker.
Eingabeschema
{'type': 'object', 'title': 'get_correlationArguments', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'title': 'Ticker'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_correlationDictOutput', 'additionalProperties': True}
get_prices
Return daily close prices for `ticker` over the last `days`, in the ticker's native currency -- see the `currency` field on the response. Costs 1 API credit per day actually returned — same as GET /v1/prices/{ticker}. Prices come back reverse-chronological. Crypto is GBP (yfinance BTC-GBP etc.), FX pairs are a raw exchange rate in the pair's native convention (e.g. USDJPY is yen per dollar), and everything else (stocks/ETFs/commodity futures) is native USD -- there is no currency conversion.
Eingabeschema
{'type': 'object', 'title': 'get_pricesArguments', 'required': ['ticker'], 'properties': {'days': {'type': 'integer', 'title': 'Days', 'default': 30}, 'ticker': {'type': 'string', 'title': 'Ticker'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_pricesDictOutput', 'additionalProperties': True}
get_sentiment
Return the most recent FinBERT-scored headlines for `ticker`. Each headline has a `sentiment_score` in [-1, +1] (positive_prob - negative_prob) and a categorical `sentiment_label`. Costs 1 API credit per 25 headlines actually returned — same billing as GET /v1/sentiment/{ticker}. An empty result costs nothing. `limit` is capped at 100. Titles come back reverse-chronological so the first item is the freshest.
Eingabeschema
{'type': 'object', 'title': 'get_sentimentArguments', 'required': ['ticker'], 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 25}, 'ticker': {'type': 'string', 'title': 'Ticker'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_sentimentDictOutput', 'additionalProperties': True}
get_summary
Return daily aggregated sentiment for `ticker` over the last `days`. Each entry has `avg_sentiment` (unweighted mean of that day's scores), `article_count`, and a directional `label` (positive / negative / neutral, thresholded at ±0.1). Costs 1 API credit per day actually returned — same as GET /v1/summary/{ticker}. A window with no coverage costs nothing.
Eingabeschema
{'type': 'object', 'title': 'get_summaryArguments', 'required': ['ticker'], 'properties': {'days': {'type': 'integer', 'title': 'Days', 'default': 30}, 'ticker': {'type': 'string', 'title': 'Ticker'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_summaryDictOutput', 'additionalProperties': True}
get_usage
Introspect your API key: calls used this month, included allowance, remaining credits, and when the counter resets. Free — doesn't hit the billing meter. Mirrors `GET /v1/usage` (MCP_MIRRORS_V1: change both together). Useful before a large batch of `get_sentiment`/`get_summary` calls to check you have credit headroom.
Eingabeschema
{'type': 'object', 'title': 'get_usageArguments', 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_usageDictOutput', 'additionalProperties': True}
list_tickers
List every asset SentimentFX tracks. Cheap (free — doesn't hit the billing meter). Returns two groups: `primary` (5 crypto + 7 FX pairs — the ones with full sentiment coverage across the primary RSS feeds), and `background` (US equities, ETFs, commodity futures — coverage is thinner but real). Use the exact ticker string from either group as the `ticker` arg to the other tools.
Eingabeschema
{'type': 'object', 'title': 'list_tickersArguments', 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'list_tickersDictOutput', 'additionalProperties': True}
Hinzugefügt
get_correlation
17. September 2026 12:54
Hinzugefügt
get_prices
17. September 2026 12:54
Hinzugefügt
get_summary
17. September 2026 12:54
Hinzugefügt
get_sentiment
17. September 2026 12:54
Hinzugefügt
get_usage
17. September 2026 12:54
Hinzugefügt
list_tickers
17. September 2026 12:54