🚀 Serveur MCP Uberall
Un serveur Model Context Protocol (MCP) qui s'intègre à l'API Uberall, permettant aux assistants IA de gérer de manière transparente les listes d'entreprises, les emplacements et la présence sur les médias sociaux sur plusieurs plateformes.
🎯 Qu'est-ce que le MCP ?
Le Model Context Protocol permet aux assistants IA comme Claude, Cursor ou VS Code Copilot de se connecter à des outils et des sources de données externes. Ce serveur agit comme un pont entre les assistants IA et la puissante plateforme Uberall.
Cela permet une intégration transparente avec des LLM comme Claude, Cursor, ou des API de modèles linguistiques pour des flux de travail de gestion d'entreprise complets.
🚀 Démarrage rapide
📦 Option 1 : Télécharger le JAR pré-construit
# Téléchargez la dernière version curl -L -o uberall-mcp-server.jar https://github.com/uberall/uberall-mcp-server/releases/latest/download/uberall-mcp-server.jar # Définissez vos identifiants export UBERALL_URL="https://sandbox.uberall.com" export UBERALL_ACCESS_TOKEN="your_access_token_here" # Exécutez le serveur java -jar uberall-mcp-server.jar
🐳 Option 2 : Utiliser Docker
export UBERALL_URL="https://sandbox.uberall.com" export UBERALL_ACCESS_TOKEN="your_access_token_here" docker run --rm -i -e UBERALL_ACCESS_TOKEN -e UBERALL_URL uberall/uberall-mcp-server:latest
🛠️ Option 3 : Construire à partir des sources
git clone https://github.com/uberall/uberall-mcp-server.git cd uberall-mcp-server ./gradlew shadowJar export UBERALL_URL="https://sandbox.uberall.com" export UBERALL_ACCESS_TOKEN="your_access_token_here" java -jar build/libs/uberall-mcp-server.jar
�️ Configuration détaillée
Conditions préalables
- Java 17 ou supérieur (vérifier avec
java -version
) - Docker (alternative à l'installation de Java)
- Gradle (uniquement si vous construisez à partir des sources)
⚠️ Important: Ce serveur nécessite Java 17+. Si vous obtenez
UnsupportedClassVersionError
, c'est que vous utilisez une ancienne version de Java. Utilisezjava -version
pour vérifier votre version.
Variables d'environnement requises
Avant de lancer le serveur, vous devez définir ces variables d'environnement :
UBERALL_URL
(obligatoire): L'URL de base de votre API Uberall- Production
: https://uberall.com
- Bac à sable
: https://sandbox.uberall.com
- Production
UBERALL_ACCESS_TOKEN
(obligatoire): Votre jeton d'accès à l'API Uberall
Obtenez votre jeton d'accès à l'API Uberall :
Pour obtenir votre jeton d'accès à l'API, suivez la documentation officielle d'Uberall : 📖 Guide d'authentification de l'API
📦 Options d'installation
Téléchargez la dernière version du JAR à partir de GitHub Releases:
curl -L -o uberall-mcp-server.jar https://github.com/uberall/uberall-mcp-server/releases/latest/download/uberall-mcp-server.jar
Téléchargement manuel :
- Visiter GitHub Releases
- Télécharger uberall-mcp-server
.jar
à partir de la dernière version
Puis exécutez :
# Définir les variables d'environnement export UBERALL_URL="https://sandbox.uberall.com" export UBERALL_ACCESS_TOKEN="your_access_token_here" java -jar uberall-mcp-server.jar
🧠 Configurer avec AI Tools
Bureau Claude
Ajoutez à votre claude_desktop_config.json
:
{ "mcpServers" : { "uberall-mcp-server" : { "command" : ["java", "-jar", "/path/to/uberall-mcp-server.jar"], "env" : { "UBERALL_ACCESS_TOKEN" : "your_access_token_here", "UBERALL_URL" : "https://sandbox.uberall.com" } } }
Autres clients MCP (Cursor, VS Code, etc.)
Pour les autres outils compatibles avec MCP, vous pouvez utiliser cette approche de configuration générale :
- Créez un fichier
mcp.json
dans votre projet :
touch mcp.json
- Ajoutez la configuration suivante au fichier :
{ "mcpServers" : { "uberall-mcp-server" : { "command" : "java", "args" : ["-jar", "/path/to/uberall-mcp-server.jar"], "type" : "stdio", "env" : {"UBERALL_ACCESS_TOKEN" : "your_access_token_here", "UBERALL_URL" : "https://sandbox.uberall.com" } } }
- Sauvegardez le fichier et redémarrez votre IDE/outil. Vous devriez maintenant être en mesure d'accéder à tous les outils !
Autres clients MCP : La liste des clients MCP les plus populaires est disponible ici.
💡Astuce: Remplacez
/path/to/uberall-mcp-server.jar
par le chemin réel où vous avez téléchargé le fichier JAR.
🐳 Prise en charge de Docker
Utilisation de l'image Docker préconstruite (recommandé)
export UBERALL_ACCESS_TOKEN="your_access_token_here" export UBERALL_URL="https://sandbox.uberall.com" docker run --rm -i -e UBERALL_ACCESS_TOKEN -e UBERALL_URL uberall/uberall-mcp-server:latest
🧠 Utilisation avec Claude Desktop
Configurez dans votre claude_desktop_config.json
:
{ "mcpServers" : { "uberall-mcp-server" : { "command" : ["docker", "run", "--rm", "-i", "-e", "UBERALL_ACCESS_TOKEN", "-e", "UBERALL_URL", "uberall/uberall-mcp-server:latest" ], "env" : { "UBERALL_ACCESS_TOKEN" : "your_access_token_here", "UBERALL_URL" : "https://sandbox.uberall.com" } } }
🧠 Utilisation avec d'autres clients MCP (Cursor, VS Code, etc.)
Pour les autres outils compatibles MCP utilisant Docker, utilisez cette configuration :
- Créez un fichier
mcp.json
dans votre projet :
touch mcp.json
- Ajoutez la configuration suivante au fichier :
{ "mcpServers" : { "uberall-mcp-server" : { "command" : "docker", "args" : ["run", "--rm", "-i", "-e", "UBERALL_ACCESS_TOKEN", "-e", "UBERALL_URL", "uberall/uberall-mcp-server:latest"], "type" : "stdio", "env" : {"UBERALL_ACCESS_TOKEN" : "your_access_token_here", "UBERALL_URL" : "https://sandbox.uberall.com" } } }
- Sauvegardez le fichier et redémarrez votre IDE/outil. Vous devriez maintenant pouvoir accéder à tous les outils !
✨ Caractéristiques
- 🔌 C ompatible avec le protocole MCP - Fonctionne avec n'importe quel assistant IA compatible MCP
- 🏢 Gestion des entreprises - Trouvez et gérez vos listes d'entreprises
- 📍 Gestion des emplacements - Accédez aux données d'emplacement et gérez-les
- 📱 Intégration des médias sociaux - Créez des posts sur plusieurs plateformes (Google, Facebook, etc.)
- 🔍 Recherche avancée - Filtrer les entreprises, les lieux et les messages sociaux
- 🐳 Docker Ready - Images Docker multiplateformes préconstruites
- ⚡ Rapide et léger - Construit avec des coroutines Kotlin pour des performances optimales
🛠️ Outils disponibles
Le serveur MCP fournit les outils suivants pour interagir avec l'API Uberall :
find_businesses
Recherche les entreprises auxquelles l'utilisateur a accès. Les identifiants des entreprises peuvent être utilisés pour créer des messages sociaux et trouver des lieux.
Paramètres :
query
(obligatoire): Requête de recherche pour filtrer par nom, adresse, code postal, ville, pays ou identifiant
Résultats : Liste d'entreprises avec leur identifiant et leur nom
find_locations
Permet de trouver des lieux appartenant à des entreprises. Les identifiants des lieux sont nécessaires pour créer des messages sociaux.
Paramètres :
requête
(facultatif): Filtre les lieux en fonction de différents champsbusinessIds
(optionnel): Tableau d'identifiants d'entreprises pour filtrer les lieux
Résultats : Liste des lieux avec les identifiants, les noms, les informations sur l'entreprise et la villeRemarque : les identifiants des lieux renvoyés doivent être utilisés dans create_social_post
, sauf indication contraire
create_social_post
Crée un message sur les médias sociaux pour les lieux et les plates-formes spécifiés.
Paramètres :
title
(facultatif): Titre du message (par défaut "Social Post")description
(obligatoire): Contenu/description du messagedirectories
(obligatoire): Tableau des plateformes sociales en MAJUSCULES (par exemple, ["GOOGLE", "FACEBOOK"])publicationDate
(obligatoire): Chaîne de date ISO 8601 (AAAA-MM-jj'T'HH:mm:ssXXXXX)locations
(obligatoire): Tableau d'identifiants de lieux provenant defind_locations
Retourne : Objet social post créé avec des liens et un statut spécifiques à la plateforme
search_social_posts
Recherche et filtre les messages sociaux existants accessibles par l'utilisateur.
Paramètres (tous facultatifs) :
max
: Nombre maximal de messages à retourner (par défaut : 50)offset
: Décalage de la pagination (par défaut : 0)locationIds
: Tableau d'identifiants de lieux à filtrerbusinessIds
: Tableau des identifiants des entreprises à filtrerstatuses
: Tableau des statuts des messages : ["SCHEDULED", "ACTIVE", "APPROVAL_NEEDED", "ENDED"]répertoires
: Tableau des plateformes sociales en MAJUSCULESminPublicationDate
: Filtre de date minimum (AAAA-MM-jj)maxPublicationDate
: Filtre de date maximale (AAAA-MM-jj)
Retourne : Tableau des publications sociales correspondant aux critères de filtrage
exemples
Utilisation de base avec Claude Desktop
Une fois configuré, vous pouvez utiliser le langage naturel pour interagir avec vos données Uberall :
"Trouver tous les emplacements de mes cafés à Berlin" → Utilise find_businesses + find_locations "Créer un post de promotion de vacances pour tous mes restaurants, prévu pour le 25 décembre" → Utilise find_businesses + find_locations + create_social_post "Me montrer tous mes posts sociaux du mois dernier qui sont encore actifs" → Utilise search_social_posts avec des filtres de date
Flux de travail typique
- Trouvez vos entreprises:
"Montrez-moi mes listes d'entreprises"
- Obtenir des emplacements:
"Quels sont les emplacements de [nom de l'entreprise] ?
- Créer des messages sociaux:
"Créez un message promotionnel pour le vendredi noir dans tous mes points de vente
- Surveiller les messages:
"Montrez-moi tous les posts sociaux programmés pour cette semaine"
🔧 Gestion des erreurs
Le serveur met en œuvre une gestion complète des erreurs avec des messages d'erreur clairs et exploitables :
Erreurs de configuration
- Variables d'environnement manquantes: Messages clairs indiquant quelles variables sont nécessaires
- URL invalides: Validation des points d'extrémité de l'API Uberall
Problèmes liés à la version de Java
UnsupportedClassVersionError
: Vous utilisez une ancienne version de Java# Vérifiez votre version de Java java -version # Devrait afficher la version 17.x.x ou supérieure # Si vous voyez la version 8, 11, etc., installez Java 17+ # macOS : brew install openjdk@17 # Ubuntu : apt install openjdk-17-jre # Windows : Télécharger à partir de https://adoptium.net/
Erreurs de validation
- Paramètres requis: Messages spécifiques pour les paramètres d'outils manquants
- Erreurs de format de date: Conseils clairs sur les formats de date attendus (ISO 8601)
- Tableaux vides: Validation que les tableaux requis contiennent au moins un élément
Erreurs de l'API
- Authentification: Messages clairs pour les jetons d'accès non valides
- Problèmes de réseau: Gestion des délais et des erreurs de connectivité
- Limitation du débit: Gestion correcte des limites de débit de l'API avec une logique de réessai
Exemple de réponse d'erreur
{"isError" : true, "content" : [ {"type" : "text", "text" : "Error : La date de publication est obligatoire" } ] }
🔍 Dépannage
Problèmes courants
"Erreur de configuration : La variable d'environnement UBERALL_URL est requise"
Solution : Définissez les variables d'environnement requises avant de lancer le programme :
export UBERALL_URL="https://sandbox.uberall.com" export UBERALL_ACCESS_TOKEN="your_token_here"
"Erreur : La variable d'environnement UBERALL_ACCESS_TOKEN est nécessaire"
Solution : Assurez-vous que votre jeton d'accès est valide et correctement défini :
export UBERALL_ACCESS_TOKEN="votre_jeton_valide"
La construction échoue avec une erreur du wrapper Gradle
Solution : Utilisez plutôt le système Gradle :
gradle build gradle shadowJar
Le conteneur Docker ne démarre pas
Solution : Assurez-vous que les variables d'environnement sont passées correctement :
docker run --rm -i -e UBERALL_ACCESS_TOKEN="$UBERALL_ACCESS_TOKEN" -e UBERALL_URL="$UBERALL_URL" uberall-mcp-server
"Erreur "Format de date de publication invalide
Solution : Utilisez le format ISO 8601 avec le fuseau horaire :
2024-12-06T14:30:00+01:00
Réponse vide des appels API
Causes possibles :
- Jeton d'accès non valide
- Pas de permissions pour les ressources demandées
- Problèmes de connectivité réseau
- Point d'accès à l'API temporairement indisponible
Solution : Vérifiez les autorisations de votre jeton d'accès et la connectivité du réseau.
Mode débogage
Pour obtenir des informations de débogage supplémentaires, consultez les journaux d'application pour obtenir des messages d'erreur détaillés et des traces de pile.
Obtenir de l'aide
Si vous rencontrez des problèmes qui ne sont pas abordés ici :
- Vérifiez la configuration de vos variables d'environnement
- Vérifiez que votre jeton d'accès dispose des autorisations requises
- Assurez-vous que vous utilisez un point de terminaison de l'API Uberall pris en charge
- Vérifiez les journaux d'application pour obtenir des informations détaillées sur les erreurs
🤝 Contribuer
Les contributions sont les bienvenues ! Veuillez consulter notre guide de contribution pour plus de détails.
Configuration rapide du développement
git clone https://github.com/uberall/uberall-mcp-server.git cd uberall-mcp-server cp src/test/resources/test-config-example.properties src/test/resources/test-config.properties # Editez test-config.properties avec vos identifiants de test ./gradlew test
licence
Licence MIT © 2025 Uberall GmbH
🔗 Liens
- Model Context Protocol - En savoir plus sur MCP
- Claude Desktop - Assistant AI avec support MCP
- Uberall API Documentation - Documentation officielle de l'API
- GitHub Issues - Signaler des bugs ou demander des fonctionnalités