Integrate with the Grist API to manage relational spreadsheets and data. Requires a Grist API key.
{{ message }}
nic01asFr / mcp-server-grist Public
MCP server implementation for Grist API integration
MIT license
13 stars3 forksBranches Tags Activity
Star
Notifications
dev
BranchesTags
Go to file
Code
Name | Name | Last commit message | Last commit date |
---|---|---|---|
7 Commits | |||
archive | archive | ||
docs | docs | ||
.env.template | .env.template | ||
.gitignore | .gitignore | ||
CONTRIBUTING.md | CONTRIBUTING.md | ||
Dockerfile | Dockerfile | ||
LICENSE | LICENSE | ||
README.md | README.md | ||
SECURITY.md | SECURITY.md | ||
grist_mcp_server.py | grist_mcp_server.py | ||
pyproject.toml | pyproject.toml | ||
requirements.txt | requirements.txt | ||
View all files |
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.
mcp-server-grist/
├── docs/ # Documentation et fichiers de référence
│ └── grist_api.yml # Documentation de l'API Grist
├── archive/ # Fonctionnalités archivées
│ ├── christmas_order_tool.py # Outil de commandes de Noël (désactivé)
│ ├── grist_form_tools.py # Intégration des formulaires (désactivé)
│ └── grist_additional_tools.py # Outils additionnels (désactivé)
├── grist_mcp_server.py # Serveur MCP principal
├── requirements.txt # Dépendances Python
├── setup.py # Configuration du package
├── Dockerfile # Configuration Docker
├── .env.template # Template pour les variables d'environnement
└── README.md # Documentation
fastmcp
, httpx
, pydantic
, python-dotenv
pip install mcp-server-grist
git clone https://github.com/yourusername/mcp-server-grist.git cd mcp-server-grist pip install -r requirements.txt
docker build -t mcp/grist-mcp-server .
Créez un fichier .env
basé sur .env.template
avec les variables suivantes :
GRIST_API_KEY=votre_clé_api
GRIST_API_HOST=https://docs.getgrist.com/api
Vous trouverez votre clé API dans les paramètres de votre compte Grist.
Ajoutez ceci à votre claude_desktop_config.json
:
{ "mcpServers": { "grist-mcp": { "command": "python", "args": [ "-m", "grist_mcp_server" ] } } }
{ "mcpServers": { "grist-mcp": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "GRIST_API_KEY=votre_clé_api", "-e", "GRIST_API_HOST=https://docs.getgrist.com/api", "mcp/grist-mcp-server" ] } } }
list_organizations
: Liste les organisationslist_workspaces
: Liste les espaces de travaillist_documents
: Liste les documentslist_tables
: Liste les tableslist_columns
: Liste les colonneslist_records
: Liste les enregistrements avec tri et limiteadd_grist_records
: Ajoute des enregistrementsupdate_grist_records
: Met à jour des enregistrementsdelete_grist_records
: Supprime des enregistrementsfilter_sql_query
: Requête SQL optimisée pour le filtrage simple
execute_sql_query
: Requête SQL complexe
orgs = await list_organizations()
workspaces = await list_workspaces(org_id=1)
docs = await list_documents(workspace_id=1)
tables = await list_tables(doc_id="abc123")
columns = await list_columns(doc_id="abc123", table_id="Table1")
records = await list_records( doc_id="abc123", table_id="Table1", sort="name", limit=10 )
filtered_records = await filter_sql_query( doc_id="abc123", table_id="Table1", columns=["name", "age", "status"], where_conditions={ "organisation": "OPSIA", "status": "actif" }, order_by="name", limit=10 )
sql_result = await execute_sql_query( doc_id="abc123", sql_query=""" SELECT t1.name, t1.age, t2.department FROM Table1 t1 JOIN Table2 t2 ON t1.id = t2.employee_id WHERE t1.status = ? AND t1.age > ? ORDER BY t1.name LIMIT ? """, parameters=["actif", 25, 10], timeout_ms=2000 )
new_records = await add_grist_records( doc_id="abc123", table_id="Table1", records=[{"name": "John", "age": 30}] )
updated_records = await update_grist_records( doc_id="abc123", table_id="Table1", records=[{"id": 1, "name": "John", "age": 31}] )
list_organizations
, list_workspaces
, list_documents
list_tables
, list_columns
list_records
filter_sql_query
execute_sql_query
add_grist_records
update_grist_records
delete_grist_records
Le serveur MCP Grist est conçu pour :
Les contributions sont les bienvenues ! Voici comment contribuer :
Ce serveur MCP est sous licence MIT.
Readme
MIT license
Security policy
Activity
13 stars
2 watching
3 forks
Report repository
1 tags
No packages published
Interact with the SingleStore database platform
An AI-powered server that generates PyAirbyte pipeline code and instructions using OpenAI and connector documentation.
Provides access to Azure Data Explorer (ADX) clusters, requiring Azure credentials for configuration.
Query Vietnam stock intraday data using the SSI FastConnect API.
A read-only MCP server by CData for querying live Cloudant data with LLMs. Requires the CData JDBC Driver for Cloudant.
Access and interact with Allen Institute for Neural Dynamics (AIND) metadata directly within your IDE.
Snowflake database integration with read/write capabilities and insight tracking
Immutable ledger database with live synchronization
Connect AI tools with Pinecone projects to search, configure indexes, generate code, and manage data.
A MCP server that provides real-time cryptocurrency market data through CoinCap's public API without requiring authentication