MCP server for African stock market data — scrapes african-markets.com and exposes 5 tools via stdio JSON-RPC
# CC Financial Markets MCP
> Serveur MCP (Model Context Protocol) pour les données des marchés boursiers africains — cours en temps réel, historiques, rapports annuels et actualités financières depuis african-markets.com.
---
## Sommaire
- Vue d'ensemble
- Outils disponibles
- Places de marché supportées
- Installation
- Configuration
- Authentification (production)
- Modes de transport
- Serveur distant — HTTP (production)
- stdio — Claude Code / Claude Desktop (local)
- HTTP — intégration externe
- Vercel — déploiement serverless
- Docker
- Référence des outils
- Architecture
- Tests
- Développement
---
## Vue d'ensemble
`cc-financial-markets-mcp` expose les données de 20 bourses africaines via le protocole MCP. Il s'intègre directement à Claude Code, Claude Desktop ou toute application compatible MCP.
**Fonctionnalités principales :**
- **Cours en temps réel** — actions cotées, top hausses/baisses/volumes, indices
- **Historique** — indice (close + volume depuis 2015) et actions OHLCV (premium)
- **Documents** — rapports annuels, états financiers, communiqués (avec pagination)
- **Actualités** — derniers articles financiers africains
- **Profils d'entreprises** — fiche complète avec dividendes (premium)
- **Cache proactif** — warmer adaptatif selon les horaires de trading + Redis L2
- **Circuit breaker** — protection automatique contre les pannes du scraper (CLOSED → OPEN → HALF_OPEN)
- **Rate limiter** — token bucket partagé entre tous les outils (outbound) + limiteur inbound par clé API
- **Authentification Bearer** — sécurisation `/mcp` par token API en production
- **Double transport** — stdio pour les clients MCP natifs, HTTP/SSE pour les apps externes
---
## Outils disponibles
| Outil | Description | Premium |
|-------|-------------|---------|
| `list_exchanges` | Liste les 20 places de marché avec codes, pays et devises | Non |
| `get_market_data` | Cours des actions, movers et indices en temps réel | Non |
| `get_index_history` | Historique cl …