brvm-mcp-server
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
MCP server exposing BRVM (West African regional stock exchange) market data to AI agents.
🇨🇮 BRVM MCP Server
The first MCP server for West Africa's regional stock exchange.
Connect any AI agent — Claude, ChatGPT, Cursor, Copilot, LangGraph — to live market data from the BRVM (Bourse Régionale des Valeurs Mobilières), serving 8 UEMOA member states across West Africa.
Why?
The BRVM lists ~46 companies across Bénin, Burkina Faso, Côte d'Ivoire, Guinée-Bissau, Mali, Niger, Sénégal, and Togo — with a combined market cap of ~$27.8B USD. Yet it has no public API. This server bridges that gap, making BRVM data accessible to the AI ecosystem via the Model Context Protocol.
What's coming on the BRVM
- December 18, 2026: First derivatives market in francophone West Africa (futures on indices and stocks)
- 2026–2027: ETF listings
- 2026: Agricultural commodities exchange (BMPA CI) — cashew, maize, cola nut
This server is built to grow alongside these developments.
Features
Tools (7)
| Tool | Description |
|---|---|
get_market_summary |
Full trading session overview: volume, value, gainers/losers, indices |
get_stock_price |
Current quote for a specific ticker (price, change, volume) |
get_indices |
All BRVM indices: Composite, BRVM 30, Prestige, Principal, sectors |
get_top_movers |
Top N gainers and losers of the day |
get_company_info |
Company details: name, country, sector, market cap |
search_stocks |
Search by name, country, or sector |
list_tickers |
All ~46 BRVM tickers with metadata |
Resources
| URI | Description |
|---|---|
brvm://about |
BRVM exchange overview for context injection |
Prompts
| Prompt | Description |
|---|---|
analyze_stock |
Structured analysis of a BRVM stock |
market_report |
Full daily market report template |
Quick Start
Prerequisites
- Python 3.11+
- uv (recommended) or pip
Install & Run
# Clone
git clone https://github.com/dilanefk/brvm-mcp-server.git
cd brvm-mcp-server
# Install
uv sync
# Run (stdio — for Claude Desktop / Cursor)
uv run brvm-mcp
# Run (HTTP — for remote agents / web apps)
uv run brvm-mcp --transport streamable-http --port 8000
Connect to Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"brvm": {
"command": "uv",
"args": ["run", "--directory", "/path/to/brvm-mcp-server", "brvm-mcp"]
}
}
}
Restart Claude Desktop. You'll see the BRVM tools in the 🔨 menu.
Test with MCP Inspector
npx @modelcontextprotocol/inspector uv run brvm-mcp
Docker (remote deployment)
docker build -t brvm-mcp .
docker run -p 8000:8000 brvm-mcp
Example Conversations
Once connected, you can ask Claude:
"What's the BRVM market doing today?"
→ Callsget_market_summary(), returns full session data
"Show me Sonatel's stock price"
→ Callsget_stock_price("SNTS")
"Which BRVM stocks are from Sénégal?"
→ Callssearch_stocks(country="Sénégal")
"Give me a full market report"
→ Uses themarket_reportprompt to orchestrate multiple tool calls
"Which stocks dropped the most today?"
→ Callsget_top_movers(), focuses on losers
Architecture
┌──────────────────┐ MCP (stdio/HTTP) ┌──────────────────┐
│ AI Agent │◄────────────────────────►│ BRVM MCP Server │
│ (Claude, GPT, │ │ │
│ Cursor, etc.) │ │ FastMCP + Tools │
└──────────────────┘ │ + Cache Layer │
└────────┬─────────┘
│ httpx
┌────────▼─────────┐
│ brvm.org │
│ • Homepage (same-│
│ day price/idx) │
│ • BOC PDF (volume│
│ /YTD/Principal,│
│ 1h cache) │
└──────────────────┘
- FastMCP: Decorator-based MCP framework (official Python SDK)
- httpx: Async HTTP client for scraping
- BeautifulSoup4 + lxml: HTML parsing
- pdfplumber: BOC PDF parsing (index summary regex + per-stock table extraction)
- diskcache: TTL-based disk caching (5min default, respectful of sources)
- Pydantic: Structured data models
Everything is sourced from the exchange's own site (brvm.org) — no third-party
mirror. An earlier version scraped afx.kwayisi.org as primary; it lagged a full
trading session on every field and had real uptime problems, so it was dropped.
Roadmap
- v0.2 — Historical price data (OHLCV bars)
- v0.3 — BRVM official announcements / corporate actions feed
- v0.4 — BMPA CI commodities data (when available)
- v0.5 — Derivatives data (futures, options — post Dec 2026 launch)
- v1.0 — OAuth + rate limiting for multi-user deployment
- Register on MCP Registry
Data Sources & Fair Use
This server scrapes publicly available data. It implements:
- Caching (5min TTL) to minimize requests
- Polite User-Agent header identifying the project
- No authentication bypass — only public data
For real-time FIX feeds, contact BRVM directly: brvm.org/real-time-data-feed
Contributing
PRs welcome! Priority areas:
- Additional data sources (eodhd.com, Rich Bourse)
- Historical data support
- Tests (pytest + VCR cassettes for scraper tests)
- TypeScript port for Node.js MCP hosts
License
MIT
Built with ☕ in Mauritius by Dilane Fogué Kamga — Senior Software & AI Engineer, Financial Engineering MSc (WorldQuant University).
Bridging AI and African capital markets.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi