Tools
Notion MCP
Integration Notion via MCP. Config, permissions par agent, operations, limites API, et exemples concrets.
Notion MCP
Notion est la base de donnees business du systeme. Les agents y accedent via le MCP Notion. Jamais via l'API directement.
Role
- Stocker les donnees business structurees (CRM, pipeline, factures)
- Fournir une interface visuelle pour l'utilisateur (dashboards Notion)
- Servir de source de verite pour les donnees clients et projets
Config MCP
Le MCP Notion est configure dans la config agents d'OpenClaw.
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer ntn_xxx\", \"Notion-Version\": \"2022-06-28\"}"
}
}
}
}Le token d'integration Notion est stocke dans le Vault (Vaultwarden).
Permissions par agent
Tous les agents n'ont pas acces a Notion. Seuls ceux qui en ont besoin.
| Agent | Acces Notion | Databases autorisees |
|---|---|---|
| CEO | Oui | Toutes |
| Secretary | Oui | CRM, Tasks, Contacts |
| Social | Non | — |
| Trader | Non | — |
| OPS | Non | — |
| DEV | Non | — |
| Doc Manager | Oui | Docs, Knowledge |
Le principe : acces minimal. Un agent qui n'a pas besoin de Notion ne le voit pas.
Operations disponibles
Le MCP Notion expose ces operations :
| Operation | Outil MCP | Exemple |
|---|---|---|
| Chercher une page | API-post-search | Trouver un client par nom |
| Lire une page | API-retrieve-a-page | Lire les details d'un lead |
| Creer une page | API-post-page | Ajouter un nouveau client |
| Modifier une page | API-patch-page | Mettre a jour le statut d'un deal |
| Lire une database | API-retrieve-a-database | Lister tous les leads |
| Lire les enfants d'un bloc | API-get-block-children | Lire le contenu d'une page |
| Commenter | API-create-a-comment | Ajouter une note sur un deal |
Exemples concrets
Ajouter un lead au CRM
CEO → Secretary : "Ajoute Acme Corp comme lead"
Secretary → Notion MCP :
API-post-page({
parent: { database_id: "crm-db-id" },
properties: {
"Name": { title: [{ text: { content: "Acme Corp" } }] },
"Status": { select: { name: "New" } },
"Source": { select: { name: "Cold Outreach" } }
}
})Mettre a jour un statut
Secretary → Notion MCP :
API-patch-page({
page_id: "page-xxx",
properties: {
"Status": { select: { name: "Demo Sent" } }
}
})Limites API
| Limite | Valeur |
|---|---|
| Rate limit | 3 requetes/seconde |
| Taille max page | 100 blocs enfants par requete |
| Recherche | Texte uniquement, pas de filtres complexes |
| Pagination | Max 100 resultats par page |
| Profondeur blocs | 3 niveaux max en une requete |
Contourner les limites
- Rate limit : le MCP gere automatiquement le retry avec backoff.
- Pagination : boucler avec
start_cursorpour les gros datasets. - Recherche limitee : utiliser
API-query-data-sourceavec filtres pour des recherches precises.
Bonnes pratiques
- Toujours passer par le MCP. Jamais d'appel API direct dans le code agent.
- Minimiser les ecritures. Lire souvent, ecrire rarement. Chaque ecriture coute un appel API.
- Structurer les databases. Les proprietes Notion doivent etre typees (select, date, number). Pas de texte libre partout.
- Versionner les IDs. Les database IDs et page IDs sont dans la config. Pas en dur dans les prompts.