Serveur MCP
Connecter Claude Desktop, Cursor, Codex et autres assistants IA au serveur MCP Syndic+.
Qu'est-ce que MCP ?#
Model Context Protocol (MCP) est un standard ouvert d'Anthropic qui permet aux assistants IA de communiquer de façon sécurisée avec des services externes. Syndic+ expose un serveur MCP qui donne accès à 181 outils répartis sur 22 modules — copropriétaires, assemblées, finances, projets, etc.
Avec le serveur MCP, vous pouvez demander à Claude, Cursor ou Codex : « Liste les copropriétaires en retard de plus de 30 jours » ou « Crée un avis de cotisation pour le T3 2026 » — l'IA appelle directement les bons outils Syndic+.
URL du serveur MCP#
https://app.syndicplus.ca/api/mcp
Le serveur utilise le transport HTTP streamable (JSON-RPC 2.0 sur POST) et requiert une authentification OAuth 2.1 (ou une clé API sk_*).
Configurer Claude Desktop#
Ouvrir les paramètres
Claude Desktop → Réglages → Developer → Edit Config.
Ajouter le serveur Syndic+
{
"mcpServers": {
"syndic-plus": {
"url": "https://app.syndicplus.ca/api/mcp",
"transport": "http"
}
}
}
Redémarrer Claude
Quitter Claude Desktop complètement, puis rouvrir. Le nom syndic-plus apparaît dans la barre d'outils.
Autoriser l'accès
Au premier appel d'outil, Claude ouvre votre navigateur sur la page de consentement Syndic+. Choisissez le syndicat concerné et cliquez sur Autoriser.
Configurer Cursor#
Ouvrir les paramètres MCP
Cursor → Settings → Features → Model Context Protocol.
Ajouter un serveur
- Nom :
syndic-plus - URL :
https://app.syndicplus.ca/api/mcp - Transport : HTTP
Authentifier
Cursor lance le flux OAuth 2.1 dans un navigateur intégré. Donnez votre consentement.
Configurer Codex / OpenAI GPTs#
Les GPTs OpenAI ne prennent pas MCP en charge nativement. Utilisez l'API REST Syndic+ directement avec une clé API sk_* (voir Authentification).
Tester avec MCP Inspector#
pnpm mcp:inspector
Ou en CLI :
npx @modelcontextprotocol/inspector https://app.syndicplus.ca/api/mcp
L'inspecteur liste tous les outils disponibles, permet de les invoquer manuellement et affiche les réponses JSON-RPC.
Liste des outils par module#
| Module | Outils | Exemples |
|---|---|---|
| Copropriétaires | 4 | list_co_owners, create_co_owner, update_co_owner, delete_co_owner |
| Unités | 4 | list_units, create_unit, update_unit, delete_unit |
| Chauffe-eau (Loi 141) | 4 | list_water_heaters, mark_water_heater_replaced, … |
| Assurances | 4 | list_insurance_policies, create_insurance_policy, … |
| Entrepreneurs | 4 | list_contractors, create_contractor, … |
| Assemblées |
Format des outils#
Chaque outil suit le standard MCP avec :
- Nom (ex.
create_co_owner) - Description (ex. « Crée un nouveau copropriétaire dans le syndicat courant »)
- Schéma JSON des paramètres d'entrée
- Schéma JSON de la sortie
Exemple d'invocation :
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_co_owner",
"arguments": {
"firstName": "Marie",
"lastName": "Tremblay",
"email": "marie@example.com",
"unitId": "550e8400-e29b-41d4-a716-446655440000"
}
}
}
Flux de consentement OAuth 2.1#
- L'assistant IA démarre le flux d'autorisation en ouvrant
/api/oauth/authorize - L'utilisateur est redirigé vers Syndic+ et se connecte (s'il ne l'est pas déjà)
- L'utilisateur choisit le syndicat pour lequel il donne accès (important : les comptes multi-syndicats voient la liste)
- La page de consentement affiche les portées demandées (
read:co-owners,write:meetings, …) - Après approbation, un
access_tokenJWT est émis et utilisé pour tous les appels suivants
Sécurité#
- Tous les appels sont audités dans le journal d'audit (accessible dans Paramètres → Sécurité → Audit)
- Scopes respectés : un token avec uniquement
read:financesne peut pas appelercreate_notice - Rate limiting : voir Limites de taux
- Révocation : l'utilisateur peut révoquer une intégration à tout moment depuis Paramètres → Intégrations → Applications connectées