Allows exporting Grist documents into SQLite format and provides tools for executing SQL queries against the underlying database tables.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Grist MCP ServerList all the tables in my Project Tracker document"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.

Grist MCP Server
Un serveur MCP (Model Context Protocol) pour interagir avec l'API Grist. Ce serveur permet d'accéder et de manipuler les données Grist directement depuis des modèles de langage comme Claude.
Structure du projet
Prérequis
Python 3.8+
Une clé API Grist valide
Les packages Python suivants :
fastmcp,httpx,pydantic,python-dotenv
Installation
Via pip (recommandé)
Après l'installation, vous pouvez exécuter le serveur avec :
Utilisation avec Claude Desktop
Pour utiliser ce serveur MCP avec Claude Desktop, ajoutez la configuration suivante à votre fichier mcp_servers.json :
Remplacez chemin/vers/npm-wrapper/bin/start.js par le chemin absolu vers le script start.js du wrapper Node.js inclus dans ce package.
Installation en mode développement
Pour contribuer ou personnaliser le serveur :
Via Docker
Pour un déploiement rapide avec Docker :
Via Docker Compose
Pour déployer plusieurs modes de transport en parallèle :
Configuration
Variables d'environnement
Créez un fichier .env basé sur .env.template avec les variables suivantes :
Vous trouverez votre clé API dans les paramètres de votre compte Grist.
Configuration avec Claude Desktop
Ajoutez ceci à votre claude_desktop_config.json :
Version Python
Version Docker
Options de démarrage
Le serveur prend en charge plusieurs modes de transport conformes au standard MCP :
En mode module (recommandé)
Options supplémentaires
Sécurité des transports
Pour les transports HTTP et SSE, nous recommandons :
Utiliser
127.0.0.1(localhost) plutôt que0.0.0.0pour limiter l'accès au réseau localActiver la validation d'origine (
validate_origin) pour éviter les attaques DNS rebindingPour une exposition à Internet, utiliser un proxy inverse avec HTTPS
Fonctionnalités
Accès aux données Grist directement depuis les modèles de langage
Liste des organisations, espaces de travail, documents, tables et colonnes
Gestion des enregistrements (création, lecture, mise à jour, suppression)
Filtrage et tri des données avec des capacités de requêtage avancées
Support des requêtes SQL (SELECT uniquement)
Authentification sécurisée via clé API
Gestion des accès utilisateurs
Export et téléchargement (SQLite, Excel, CSV)
Gestion des pièces jointes
Gestion des webhooks
Validation intelligente des formules
Outils disponibles
Gestion des organisations et documents
list_organizations: Liste les organisationsdescribe_organization: Obtient des informations détaillées sur une organisationmodify_organization: Modifie une organisationdelete_organization: Supprime une organisationlist_workspaces: Liste les espaces de travail dans une organisationdescribe_workspace: Obtient des informations détaillées sur un espace de travailcreate_workspace: Crée un nouvel espace de travailmodify_workspace: Modifie un espace de travaildelete_workspace: Supprime un espace de travaillist_documents: Liste les documents dans un espace de travaildescribe_document: Obtient des informations détaillées sur un documentcreate_document: Crée un nouveau documentmodify_document: Modifie un documentdelete_document: Supprime un documentmove_document: Déplace un document vers un autre espace de travailforce_reload_document: Force le rechargement d'un documentdelete_document_history: Supprime l'historique d'un document
Gestion des tables et colonnes
list_tables: Liste les tables dans un documentcreate_table: Crée une nouvelle tablemodify_table: Modifie une tablelist_columns: Liste les colonnes dans une tablecreate_column: Crée une nouvelle colonnecreate_column_with_feedback: Crée une colonne avec validation et retour détaillémodify_column: Modifie une colonnedelete_column: Supprime une colonnecreate_column_with_formula_safe: Crée une colonne de formule avec validationget_formula_helpers: Obtient de l'aide pour construire des formulesvalidate_formula: Valide une formule et suggère des correctionsget_table_schema: Obtient le schéma d'une table
Manipulation des données
list_records: Liste les enregistrements avec tri et limiteadd_grist_records: Ajoute des enregistrementsadd_grist_records_safe: Ajoute des enregistrements avec validationupdate_grist_records: Met à jour des enregistrementsdelete_grist_records: Supprime des enregistrements
Filtrage et requêtes SQL
filter_sql_query: Requête SQL optimisée pour le filtrage simpleInterface simplifiée pour les filtres courants
Support du tri et de la limitation
Conditions WHERE basiques
execute_sql_query: Requête SQL complexeRequêtes SQL personnalisées
Support des JOIN et sous-requêtes
Paramètres et timeout configurables
Gestion des accès
list_organization_access: Liste les utilisateurs ayant accès à une organisationmodify_organization_access: Modifie l'accès d'un utilisateur à une organisationlist_workspace_access: Liste les utilisateurs ayant accès à un espace de travailmodify_workspace_access: Modifie l'accès d'un utilisateur à un espace de travaillist_document_access: Liste les utilisateurs ayant accès à un documentmodify_document_access: Modifie l'accès d'un utilisateur à un document
Export et téléchargement
download_document_sqlite: Télécharge un document au format SQLitedownload_document_excel: Télécharge un document au format Exceldownload_table_csv: Télécharge une table au format CSV
Gestion des pièces jointes
list_attachments: Liste les pièces jointes dans un documentget_attachment_info: Obtient des informations sur une pièce jointedownload_attachment: Télécharge une pièce jointeupload_attachment: Téléverse une pièce jointe
Gestion des webhooks
list_webhooks: Liste les webhooks d'un documentcreate_webhook: Crée un webhookmodify_webhook: Modifie un webhookdelete_webhook: Supprime un webhookclear_webhook_queue: Vide la file d'attente des webhooks
Exemples d'utilisation
Cas d'utilisation détaillés
Navigation et exploration
list_organizations,list_workspaces,list_documents,list_tables,list_columnsUtilisez pour explorer la structure Grist et découvrir les données disponibles
Nécessaires pour obtenir les IDs avant d'exécuter des opérations spécifiques
Idéal pour la phase initiale d'analyse des données
Requêtes et filtrage
list_records: Pour obtenir tous les enregistrements d'une tablefilter_sql_query: Pour les filtres simples sur une seule tableexecute_sql_query: Pour les requêtes complexes avec jointures et sous-requêtes
Manipulation des données
add_grist_recordsetadd_grist_records_safe: Pour ajouter des données avec ou sans validationupdate_grist_records: Pour modifier des enregistrements existantsdelete_grist_records: Pour supprimer des enregistrements
Travail avec les formules
get_formula_helpers: Pour obtenir la syntaxe correcte des références de colonnesvalidate_formula: Pour vérifier et corriger automatiquement les formulescreate_column_with_formula_safe: Pour créer des colonnes calculées sécurisées
Export et téléchargement
download_document_sqlite,download_document_excel,download_table_csv: Pour exporter les donnéesdownload_attachment: Pour récupérer les fichiers attachés
Gestion des accès
list_*_accessetmodify_*_access: Pour administrer les permissions utilisateurs
Intégrations externes
create_webhook,modify_webhook: Pour connecter Grist à d'autres services
Cas d'utilisation
Le serveur MCP Grist est conçu pour :
Analyser et résumer les données Grist
Créer, mettre à jour et supprimer des enregistrements programmatiquement
Construire des rapports et des visualisations
Répondre aux questions sur les données stockées
Connecter Grist avec des modèles de langage pour des requêtes en langage naturel
Automatiser les flux de travail impliquant des données Grist
Intégrer Grist à d'autres systèmes via webhooks
Contribution
Les contributions sont les bienvenues ! Voici comment contribuer :
Forkez le projet
Créez une branche pour votre fonctionnalité
Committez vos changements
Poussez vers la branche
Ouvrez une Pull Request
Licence
Ce serveur MCP est sous licence MIT.