|
|
vor 1 Woche | |
|---|---|---|
| src | vor 1 Woche | |
| .env.example | vor 1 Woche | |
| .gitignore | vor 1 Woche | |
| AGENTS.md | vor 1 Woche | |
| Dockerfile | vor 1 Woche | |
| PROJECT.md | vor 1 Woche | |
| README.md | vor 1 Woche | |
| discover_swissquote_api.py | vor 1 Woche | |
| docker-compose.yml | vor 1 Woche | |
| killserver.sh | vor 1 Monat | |
| main.py | vor 1 Woche | |
| metals-mcp_first_idea.md | vor 1 Woche | |
| requirements.txt | vor 1 Woche | |
| restart.sh | vor 1 Monat | |
| run.sh | vor 1 Monat | |
| swissquote_pairs.json | vor 1 Woche | |
| test_metals.py | vor 1 Woche | |
| test_swissquote_api.py | vor 1 Woche | |
| tests.sh | vor 1 Monat |
FastMCP-based metals market data server backed by a Swissquote poller and local candle store.
/mcp/mcp/sse/mcp/messages//rpc compatibility pathsource .venv/bin/activate
pip install -r requirements.txt
./run.sh
Default URL base: http://127.0.0.1:8515
docker compose up -d --build
The compose file persists data/ and logs/ into the project directory, binds the server to 0.0.0.0, and keeps the candle DB bounded.
Reload is off by default in container runs, so the poller won't trigger watcher loops.
GET / → health + tool listGET /health → health + cache/store statsget_price - Fetch live Swissquote quotes for metalsget_ohlcv - Get OHLCV candle data for a symbol and timeframeget_last_candle - Get the most recent completed candleget_market_snapshot - Get comprehensive market analysis for a single symbol (price, trend, regime, etc.)get_indicator - Calculate technical indicators (SMA, EMA, RSI, ATR, return_pct, volatility)get_top_movers - Get top moving symbols by percentage changeget_capabilities - Get server capabilities and available toolsget_regime - Get market regime classification (bullish, bearish, compression, neutral)get_snapshot - Get comprehensive multi-timeframe, multi-symbol market snapshot with cross-asset analysiscrypto-mcp tool names, with get_last_candle kept as a small metals-specific convenience.get_price fetches live Swissquote quotes for metals like XAU.XAU/USD, XAG/USD, XPT/USD, and XPD/USD by default.get_market_snapshot and get_regime now provide the useful metals context in crypto-style naming.get_snapshot provides comprehensive multi-timeframe, multi-symbol analysis with cross-asset insights.METALS_CANDLE_RETENTION_DAYS (default 30), with periodic pruning to keep the DB bounded.get_indicator, get_market_snapshot, get_top_movers, and get_regime as more metals behavior becomes useful to Argus.crypto-mcp where practical.8515../tests.sh
./run.sh
./killserver.sh stops stale listeners on the configured port./restart.sh chains kill and run