sentinel
Sentinel Execution MCP
Eine produktionsreife Steuerungsebene für algorithmischen Handel, bereitgestellt als MCP-Server – damit Claude Watchlists verwalten, Marktregime klassifizieren, Risiken validieren und Papieraufträge über natürliche Sprache aufgeben kann.
Was es ist
Sentinel ist ein Monorepo mit zwei Paketen:
Paket | Sprache | Rolle |
| Python 3.12 / FastAPI | Die gesamte Handelslogik: Risikoprüfungen, Regimeklassifizierung, Auftragslebenszyklus, Audit-Journal, Strategie-Governance |
| TypeScript / Node 20 | Schlanker MCP-Server, der über 40 Tools per HTTP an die Engine weiterleitet. Hier liegt keinerlei Handelslogik. |
Claude (oder ein beliebiger MCP-kompatibler Agent) kommuniziert mit dem MCP-Server. Der MCP-Server kommuniziert mit der Engine. Die Engine besitzt die Datenbank und den Cache.
Related MCP server: Alpaca MCP Server
Architektur
Claude Desktop (or any MCP agent)
│
│ MCP protocol (stdio or SSE)
▼
┌─────────────────────────┐
│ MCP Server │ TypeScript · Zod validation · tool routing
│ (packages/mcp) │
└────────────┬────────────┘
│ HTTP REST (localhost:8100)
▼
┌─────────────────────────┐
│ Engine API │ Python · FastAPI · all trading logic
│ (packages/engine) │
└──────────┬──────────────┘
│
┌───────┴────────┐
▼ ▼
PostgreSQL Redis
(orders, (kill switch,
positions, rate limits,
strategies, cache)
audit log)Wenn die Engine nicht verfügbar ist, gibt jeder MCP-Toolaufruf sofort einen Fehler zurück. Es gibt kein Fallback und keine teilweise Ausführung.
Schnellstart (Docker – empfohlen)
Der schnellste Weg, um loszulegen. Erfordert Docker und Node.js 20+.
# 1. Clone and configure
git clone https://github.com/rohith1125/sentinel-execution-mcp.git
cd sentinel-execution-mcp
cp .env.example .env # defaults work out of the box — no edits needed
# 2. Start Postgres + Redis + engine (runs migrations automatically)
docker compose -f docker/docker-compose.yml up -d db redis engine
# Wait ~10 seconds, then verify the engine is healthy:
curl http://localhost:8100/health
# {"status": "ok", "provider": "mock", ...}
# 3. Build the MCP server (one-time)
cd packages/mcp
npm install
npm run buildFügen Sie dann Sentinel zu Claude Desktop hinzu (siehe Claude Desktop verbinden unten) und starten Sie Claude neu. Das war's – alle 40 Tools sind live.
Manuelle Einrichtung (ohne Docker)
Verwenden Sie diese Option, wenn Postgres und Redis bereits lokal laufen.
Voraussetzungen:
Abhängigkeit | Mindestversion | Hinweise |
Python | 3.12 | Engine-Laufzeit – prüfen mit |
Node.js | 20 | MCP-Server-Laufzeit |
PostgreSQL | 15+ | Primärer Datenspeicher |
Redis | 7+ | Kill-Switch und Cache |
1. Klonen und konfigurieren
git clone https://github.com/rohith1125/sentinel-execution-mcp.git
cd sentinel-execution-mcp
cp .env.example .env
# Default values work for local paper-trading development — no edits required2. Engine einrichten
cd packages/engine
python3.12 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"3. Datenbankmigrationen ausführen
# From packages/engine with the venv active
alembic upgrade head4. Engine starten
uvicorn sentinel.api:app --reload --port 8100Überprüfen Sie, dass sie läuft:
curl http://localhost:8100/health
# {"status": "ok", "env": "paper"}5. MCP-Server bauen und starten
Öffnen Sie ein zweites Terminal:
cd packages/mcp
npm install
npm run build
npm run dev # stdio transport — for direct Claude Desktop integrationClaude Desktop verbinden
Fügen Sie Folgendes zu Ihrer Claude-Desktop-Konfigurationsdatei hinzu.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Ermitteln Sie den korrekten Pfad, indem Sie Folgendes in Ihrem Terminal ausführen:
echo "$(pwd)/packages/mcp/dist/index.js"Fügen Sie es dann in die Konfiguration ein:
{
"mcpServers": {
"sentinel": {
"command": "node",
"args": ["/absolute/path/to/sentinel-execution-mcp/packages/mcp/dist/index.js"],
"env": {
"ENGINE_BASE_URL": "http://localhost:8100",
"APP_ENV": "paper"
}
}
}
}Starten Sie Claude Desktop nach dem Speichern neu. Sie sollten ein Hammer-Symbol (🔨) im Chat-Eingabefeld sehen – klicken Sie darauf, um zu bestätigen, dass die 40 Tools von Sentinel geladen sind.
MCP-Tools-Referenz
Sentinel stellt über 40 Tools in neun Kategorien bereit. Der MCP-Servername lautet sentinel.
Kategorie | Tool | Beschreibung |
Watchlist |
| Symbole zur Handels-Watchlist hinzufügen, optional einer Gruppe zugeordnet |
| Symbole entfernen; sie erscheinen nicht mehr in Strategie-Scans | |
| Aktive Symbole auflisten, optional nach Gruppe gefiltert | |
| Details für ein einzelnes Symbol abrufen | |
| Alle benannten Watchlist-Gruppen auflisten | |
| Notizen oder Gruppenzuordnung für ein Symbol aktualisieren | |
Marktdaten |
| Aktuellste Kurs- und Handelsdaten für ein oder mehrere Symbole |
| OHLCV-Balkenverlauf mit konfigurierbarem Zeitrahmen | |
| Echtzeit-Geld-/Brief-Spanne für ein Symbol | |
| Konnektivität des Marktdatenanbieters prüfen | |
Regime |
| Aktuelles Marktregime klassifizieren mithilfe von ATR, ADX, RSI, Bollinger Width, Hurst Exponent, VWAP und Price Efficiency |
| Historische Regime-Snapshots für ein Symbol abrufen | |
Strategie |
| Watchlist auf Signale über eine oder mehrere Strategien scannen |
| Ein einzelnes Symbol gegen eine bestimmte Strategie bewerten | |
| Alle registrierten Strategien und ihren aktuellen Zustand auflisten | |
Risiko / Kill-Switch |
| Alle 13+ Risikoprüfungen gegen einen vorgeschlagenen Trade vor der Einreichung ausführen |
| Aktuellen Zustand aller Kill-Switches abrufen | |
| Einen Kill-Switch global, pro Strategie oder pro Symbol aktivieren | |
| Einen Kill-Switch deaktivieren (erfordert einen expliziten Grund) | |
| Aktuelle Zusammenfassung der Brutto- und Netto-Exposition | |
| Aktueller Tages-Drawdown gegenüber konfigurierten Limits | |
Portfolio |
| Vollständige Kontobersicht: Wert, Bargeld, Eigenkapital, P&L, Kaufkraft |
| Alle offenen Positionen mit nicht realisiertem P&L | |
| Verlauf geschlossener Positionen mit realisiertem P&L | |
Ausführung |
| Einen Papierhandelsauftrag aufgeben (Market, Limit, Stop, Stop-Limit) |
| Einen ausstehenden oder teilweise ausgeführten Auftrag per ID stornieren | |
| Aktuellen Zustand eines bestimmten Auftrags abrufen | |
| Aufträge auflisten, gefiltert nach Status, Symbol oder Datumsbereich | |
| Einen manuellen Abgleich zwischen Engine-Zustand und Broker auslösen | |
Governance |
| Eine neue Strategie im Zustand |
| Eine Strategie voranbringen: Draft → Research → Backtest → Paper → Live | |
| Eine Live- oder Paper-Strategie sofort aussetzen | |
| Alle Strategien mit ihrem aktuellen Lebenszyklus-Zustand auflisten | |
| Prüfen, ob eine Strategie die Kriterien für eine Beförderung erfüllt | |
Audit |
| Vollständige, für Menschen lesbare Erklärung für eine Handelsentscheidung anhand der Audit-Ereignis-ID |
| Aktuellste Audit-Ereignisse, filterbar nach Symbol oder Strategie | |
| Verlauf abgeschlossener Trades mit Ergebnissen | |
| Roh-Entscheidungsprotokolleinträge für ein Zeitfenster | |
| Aggregierte Statistiken: Gewinnquote, durchschnittliches P&L, Sharpe-Proxy | |
| Audit-Datensätze als CSV für einen Datumsbereich exportieren |
Vollständige Tool-Dokumentation mit Parameterschemata: docs/mcp-tools.md
Umgebungsvariablen
Engine (packages/engine/.env)
Variable | Standard | Beschreibung |
|
|
|
|
| PostgreSQL-Verbindungszeichenfolge |
|
| Redis-Verbindungszeichenfolge |
|
|
|
| (empty) | Erforderlich, wenn |
| (empty) | Erforderlich, wenn |
|
| Für Live-Handel |
|
| Maximale Positionsgröße als Anteil am Kontokapital (5 %) |
|
| Harte tägliche Verlustgrenze (2 %); Handel wird gestoppt, wenn sie überschritten wird |
|
| Maximale Brutto-Exposition über alle Positionen (80 %) |
|
| Maximale Anzahl gleichzeitig offener Positionen |
|
| Maximales Risiko pro einzelnem Trade (1 %) |
|
| Simulierte Ausführungsverzögerung im Paper-Trading-Modus |
|
| Simulierter Slippage in Basispunkten |
|
| Nur für die lokale Entwicklung auf |
| (empty) | Mit |
| (empty) | JSON-Array zusätzlicher Client-Key-Datensätze |
MCP Server (packages/mcp/.env)
Variable | Standard | Beschreibung |
|
| Basis-URL des laufenden Engine-Dienstes |
Siehe .env.example im Repository-Stammverzeichnis für die vollständige kommentierte Referenz.
Beispiel-Workflow (Paper-Trading)
# 1. Add symbols
watchlist.add(symbols=["NVDA", "MSFT", "AAPL"], group="tech")
# 2. Classify regime
regime.evaluate(symbol="NVDA", timeframe="1Day")
# 3. Scan for signals
strategy.scan(group="tech", strategy="momentum_v1")
# 4. Validate before submitting
risk.validate_trade(symbol="NVDA", side="buy", qty=10, order_type="market")
# 5. Submit paper order
execution.paper_order(symbol="NVDA", side="buy", qty=10, order_type="market")
# 6. Review portfolio
portfolio.status()
# 7. Inspect the audit trail
audit.recent_events(symbol="NVDA", limit=1)
audit.explain_trade(audit_event_id="evt-...")Tests ausführen
Engine (Python)
cd packages/engine
source .venv/bin/activate
pytest tests/ -vMCP Server (TypeScript)
cd packages/mcp
pnpm testVollständige CI (Lint + Typprüfung + Test)
# From repo root
make checkRepository-Struktur
sentinel-execution-mcp/
├── packages/
│ ├── engine/ # Python FastAPI trading engine
│ │ ├── sentinel/ # Application source
│ │ ├── tests/ # Pytest test suite
│ │ └── alembic/ # Database migrations
│ └── mcp/ # TypeScript MCP server
│ └── src/
│ └── tools/ # One file per tool category
├── docker/ # Dockerfiles and docker-compose
├── docs/ # Architecture, tool reference, risk model
├── scripts/ # Setup and reset helpers
└── .env.example # Annotated environment variable referenceSicherheitshinweis
Diese Software dient ausschließlich dem Paper-Trading und der Forschung, es sei denn, Sie verstehen jede Komponente vollständig. Wenn Sie APP_ENV=live mit echten Alpaca-Anmeldedaten setzen, werden echte Aufträge mit echtem Geld platziert. Die fest codierten Risikolimits sind konservative Standardwerte — prüfen Sie, ob sie Ihrer eigenen Risikotoleranz entsprechen, bevor Sie sie verwenden. Die Autoren übernehmen keine Haftung für finanzielle Verluste.
Lizenz
MIT. Siehe LICENSE.
This server cannot be installed
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
- AlicenseBqualityDmaintenanceEnables AI assistants like Claude to interact with Paper's trading platform API using natural language, allowing users to manage accounts, portfolios, trades, and access market data through conversational requests.231523MIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language trading operations through Alpaca's Trading API, supporting stocks, options, crypto, portfolio management, and real-time market data access through AI assistants like Claude.MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to autonomously trade, analyze, and manage positions on Polymarket prediction markets with 45 comprehensive tools covering market discovery, analysis, trading execution, portfolio management, and real-time monitoring with enterprise-grade safety features.MIT
- AlicenseBqualityAmaintenanceProvides 32 trading analysis tools for AI-powered market analysis, including real-time data, technical indicators, options Greeks, scanners, and Interactive Brokers portfolio management, all accessible via natural language in Claude Desktop.35328MIT
Related MCP Connectors
Trade Robinhood through natural language in Claude Code.
Global stock research, ML forecasts, valuation signals, screeners & portfolio tracking in Claude
Build, backtest, and deploy quantitative trading strategies from your AI agent.
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/rohith1125/sentinel-execution-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server