Skip to main content
Glama
rohith1125

sentinel

by rohith1125

Sentinel Execution MCP

CI License: MIT

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

packages/engine

Python 3.12 / FastAPI

Die gesamte Handelslogik: Risikoprüfungen, Regimeklassifizierung, Auftragslebenszyklus, Audit-Journal, Strategie-Governance

packages/mcp

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 build

Fü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 python3 --version

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 required

2. 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 head

4. 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 integration

Claude 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

watchlist.add

Symbole zur Handels-Watchlist hinzufügen, optional einer Gruppe zugeordnet

watchlist.remove

Symbole entfernen; sie erscheinen nicht mehr in Strategie-Scans

watchlist.list

Aktive Symbole auflisten, optional nach Gruppe gefiltert

watchlist.get

Details für ein einzelnes Symbol abrufen

watchlist.groups

Alle benannten Watchlist-Gruppen auflisten

watchlist.update

Notizen oder Gruppenzuordnung für ein Symbol aktualisieren

Marktdaten

market.snapshot

Aktuellste Kurs- und Handelsdaten für ein oder mehrere Symbole

market.bars

OHLCV-Balkenverlauf mit konfigurierbarem Zeitrahmen

market.quote

Echtzeit-Geld-/Brief-Spanne für ein Symbol

market.health

Konnektivität des Marktdatenanbieters prüfen

Regime

regime.evaluate

Aktuelles Marktregime klassifizieren mithilfe von ATR, ADX, RSI, Bollinger Width, Hurst Exponent, VWAP und Price Efficiency

regime.history

Historische Regime-Snapshots für ein Symbol abrufen

Strategie

strategy.scan

Watchlist auf Signale über eine oder mehrere Strategien scannen

strategy.signal

Ein einzelnes Symbol gegen eine bestimmte Strategie bewerten

strategy.list

Alle registrierten Strategien und ihren aktuellen Zustand auflisten

Risiko / Kill-Switch

risk.validate_trade

Alle 13+ Risikoprüfungen gegen einen vorgeschlagenen Trade vor der Einreichung ausführen

risk.kill_switch_status

Aktuellen Zustand aller Kill-Switches abrufen

risk.kill_switch_enable

Einen Kill-Switch global, pro Strategie oder pro Symbol aktivieren

risk.kill_switch_disable

Einen Kill-Switch deaktivieren (erfordert einen expliziten Grund)

risk.exposure

Aktuelle Zusammenfassung der Brutto- und Netto-Exposition

risk.drawdown

Aktueller Tages-Drawdown gegenüber konfigurierten Limits

Portfolio

portfolio.status

Vollständige Kontobersicht: Wert, Bargeld, Eigenkapital, P&L, Kaufkraft

portfolio.positions

Alle offenen Positionen mit nicht realisiertem P&L

portfolio.history

Verlauf geschlossener Positionen mit realisiertem P&L

Ausführung

execution.paper_order

Einen Papierhandelsauftrag aufgeben (Market, Limit, Stop, Stop-Limit)

execution.cancel_order

Einen ausstehenden oder teilweise ausgeführten Auftrag per ID stornieren

execution.get_order

Aktuellen Zustand eines bestimmten Auftrags abrufen

execution.list_orders

Aufträge auflisten, gefiltert nach Status, Symbol oder Datumsbereich

execution.reconcile

Einen manuellen Abgleich zwischen Engine-Zustand und Broker auslösen

Governance

governance.create_strategy

Eine neue Strategie im Zustand draft registrieren

governance.promote_strategy

Eine Strategie voranbringen: Draft → Research → Backtest → Paper → Live

governance.suspend_strategy

Eine Live- oder Paper-Strategie sofort aussetzen

governance.list_strategies

Alle Strategien mit ihrem aktuellen Lebenszyklus-Zustand auflisten

governance.evaluate_promotion

Prüfen, ob eine Strategie die Kriterien für eine Beförderung erfüllt

Audit

audit.explain_trade

Vollständige, für Menschen lesbare Erklärung für eine Handelsentscheidung anhand der Audit-Ereignis-ID

audit.recent_events

Aktuellste Audit-Ereignisse, filterbar nach Symbol oder Strategie

audit.trade_history

Verlauf abgeschlossener Trades mit Ergebnissen

audit.decision_log

Roh-Entscheidungsprotokolleinträge für ein Zeitfenster

audit.stats

Aggregierte Statistiken: Gewinnquote, durchschnittliches P&L, Sharpe-Proxy

audit.export

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

APP_ENV

paper

development, paper oder live

DATABASE_URL

postgresql+asyncpg://sentinel:sentinel@localhost:5432/sentinel

PostgreSQL-Verbindungszeichenfolge

REDIS_URL

redis://localhost:6379/0

Redis-Verbindungszeichenfolge

MARKET_DATA_PROVIDER

mock

mock (keine Anmeldedaten erforderlich) oder alpaca

ALPACA_API_KEY

(empty)

Erforderlich, wenn MARKET_DATA_PROVIDER=alpaca

ALPACA_API_SECRET

(empty)

Erforderlich, wenn MARKET_DATA_PROVIDER=alpaca

ALPACA_BASE_URL

https://paper-api.alpaca.markets

Für Live-Handel https://api.alpaca.markets verwenden

MAX_POSITION_PCT

0.05

Maximale Positionsgröße als Anteil am Kontokapital (5 %)

MAX_DAILY_DRAWDOWN_PCT

0.02

Harte tägliche Verlustgrenze (2 %); Handel wird gestoppt, wenn sie überschritten wird

MAX_GROSS_EXPOSURE_PCT

0.80

Maximale Brutto-Exposition über alle Positionen (80 %)

MAX_CONCURRENT_POSITIONS

10

Maximale Anzahl gleichzeitig offener Positionen

MAX_TRADE_RISK_PCT

0.01

Maximales Risiko pro einzelnem Trade (1 %)

PAPER_FILL_LATENCY_MS

50

Simulierte Ausführungsverzögerung im Paper-Trading-Modus

SLIPPAGE_BPS

5

Simulierter Slippage in Basispunkten

SENTINEL_AUTH_ENABLED

true

Nur für die lokale Entwicklung auf false setzen

SENTINEL_MASTER_KEY

(empty)

Mit python -m sentinel.auth.cli generate --name master --scopes admin generieren

SENTINEL_API_KEYS_JSON

(empty)

JSON-Array zusätzlicher Client-Key-Datensätze

MCP Server (packages/mcp/.env)

Variable

Standard

Beschreibung

ENGINE_BASE_URL

http://localhost:8100

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/ -v

MCP Server (TypeScript)

cd packages/mcp
pnpm test

Vollständige CI (Lint + Typprüfung + Test)

# From repo root
make check

Repository-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 reference

Sicherheitshinweis

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.

F
license - not found
Not graded
quality - not tested
Not graded
maintenance - not tested

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

  • A
    license
    B
    quality
    D
    maintenance
    Enables 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.
    23
    15
    23
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
  • A
    license
    B
    quality
    A
    maintenance
    Provides 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.
    35
    328
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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