Model Context Protocol (MCP)
Model Context Protocol (MCP)
PgArachne prend en charge nativement le Model Context Protocol (MCP), un standard ouvert permettant aux modèles d’IA (tels que Claude ou Cursor) d’accéder en toute sécurité à vos données et fonctions sous forme d'« outils».
Comment cela fonctionne-t-il ?
PgArachne agit directement en tant que serveur MCP. Au lieu d’écrire un serveur HTTP personnalisé pour chaque projet, lancez simplement PgArachne sur votre base de données. PgArachne analyse automatiquement vos fonctions SQL autorisées et les expose aux clients IA via HTTP(S).
🛠️ Fonctions SQL en tant qu’outils
Toute fonction SQL accessible via l’endpoint JSON-RPC 2.0 de PgArachne devient automatiquement un « outil»
disponible pour l’IA. Le comportement par défaut (appel à pgarachne.allowed_schemas()) expose
les fonctions stockées dans le schéma api auxquelles l’utilisateur authentifié a accès
(via GRANT EXECUTE). Le LLM voit le nom de la fonction, ses paramètres et la description
issue des commentaires SQL.
Guide de connexion
1 a. Authentification — Jeton d’API (recommandé pour la production)
Pour une connexion IA permanente, utilisez un jeton d’API longue durée. Le jeton doit être
généré par un administrateur (membre du rôle pgarachne_admin) :
-- Basculer vers le rôle administrateur
SET ROLE pgarachne_admin;
-- Générer un nouveau jeton pour le rôle cible (ex : 'app_user')
SELECT pgarachne.add_api_token('Claude Desktop', 'app_user');Conservez la chaîne retournée. Utilisez-la sous la forme Authorization: Bearer VOTRE_JETON_API
dans la configuration du client IA.
1 b. Authentification — Identifiants directs (développement et configurations simples)
Vous pouvez également envoyer directement le nom d’utilisateur et le mot de passe PostgreSQL via
l’authentification HTTP Basic. Aucune gestion de jeton n’est requise et aucun
GRANT … TO pgarachne n’est nécessaire — PgArachne se connecte directement en tant que
l’utilisateur spécifié.
Authorization: Basic <base64(utilisateur:motdepasse)>Utilisez cette approche pour les tests locaux ou les outils internes dont les identifiants sont déjà gérés de manière sécurisée. Pour les intégrations IA en production avec des clients cloud, les jetons d’API sont préférables.
2. Claude Desktop
Ajoutez PgArachne à votre configuration Claude Desktop
(~/Library/Application Support/Claude/claude_desktop_config.json) :
{
"mcpServers": {
"pgarachne": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-http",
"--url",
"https://votre-api.com/db/ma_base/mcp"
],
"env": {
"Authorization": "Bearer VOTRE_JETON_API"
}
}
}
}Note : HTTP(S) est requis pour la connexion. L’exemple utilise le bridge npx
server-http d’Anthropic, qui fait office d’intermédiaire entre le MCP standard (stdio)
et PgArachne (HTTP).
3. Cursor
Dans les paramètres Cursor (Settings > MCP), ajoutez un nouveau serveur communiquant directement via HTTP (ou via le bridge mentionné ci-dessus si votre version de Cursor ne prend pas en charge les serveurs MCP HTTP natifs) :
- Type :
command(avec bridge npx) ouhttp - Nom :
PgArachne - URL :
https://votre-api.com/db/ma_base/mcp - En-tête Auth :
Authorization: Bearer VOTRE_JETON_API
🌐 Accessibilité publique (Ngrok)
Si vous testez PgArachne localement et souhaitez le connecter à un client IA hébergé dans le cloud (en dehors des installations locales), votre serveur doit être accessible publiquement via une URL HTTP(S).
# Lancer ngrok sur le port HTTP de PgArachne (ex : 8080)
ngrok http 8080Utilisez ensuite l’adresse HTTPS générée par Ngrok dans la configuration IA.
Sécurité
L’endpoint MCP respecte intégralement le système de permissions de PostgreSQL :
- Authentification : chaque requête nécessite un jeton d’API valide, un JWT, ou des identifiants HTTP Basic ; les requêtes non authentifiées sont rejetées immédiatement.
- Autorisation : l’IA ne peut voir et appeler que les fonctions des schémas autorisés
pour lesquelles le rôle authentifié possède
GRANT EXECUTE. - RLS : la sécurité au niveau des lignes (Row-Level Security) est entièrement active — l’IA ne voit que les lignes accessibles au rôle spécifique.
Consultez Sécurité & Authentification pour une comparaison complète de toutes les méthodes d’authentification prises en charge.