← Tous les travaux
Serveur MCP · en ligneEn ligne

Casablanca-Bourse Lens

Demandez à un assistant ce que fait le marché marocain et laissez-le répondre depuis la bourse elle-même — cotations, analyse technique, fondamentaux, macroéconomie, change et opérations sur titres, via une seule connexion.

27
outils exposés en MCP
80
valeurs cotées couvertes
10s–24h
fraîcheur du cache, réglée par jeu de données

Ce que c'est

La Bourse de Casablanca ne publie pas d'API digne de ce nom. Ses données sont dispersées entre les endpoints internes d'un courtier, la banque centrale, les publications du régulateur et des flux de change et de matières premières — chacun avec sa forme, aucun pensé pour être interrogé en une phrase.

Lens réunit tout cela en une surface d'outils qu'un assistant utilise directement. Vous le connectez une fois, puis vous demandez en langage naturel : ce qu'a fait le marché aujourd'hui, la dynamique d'une valeur, les prochaines publications de résultats, l'effet du taux directeur sur les banques.

La décision de conception qui compte

Chaque outil s'adresse à une interface de fournisseur, jamais à une source. Le serveur est le seul composant qui sait quel fournisseur concret est branché : une source peut donc être remplacée sans toucher à une seule définition d'outil — et l'assistant n'y voit rien.

Le cache est une couche distincte plutôt qu'une logique interne aux fournisseurs. Chaque type de donnée a sa propre fraîcheur : quelques secondes pour les cotations, dix secondes pour le carnet d'ordres, des heures pour les séries macro, une journée pour les profils de sociétés. Une source indisponible dégrade vers une donnée légèrement ancienne au lieu de faire échouer la question.

  • L'API de la bourse ne sert que son certificat final : l'intermédiaire est embarqué et chargé avec certifi, plutôt que de désactiver la vérification.
  • Les tentatives suivent un backoff exponentiel, uniquement sur les erreurs 5xx et de transport — un 404 remonte immédiatement, car il n'est pas transitoire.
  • Les opérations sur titres sont stockées à part, pour ajuster l'historique des cours des splits et dividendes.

Le mettre en public

Le même serveur tourne de deux façons : en stdio sur un poste, et comme point d'accès HTTP public. Le public change le modèle de menace : la version publique n'expose que les outils de données de marché, filtrés selon l'endroit où chaque outil est défini et non selon son nom, afin qu'un enregistrement égaré ne puisse jamais publier les outils de fichiers locaux ou de passage d'ordres.

S'y ajoutent : une limitation de débit par client qui ne lit les en-têtes transmis que depuis un proxy de confiance, des limites de taille d'arguments pour empêcher de saturer les clés de cache, un plafond sur le corps des requêtes, et le refus des en-têtes Host inattendus. Une revue de sécurité de ce code a produit des correctifs sur ces quatre points avant la mise en ligne.

Réalisé avec

  • Python
  • MCP SDK
  • Starlette
  • DuckDB
  • SQLite
  • Vercel

Ajoutez https://casabourse-lens.vercel.app/mcp comme connecteur personnalisé dans Claude pour l'utiliser. Il sert des données de marché en lecture seule.