stockdata-mcp
stockdata-mcp
Ein MCP-Server für Aktienrecherche. Zwei Backends, eine Tool-Oberfläche.
FMP ( | Rohdaten — Abschlüsse, Kurse, Kennzahlen, Schätzungen, Preise, Dividenden. Dokumentierte öffentliche API. Immer aktiv. |
Qualtrim ( | Nur das, was Qualtrim auf Basis von FMP herleitet — ihr DCF, kuratierte KPI-Charts, KI-Kommentare, Dip-Finder, plus Ihre eigenen Portfolios und Watchlists. Optional. |
Die Aufteilung ist gewollt. Qualtrim ist ein FMP-Kunde: Es kauft die Rohdaten und legt eine Ebene darüber. Der Server geht also für alles Rohke natürlich direkt an FMP und »verbraucht« Qualtrim-Aufrufe nur für das, was exklusiv von Qualtrim stammt.
52 Tools — 30 von FMP, 22 von Qualtrim.
Bevor Sie das Qualtrim-Backend aktivieren
Die FMP-Hälfte dieses Servers ist gewöhnlich: eine dokumentierte öffentliche API, ein Schlüssel, für den Sie sich anmelden. Nutzen Sie nicht? Ver-wenden Sie es, wie Sie möchten.
Die Qualtrim-Hälfte ist es nicht. Qualtrim veröffentlicht keine API — diese Routen wurden aus deren ausgelieferten JavaScript gelesen, und die Nutzungsbedingungen von Qualtrim verbieten ohne vorherige schriftliche Genehmigung sowohl das Verwendung der Plattform als auch den Einsatz automatisierter Mittel zum Abruf von Daten von dieser Plattform.
Diese Genehmigung ist nicht übertragbar, und dieses Repository erteilt sie nicht. Wenn Sie das Qualtrim-Backend betreiben möchten, benötigen Sie ein eigenes kostenpflichtiges Qualtrim-Konto und eine eigene schriftliche Genehmigung von Qualtrim, die Sie selbst einholen müssen. Fragen Sie direkt bei support@qualtrim.com an.
Ohne diese Genehmigung lassen Sie den Server mit
QUALTRIM_USERNAME/QUALTRIM_PASSWORDohne. Die FMP-Werkzeuge funktionieren auch ohne Weitere einwandfrei, und nichts hier ist auf Qualtrim angewiesen.Der Code ist als Referenz dafür veröffentlicht, wie ein solcher Client strukturiert ist, und wie nicht als eine Einladung, ihn auf einen Dienst zu richten, den jemand anderes hostet. Der von Qualtrim geplante Weg gegen Verstöße ist die Kündigung des Kontos; deren Gebühren sind nicht erstattungsfähig.
Installation
cd ~/Projects/stockdata-mcp
uv venv && uv pip install -e .
./scripts/set-credentials.sh # prompts; password input is hiddenset-credentials.sh schreibt .env mit 0600-Berechtigungen. Es wird von Git ignoriert.
Holen Sie sich einen kostenlosen Bägerschlüssel unter
<https://www.financialmodelingprep.com/developer/docs.
Registrieren Sie sich ein Mal, und es gilt für jede Sitzung auf dem Rechner:
claude mcp add stockdata --scope user -- ~/Projects/stockdata-mcp/.venv/bin/stockdata-mcpNicht mit -e-Flags — der Server liest die .env selbst, sodass die Zugangsdaten
nicht in ~/.claude.json landen. Echte Umgebungsvariablen überschreiben die Datei weiterhin,
damit ein MCP-Client -e durchreichen kann, wenn Sie es vorziehen.
Siehe jede Sitzung mit backend_status.
Anleitung für das Modell
Der Server bringt seine eigenen Nutzungshinweise über das Protokollost. Die Backend-Auswahl, Grenzen des Free-Tiers, Besonderheiten von Qualtrim, korrekte Darstellung von Zahlen aus. Jeder MCP-Client erhält diese automatisch, ohne zusätzliche Einrichtung.
Dazu gibt es eine ausführlichere Skill unter .claude/skills/stock-research/, die
Research-Workflows vertiefter abdeckt. Claude Code liest sie aus
~/.claude/skills/ (dort per Symlink verknüpfen). Claude Desktop verwlant Skills
an einem eigenen Ort und wird sie dort nicht finden — es verlässt sich auf die
Server-Anweisungen oben:
entscheidungskritisch.
Related MCP server: StocksMCP
Caching und Budget
Antworten werden in einem SQLite-Speicher unter ~/.cache/stockdata-mcp/cache.db gecacht.
Dieser Speicher ist ist global und nicht pro Client — jeder Server-Prozess dieses
Benutzers öffnet dieselbe Datei. Damit teilen Claude Code und Claude Desktop einen Cache
und ein Tagesbudget. Das ist für die Korrektheit erforderlich, nicht nur für die
Effizienz: Das FMP-Kontingent gehört zum API-Schlüssel, und beide Apps mit demselben
der gleiche Schlüssel.
Der TTL wird pro Endpunkt gewählt. Kurse eine Minute, Profile eine Woche, Referenzdaten einen Monat. Historische Balken, deren Datumsbereich bereits heute vor Ende geendet wurde, laufen nie ab, er rest wie ein Schluss, der schon stattgefunden hat, kann sich nicht ändern. Ein Bereich bis heute hat eine bewegte Kante und bekommt 15 Minuten.
Drei Tools verwalten das:
Tool | Zweck |
| „Heute gesendete Anfragen, verbleibend, Reset-Zeit, Cache-Statistiken“ |
| Was ein geplanter Satz von Anfragen im Vorfeld, bevor er läuft, an Kosten zahlt |
| Abgelaufene Einträge löschen (sicher) oder ganzen Backend |
estimate_cost existiert, weil das Verhältnis Tool/Anfrage nicht 1:1 ist und von
der Aufrufer-Seite nicht ausgesehen werden kann. no_return, fmp_price_target
Bei den Aufrufen von A-B sind fmp_search 2 Anfragen, fmp_price_target 3 Anfragen,
und fmp_quote hat 1 pro Symbol auf einem freien Schlüssel. Es zeigt den Worst-Case
Anfragen, wie viele Beine schon im Cache sind, und das Netto-Gegenstück zum heutigen
Rest des Budgetgenerationiert. Verifiziert: Seine Vorhersage hat sowohl mit
ster Zucker-Fünf-Aufrufen genau angegeben und beim erneuten Lauf 0 geliefert.
Über sechs unabhängige Prozesse mit demselben Symbol gemessen: 1 Upstream-Anfrage, 5 Cache-Treffer, keine Locks.
Konfiguration
Variable | Standard | Zweck |
| — | Erforderlich für die |
| — | Aktiviert die |
|
| Falls true, werden die Schreibwerkzeuge aktiviert; die keine Portfolios geändert |
|
| minimale Sekunden zwischen Anfragen der API Qualtrim |
|
| Mindestdauer zwischen zwei FMP-Anfragen |
|
| Maximale Zeichen in den Antworten des Clients |
|
| alternativerPfad zur Konfigurationsdatei |
FMP-Werkzeuge
Suche und Referenzen: fmp_search, fmp_profile, fmp_quote, fmp_peers, fmp_reference.
Grundlagen: fmp_income_statement, fmp_balance_sheet, fmp_cash_flow, fmp_key_metrics,
fmp_ratios, fmp_financial_growth, fmp_financial_scores, fmp_revenue_segmentation,
fmp_enterprise_values.
Analysten und Bewertung: fmp_analyst_estimates, fmp_price_target, fmp_grades, fmp_dcf.
Ereignisse und Märkte: fmp_dividends, fmp_earnings, fmp_earnings_calendar,
fmp_historical_prices, fmp_technical_indicator, fmp_screener, fmp_market_movers,
fmp_sector_performance, fmp_insider_trading, fmp_news.
fmp_request(endpoint, params) erreicht jedes der über 250 stabilen FMP-Endpunkte
— ETF-Bestände, 13F, Senatshandel, Wirtschaftsindikatoren, SEC-Meldungen, Transkribes —
ohne eigenen Wrapper.
Was der Free-Tier wirklich enthält
Verifiziert gegen einen echten Freischlüssel: 22 von 29 Tools funktionieren.
Nur gegen Bezalplan funktioniert: fmp_screener, fmp_reference, fmp_news, fmp_insider_trading, fmp_technical_indicator. Jedes dieser Tools liefert eine klare Fehlermeldung mit dem Plan als Grund.
Zwei Hinweise:
Multi-Symbol
fmp_quotefällt per Symbol auf einzelne Anfragen zurück, weil die Batch-Route kostenpflichtig ist. Maximal 20 Symbole. Sonst wird das Tagesbudget zu leicht.So ist
fmp_technical_indicatorzahlt pflichtig — wenn Sie das nicht wollen, können Sie ohne diese Funktionfmp_historical_prices– die sind kostenlos – die Indikatoren lokal aus OHLCV berechnet.
Der Free-Tier erlaubt in der Regel 250 Aufrufe pro Tag. Verwenden Sie Umsatz? limit,
from_date/to_date. Bei Kurshistorie ist der Standardeinstellung die ganze Serie.
Qualtrim-Werkzeuge
Pro Symbol: qualtrim_overview, qualtrim_profile, qualtrim_quote, qualtrim_dcf,
qualtrim_kpi_charts, qualtrim_chart, qualtrim_ai_analysis, qualtrim_analyst_estimates.
Vergleich: qualtrim_available_kpis, qualtrim_compare.
Ihr Konto: qualtrim_portfolios, qualtrim_portfolio, qualtrim_portfolio_look_through_earnings,
qualtrim_portfolio_ai_analysis, qualtrim_portfolio_dividends, qualtrim_watchlists,
qualtrim_watchlist, qualtrim_dip_finder, qualtrim_watchlist_valuation_ranges.
Escape-Hatch: qualtrim_request(path), nur GET.
Schreibwerkzeuge (qualtrim_add_watchlist_stock, qualtrim_add_portfolio_holding) werden
QUALTRIM_ENABLE_WRITES=true nicht ausgeführt.
Wie die Qualtrim-Authentifizierung wirklich funktioniert
Das mitgelieferte JavaScript wirkt standardmäßig wie eine Bearer-Token-Authentifizierung
— authTokens in localStorage, Authorization: Bearer. In Wirklichkeit nicht.
Login gibt den Benutzer-Objekt zurück und setzt ein Express-Session-Cookie
(connect.sid). Dieses Cookie ist für die normalen Anfragen verantwortlich. Der
Token-Pfad des Bundles, der nur für die Refresh-Abfrage genutzt wird.
Dieser Client benutzt einen Cookie-Jar, cacht die Sitzung unter
~/.cache/stockdata-mcp/qualtrim-session.json (0600) und loggt sich bei
HTTP 401 automatisch neu ein.
Bekannte Abweichungen
Das von ihnen bereitgestellte Backend ist bereits von dem Bundle abgewichen, aus dem die Routen stammen:
Route im Bundle | Realität |
| 404 — verwenden Sie |
| Liefert nur einen gespeicherten Rechner; verwenden Sie |
Beide Werkzeuge verwenden die funktionierenden Varianten. Erwarten Sie weiterhin mehr davon — eine Qualtrim-404 bedeutet, dass der Endpunkt sich verschoben hat, nicht dass das Symbol falsch ist.
qualtrim_dcf bei leerem Rückgabewert ist kein Fehler; es bedeutet lediglich, dass
für das Symbol kein DCF gespeichert ist. Und für ein Symbol in Ihrem Konto kein DCF gespeichert ist.
Qualtrim und dessen Nutzungsbedingungen
Qualtrim publiziert keine API. Diese Routen wurden aus ihrem von ihnen ausgelieferten JavaScript extrahiert. Zwei Konsequenzen:
Es kann ohne Ankündigung brechen. Siehe „Bekannte Abweichungen“ oben — es ist bereits geschehen.
Es ist durch deren Bedingungen eingeschränkt. Der Abschnitt zur zulässigen Nutzen underground verbindet systematisches Abrufen von Daten von der Website automatischer ohne vorherige schriftliche Genehmigung und verbietet separat das Reverse Engineering der Plattform. Als Druckmittel können auf die Konten eingestellt. Se keine Rückerstattung.
Eine Zustimmung ist möglich — das Verbot hängt davon ab. Wenden Sie sich direkt in qualtrim@qualtrim.com, und heben Sie die Antwort auf.
Hier sind die Standardwerte konservativ: 1 Anfrage/Sekunde, max. 2 gleichzeitige, ein selben User-Agent, als GET-Anfrage, keine Massen-Enumeration. Halten Sie es im Bereich der interaktiven Recherche und nicht als Datenabzug.
Aufbau
src/stockdata_mcp/
server.py tool definitions for both backends
fmp.py FMP stable-API client
qualtrim.py Qualtrim cookie-session client
util.py throttling, response trimming, .env loading
scripts/
set-credentials.sh
.claude/skills/stock-research/SKILL.mdKeine Anlageberatung
Daten für die eigene Recherche. Weder Quelle garantiert Korrektheit, und nichts davon ist eine Kauf-oder Verkauf-Empfehlung.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityCmaintenanceAn MCP server that provides comprehensive access to real-time stock quotes, financial statements, analyst estimates, and technical indicators via the Financial Modeling Prep API. It enables users to conduct in-depth financial analysis and track market performance through specialized tools, resources, and prompt templates.26351MIT
- FlicenseNot gradedqualityBmaintenanceAI-powered stock research MCP server with real-time data, CRUD operations, and interactive dashboard for fundamental analysis and comparisons.
- AlicenseAqualityFmaintenanceA comprehensive MCP server for stock analysis and trading insights, including stock screening, fundamental analysis, insider trading, options analysis, social media research, and news analysis.1074MIT
- AlicenseAqualityBmaintenanceA modular MCP server providing 64 tools across 13 modules for real-time stock and crypto market data, including scanning, technical analysis, options flow, insider trades, and personalized watchlists.391236MIT
Related MCP Connectors
Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.
Multi-tenant FastMCP server for Charles Schwab brokerage data, monetized via DPYC Tollbooth
Hosted MCP for stocks, options, Greeks, brokers, order previews, alerts, and workflows.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GlacianNex/stockdata-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server