MapleStatsMCP

Connexion

Connecter MapleStats à votre agent

Le plus simple est de laisser votre agent s'en charger : collez une requête, il installe le serveur et le connecte. Si vous préférez le faire vous-même, il suffit de deux étapes. Dans les deux cas, ni compte ni clé d'API.

Le plus simple : demandez à votre agent L'agent lit les étapes d'installation dans le dépôt, installe uv s'il manque, ajoute MapleStats à ses propres réglages et vous dit quand redémarrer.

Installe le serveur MCP MapleStats et connecte-le à cet agent. Suis les étapes d'installation de https://github.com/dsanchezp18/maplestats-mcp
  1. Copiez la requête.
  2. Collez-la dans Claude Code, Codex, Cursor ou tout agent qui peut exécuter des commandes sur votre ordinateur.
  3. Redémarrez l'agent quand il vous le dit, puis demandez des données.

Ou installez-le vous-même

01

Installer uv

uv exécute des outils Python sans étape d'installation distincte. Passez cette étape si uv --version fonctionne déjà.

macOS, Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows PowerShell
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.

Terminal
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.

claude_desktop_config.json
{
  "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.

~/.cursor/mcp.json
{
  "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.

.vscode/mcp.json
{
  "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.

Terminal
codex mcp add maplestats -- uvx maplestats-mcp
~/.codex/config.toml
[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à.

Terminal
gemini mcp add -s user maplestats uvx maplestats-mcp
~/.gemini/settings.json
{
  "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.

JSON
{
  "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 huit exemples complets, des microdonnées du recensement au prix des cartes de crédit, consultez les études de cas.

  • 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.

Terminal
# 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.

Terminal
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
Variables d'environnement d'un serveur hébergé
VariableDéfautRôle
MAPLE_TRANSPORTstdiostdio pour les clients locaux, http pour l'hébergement
MAPLE_HOST, MAPLE_PORT127.0.0.1, 8000Adresse d'écoute HTTP
MAPLE_AUTH_TOKENnon définiJeton porteur exigé sur /mcp s'il est défini
MAPLE_REQUIRE_AUTH0Refuse de démarrer sans jeton si 1
MAPLE_RATE_LIMIT_REQUESTS, MAPLE_RATE_LIMIT_WINDOW_SECONDS120, 60Limite de débit par client, sur fenêtre glissante
MAPLE_MAX_CONCURRENT_REQUESTS8Requêtes MCP simultanées ; les suivantes attendent jusqu'à 5 s, puis reçoivent HTTP 503
MAPLE_TOOL_TIMEOUT_SECONDS120Durée maximale d'un appel d'outil avant une erreur nommée
MAPLE_CACHE_MAX_ENTRIES2000Entrées par compartiment du cache en mémoire
MAPLE_PUMF_CACHE_DIR, MAPLE_PUMF_CACHE_MAX_GBdossier temporaire, 5Emplacement des microdonnées téléchargées et taille maximale
MAPLE_IP_HORIZONS_CACHE_DIR, MAPLE_IP_HORIZONS_CACHE_MAX_GBdossier temporaire, 3Emplacement des tableaux de brevets de l'OPIC en Parquet et taille maximale
MAPLE_SSL_CERTFILE, MAPLE_SSL_KEYFILEnon définiTerminaison TLS dans le processus du serveur
MAPLE_TRUST_PROXY_HEADERS0Limites 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.

Terminal
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 PATH de votre terminal. Utilisez le chemin complet donné par which uvx (macOS, Linux) ou where uvx (Windows) comme commande, puis redémarrez le client.
Un appel de microdonnées ou de brevets expire
Le premier appel de statcan_pumf_tabulate sur un fichier le télécharge, ce qui peut prendre une minute ou deux ; les appels suivants utilisent le cache. Augmentez MAPLE_TOOL_TIMEOUT_SECONDS si 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.