Installation
Connecter MapleStats à votre agent
Le plus simple est le serveur hébergé : pointez votre client vers une seule adresse, ou collez une requête et laissez votre agent s'en charger. Rien à installer, ni compte ni clé d'API. Si vous préférez tout garder sur votre machine, ou si vous avez besoin de l'outil de totalisation des microdonnées, exécutez-le en local.
Le plus simple : demandez à votre agent L'agent lit les étapes dans le dépôt, ajoute le serveur hébergé à ses propres réglages et vous dit quand redémarrer.
Connectez le serveur MCP MapleStats à cet agent. Suivez les étapes de https://github.com/dsanchezp18/maplestats-mcp- Copiez la requête.
- Collez-la dans Claude Code, Codex, Cursor ou tout agent qui peut exécuter des commandes sur votre ordinateur.
- Redémarrez l'agent quand il vous le dit, puis demandez des données.
Recommandé : sans installation
Utiliser le serveur hébergé
Une copie publique fonctionne à https://maplestats-mcp.onrender.com/mcp. Elle ne demande ni compte, ni jeton, ni installation : indiquez cette adresse à tout client qui prend en charge les serveurs MCP distants (HTTP).
Elle fonctionne sur un hébergeur gratuit, avec des limites : une requête toutes les 10 minutes la garde éveillée, donc les démarrages à froid sont rares, mais la première requête après une période d'inactivité peut prendre jusqu'à une minute ; chaque client est limité à 60 requêtes par minute ; et l'outil de totalisation des microdonnées (statcan_pumf_tabulate) est désactivé, alors que la recherche, la liste des fichiers et les dictionnaires de données des FMGD fonctionnent. Pour un usage plus intensif ou pour les tableaux de microdonnées, installez-le localement, plus bas. Les appels d'outils de votre agent, comme une expression de recherche ou un numéro de tableau, arrivent au serveur et à son hébergeur ; le code n'en conserve aucun (voir la FAQ), et l'hébergeur, Render, tient ses propres journaux : consultez les conditions et la politique de confidentialité de Render. Pour une confidentialité totale, installez-le localement, plus bas.
claude mcp add --transport http --scope user maplestats https://maplestats-mcp.onrender.com/mcp
codex mcp add maplestats --url https://maplestats-mcp.onrender.com/mcp
{
"mcpServers": {
"maplestats": {
"url": "https://maplestats-mcp.onrender.com/mcp"
}
}
}
VS Code utilise "servers" au lieu de "mcpServers" et exige "type": "http". Vérifiez qu'il répond avec curl https://maplestats-mcp.onrender.com/health.
claude.ai et l'application mobile Claude : sur le Web, ouvrez Paramètres, Connecteurs, Ajouter un connecteur personnalisé, et saisissez la même adresse, si votre forfait offre les connecteurs. Activez-le ensuite depuis le menu des outils d'une conversation, sur le Web ou dans l'application mobile. Claude demande une approbation avant chaque appel d'outil par défaut ; tous les outils de MapleStats sont en lecture seule, vous pouvez donc les régler sur « toujours autoriser » dans les permissions du connecteur. ChatGPT (Web) : activez le mode développeur sous Paramètres, Sécurité et connexion, puis créez une application en mode développeur pour un serveur MCP distant avec la même adresse et sans authentification. Ouvrir l'adresse dans un navigateur affiche l'erreur « Missing session ID » ; c'est normal, seuls les clients MCP peuvent l'utiliser.
Pour toute une organisation : avec Claude Team ou Enterprise, un propriétaire ouvre Paramètres de l'organisation, Connecteurs, Ajouter un connecteur personnalisé et saisit la même adresse une seule fois ; chaque membre le connecte ensuite depuis ses propres paramètres de connecteurs. Avec ChatGPT Business, Enterprise ou Edu (Web), un administrateur de l'espace de travail active d'abord le mode développeur sous Paramètres de l'espace de travail, Autorisations et rôles, Données connectées, puis crée l'application sans authentification et la publie sous Paramètres de l'espace de travail, Applications, Brouillons, Publier. Le serveur hébergé est une instance gratuite partagée, limitée à 60 requêtes par minute par adresse client ; une grande organisation devrait donc exécuter sa propre copie.
Ou exécutez-le sur votre machine
01
Installer uv
uv exécute des outils Python sans étape d'installation distincte. Passez cette étape si uv --version fonctionne déjà.
curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
02
Ajouter le serveur à votre client
Choisissez votre client. Chaque entrée exécute uvx maplestats-mcp, qui télécharge le serveur la première fois, puis le réutilise.
Claude Code
Exécutez cette commande une fois dans un terminal. --scope user rend le serveur accessible dans tous les projets ; sans cette option, il n'est ajouté qu'au projet courant.
claude mcp add --scope user maplestats -- uvx maplestats-mcp
Claude Desktop
Dans Claude Desktop, ouvrez Réglages, puis Développeur, puis Modifier la configuration. Ajoutez le serveur au fichier qui s'ouvre, enregistrez et redémarrez Claude.
{
"mcpServers": {
"maplestats": {
"command": "uvx",
"args": ["maplestats-mcp"]
}
}
}
Le fichier se trouve dans ~/Library/Application Support/Claude/claude_desktop_config.json sous macOS et dans %APPDATA%\Claude\claude_desktop_config.json sous Windows.
Cursor
Le lien ouvre Cursor avec l'entrée déjà remplie. Pour l'ajouter à la main, placez-la dans ~/.cursor/mcp.json pour tous les projets, ou dans .cursor/mcp.json pour un seul projet.
{
"mcpServers": {
"maplestats": {
"command": "uvx",
"args": ["maplestats-mcp"]
}
}
}
VS Code
Pour l'ajouter à la main, notez que VS Code utilise la clé servers, et non mcpServers. Placez ceci dans .vscode/mcp.json d'un espace de travail, ou lancez la commande MCP: Open User Configuration dans la palette de commandes pour l'ajouter à tous vos espaces de travail.
{
"servers": {
"maplestats": {
"type": "stdio",
"command": "uvx",
"args": ["maplestats-mcp"]
}
}
}
Codex CLI
Ajoutez-le depuis le terminal, ou écrivez vous-même la même entrée dans ~/.codex/config.toml.
codex mcp add maplestats -- uvx maplestats-mcp
[mcp_servers.maplestats]
command = "uvx"
args = ["maplestats-mcp"]
Gemini CLI
Ajoutez-le depuis le terminal (-s user pour tous les projets), ou écrivez l'entrée dans ~/.gemini/settings.json, à côté des réglages qui s'y trouvent déjà.
gemini mcp add -s user maplestats uvx maplestats-mcp
{
"mcpServers": {
"maplestats": {
"command": "uvx",
"args": ["maplestats-mcp"]
}
}
}
Autres clients
La plupart des clients MCP acceptent cette entrée mcpServers. Si vous avez installé la commande avec uv tool install ou pip, utilisez "command": "maplestats-mcp" et retirez args.
{
"mcpServers": {
"maplestats": {
"command": "uvx",
"args": ["maplestats-mcp"]
}
}
}
03
Poser une question
Redémarrez le client s'il était ouvert, puis demandez des données. Nommer la source est facultatif ; demander des citations amène l'agent à citer chaque bloc de provenance. Pour neuf exemples complets, des microdonnées du recensement au prix des cartes de crédit, consultez les démos.
- Quelle a été la variation sur 12 mois de l'indice des prix à la consommation le mois dernier ? Citez le tableau.
- Comparez le loyer moyen d'un appartement de deux chambres à Calgary et à Edmonton depuis 2020, avec les données de la SCHL.
- Avec les microdonnées à grande diffusion de l'Enquête sur la population active, estimez le taux d'emploi par province, avec les poids d'enquête.
- What is the Bank of Canada's policy rate, and how long has it been at that level?
Autres façons d'installer
Installer la commande une fois
Si vous préférez une installation fixe à uvx, installez la commande et indiquez directement maplestats-mcp à votre client.
# avec uv (mise à jour : uv tool upgrade maplestats-mcp)
uv tool install maplestats-mcp
# ou avec pip
pip install maplestats-mcp
# ou la version de développement, depuis GitHub
uv tool install git+https://github.com/dsanchezp18/maplestats-mcp.git
Hébergement
L'exécuter comme serveur HTTP
Pour un déploiement partagé, passez le transport en HTTP. Si le serveur est accessible au-delà de votre machine, définissez un jeton porteur et exigez-le. GET /health indique la durée de fonctionnement et la version, sans authentification.
MAPLE_TRANSPORT=http MAPLE_HOST=0.0.0.0 MAPLE_PORT=8000 \
MAPLE_AUTH_TOKEN="$(openssl rand -hex 32)" MAPLE_REQUIRE_AUTH=1 \
uvx maplestats-mcp
| Variable | Défaut | Rôle |
|---|---|---|
MAPLE_TRANSPORT | stdio | stdio pour les clients locaux, http pour l'hébergement |
MAPLE_HOST, MAPLE_PORT | 127.0.0.1, 8000 | Adresse d'écoute HTTP |
MAPLE_AUTH_TOKEN | non défini | Jeton porteur exigé sur /mcp s'il est défini |
MAPLE_REQUIRE_AUTH | 0 | Refuse de démarrer sans jeton si 1 |
MAPLE_RATE_LIMIT_REQUESTS, MAPLE_RATE_LIMIT_WINDOW_SECONDS | 120, 60 | Limite de débit par client, sur fenêtre glissante |
MAPLE_MAX_CONCURRENT_REQUESTS | 8 | Requêtes MCP simultanées ; les suivantes attendent jusqu'à 5 s, puis reçoivent HTTP 503 |
MAPLE_TOOL_TIMEOUT_SECONDS | 120 | Durée maximale d'un appel d'outil avant une erreur nommée |
MAPLE_ALLOWED_ORIGINS | site du projet, localhost | Origines de navigateur admises sur /mcp, séparées par des virgules (https://*.office.com pour un complément Office) ; les autres reçoivent HTTP 403, les clients sans origine sont admis |
MAPLE_CACHE_MAX_ENTRIES | 2000 | Entrées par compartiment du cache en mémoire |
MAPLE_CACHE_MAX_MB | 128 | Plafond estimé de la mémoire de tout le cache |
MAPLE_PARSE_WORKERS, MAPLE_PARSE_TIMEOUT_SECONDS | 4, 60 | Fils qui lisent les fichiers Excel et CSV, et durée maximale pour un fichier |
MAPLE_PUMF_CACHE_DIR, MAPLE_PUMF_CACHE_MAX_GB | dossier temporaire, 5 | Emplacement des microdonnées téléchargées et taille maximale |
MAPLE_PUMF_TABULATE | 1 | 0 désactive statcan_pumf_tabulate, qui télécharge des fichiers de microdonnées entiers ; la recherche, la liste des fichiers et les dictionnaires restent |
MAPLE_LODE_CACHE_DIR, MAPLE_LODE_CACHE_MAX_GB | dossier temporaire, 3 | Emplacement des fichiers décompressés des bases de données ouvertes (ECDO) de Statistique Canada et taille maximale |
MAPLE_LODE_MAX_DOWNLOAD_MB | 300 | Taille maximale d'une archive de base de données ouverte téléchargée par un appel ; 0 désactive les téléchargements |
MAPLE_IP_HORIZONS_CACHE_DIR, MAPLE_IP_HORIZONS_CACHE_MAX_GB | dossier temporaire, 3 | Emplacement des tableaux de brevets de l'OPIC en Parquet et taille maximale |
MAPLE_EXPORT_DIR | dossier Téléchargements | Emplacement où reproduce_workbook enregistre les classeurs Excel sur un serveur local |
MAPLE_USAGE_STATS | 1 | Compte les appels par nom d'outil à /stats, en mémoire ; 0 désactive ces comptes |
MAPLE_SSL_CERTFILE, MAPLE_SSL_KEYFILE | non défini | Terminaison TLS dans le processus du serveur |
MAPLE_TRUST_PROXY_HEADERS | 0 | Limites de débit selon X-Forwarded-For ; à activer seulement derrière un mandataire qui le définit |
Hébergement
L'exécuter avec Docker
Le dépôt fournit un Dockerfile et un docker-compose.yml qui servent HTTP sur le port 8000. Le fichier compose définit MAPLE_REQUIRE_AUTH=1, si bien que le conteneur refuse de démarrer tant que MAPLE_AUTH_TOKEN n'est pas défini. Conservez le jeton : les clients l'envoient dans l'en-tête Authorization: Bearer à http://localhost:8000/mcp.
Deux volumes nommés conservent les microdonnées et les tableaux de brevets téléchargés d'un redémarrage à l'autre. Les variables du tableau ci-dessus se définissent de la même façon que le jeton.
git clone https://github.com/dsanchezp18/maplestats-mcp
cd maplestats-mcp
export MAPLE_AUTH_TOKEN="$(openssl rand -hex 32)"
echo "$MAPLE_AUTH_TOKEN"
docker compose up -d --build
curl http://localhost:8000/health
Dépannage
Quand la connexion échoue
- Le client ne trouve pas
uvx - Les applications de bureau ne lisent pas toujours le
PATHde votre terminal. Utilisez le chemin complet donné parwhich uvx(macOS, Linux) ouwhere uvx(Windows) comme commande, puis redémarrez le client. - Un appel de microdonnées ou de brevets expire
- Le premier appel de
statcan_pumf_tabulatesur un fichier le télécharge, ce qui peut prendre une minute ou deux ; les appels suivants utilisent le cache. AugmentezMAPLE_TOOL_TIMEOUT_SECONDSsi votre connexion est lente. - L'agent n'utilise pas les outils
- Vérifiez que le client affiche trois outils MapleStats : plan_query, search_tools et call_tool. Les autres sont trouvés par la recherche ; ils n'apparaissent donc pas dans la liste d'outils du client.