Graphiti MCP Server

Graphiti MCP Server

Graphiti MCP Server est un serveur backend de graphique de connaissances multi-projets, piloté par CLI pour les agents d'IA, construit à partir d'un fork de getzep/graphiti. Il permet un déploiement et une gestion rapides des graphes de connaissances temporels, l'isolation de projets et une intégration fluide avec les IDE/agents. Tout cela est alimenté par le Protocole de Contexte de Modèle (MCP) et soutenu par une seule instance de Neo4j. Chaque projet a son propre serveur MCP isolé et son espace de noms de graphique, permettant l'extraction flexible des entités, le rechargement à chaud et une robustesse en cas de crash, ce qui le rend idéal pour des flux de travail AI évolutifs.

Author: rawr-ai


Voir le Protocole

Qu'est-ce que Graphiti MCP Server ?

Graphiti MCP Server est une couche de gestion open-source pour construire, exécuter et isoler des backends de graphiques de connaissances à travers plusieurs projets, utilisant une base de données Neo4j unifiée. Il étend le serveur Graphiti MCP de base en permettant plusieurs serveurs MCP spécifiques à un projet, chacun avec sa propre configuration, espace de noms de groupe, règles d'extraction d'entités et modèle LLM, tout en partageant une infrastructure commune. Son CLI automatisé génère des fichiers de configuration Docker Compose et IDE, garantissant une configuration mult-projets facile et une intégration fluide avec les outils et éditeurs de développement AI populaires qui prennent en charge MCP.

Comment Configurer

  1. Cloner le dépôt :
    git clone https://github.com/rawr-ai/mcp-graphiti.git && cd mcp-graphiti
  2. Configurer l'environnement :
    Copiez .env.example en .env, puis fournissez un mot de passe sécurisé pour Neo4j et la clé OpenAI.
    Remarque : Le serveur refuse de démarrer avec le mot de passe par défaut, sauf en mode développement explicite (GRAPHITI_ENV=dev).
  3. Installer le CLI :
    Installez globalement via pipx install . --include-deps (utilisateurs), ou configurez un environnement virtuel local (contributeurs).
  4. Configurer les projets :
    Éditez ou créez mcp-projects.yaml à la racine du dépôt. Définissez les entrées du projet avec leurs répertoires racines et les paramètres spécifiques au projet.
  5. (Optionnel) Gérer l'intégration IDE :
    Le CLI génère automatiquement .cursor/mcp.json pour chaque projet et cartographie de port, assurant que votre éditeur peut automatiquement découvrir les points de terminaison MCP.

Comment Utiliser

  1. Générer Docker Compose et configuration MCP :
    À partir de la racine du dépôt, exécutez graphiti compose pour analyser mcp-projects.yaml et générer docker-compose.yml ainsi que des configurations d'éditeur.
  2. Lancer tous les services :
    Exécutez graphiti up -d pour démarrer Neo4j et un serveur MCP par projet (sur les ports 8000, 8001, ...).
  3. Initialiser de nouveaux projets :
    Dans la racine de votre dépôt de projet, exécutez graphiti init [votre-projet] pour générer les configurations et les YAML d'extraction d'entités.
  4. Recharger ou mettre à jour un projet en cours :
    Après avoir modifié les définitions d'entités ou les paramètres du modèle, exécutez graphiti reload mcp-[projet] pour appliquer les changements sans affecter les autres projets.
  5. Accéder aux points de terminaison :
    • Statut MCP : http://localhost:800X/status
    • Point de terminaison SSE pour agents : http://localhost:800X/sse
    • Navigateur Neo4j : http://localhost:7474
  6. Maintenir/l'isolation des projets :
    Chaque serveur est groupé via group_id, maintenant les données et les contextes de LLM séparés et résistants aux crashs.

Caractéristiques Clés

  • Support multi-projets : Lancez et isolez plusieurs serveurs MCP (un par projet) partageant une seule instance de Neo4j pour une efficacité de coût et de maintenance.
  • Graphes de connaissances temporels : Construit et versionne automatiquement des graphes d'entités/relation au fil du temps, permettant aux agents d'accéder à des données historiques et versionnées.
  • Flux de travail CLI automatisés : Scanne les configurations de projet, génère toutes les configurations compose/IDE et prend en charge le rechargement à chaud avec peu de friction.
  • Isolement des crashs et dépendances : Chaque projet obtient son propre conteneur et group_id—les prompts défectueux ou les erreurs de configuration sont contenus.
  • Extraction échangeable à chaud : Rechargez les YAML d'entités ou les modèles LLM par projet sans affecter les autres ou nécessiter des redémarrages complets.
  • Découverte automatique des éditeurs et agents : Les points de terminaison MCP sont ajoutés automatiquement à .cursor/mcp.json afin que des outils comme VS Code, Cursor, LangGraph, Autogen ou Claude Desktop puissent immédiatement accéder aux outils du projet.
  • Sécurité de niveau production : Contrôles stricts des mots de passe pour Neo4j ; les actions destructrices nécessitent une confirmation explicite basée sur l'environnement.

Cas d'Utilisation

  • Systèmes multi-agents pour entreprises : Supportez en toute sécurité plusieurs équipes ou agents IA collaborant sur des graphes de connaissances isolés mais co-hébergés (par exemple, connaissance produit, bots de support, audits de conformité).
  • Outils de recherche alimentés par LLM : Permettez aux chercheurs d’ingérer en continu de la littérature ou des ressources dans des graphes de connaissances versionnés et interrogeables—par sujet ou par subvention.
  • Assistants IDE pluggables : Fournissez une intelligence projet contextuelle toujours synchronisée aux assistants de codage IA, sans risquer de fuites de données ou de collisions de projet.
  • Suivi des expériences : Maintenez des graphes séparés et horodatés pour chaque expérience ML/RAG, avec annulation et audit de chaque modification.
  • Parallélisation dev/test : Testez en toute sécurité de nouveaux modèles d’extraction d’entités et une logique mise à jour en parallèle, sans temps d’arrêt ni risque pour les graphes de connaissances en production.

FAQ

Q : Puis-je exécuter un seul serveur MCP (projet unique) ?
R : Oui. Supprimez tous les autres projets de mcp-projects.yaml ou définissez MCP_SINGLE_SERVER=true dans votre environnement, puis relancez graphiti compose. Toutes les requêtes passeront par un seul conteneur et port.

Q : Comment l'isolation des projets est-elle garantie—ports ou autre chose ?
R : Les deux. Chaque serveur MCP s'exécute sur un port unique, mais l’isolation au niveau des données est garantie par un paramètre group_id requis dans chaque lecture/écriture, donc les requêtes et graphes ne franchissent jamais les frontières.

Q : Puis-je ajouter un proxy inversé ou une passerelle API ?
R : Absolument. Vous pouvez router tout le trafic des agents à travers un point de terminaison unique, injectant group_id comme une revendication ou en-tête, et faire en sorte que le serveur racine se répartisse si nécessaire.

Q : Que se passe-t-il si j'ai besoin de changer une règle d'extraction d'entités ou de remplacer des modèles LLM ?
R : Il suffit de mettre à jour le YAML ou la configuration pertinents dans votre dossier de projet, puis exécutez graphiti reload mcp-[projet] ; aucun redémarrage ou temps d'arrêt pour d'autres projets n'est nécessaire.

Q : Comment puis-je supprimer complètement le graphique Neo4j ?
R : Définissez NEO4J_DESTROY_ENTIRE_GRAPH=true dans votre .env, puis exécutez graphiti upcela supprimera irréversiblement TOUTES les données de projet. Utilisez uniquement si vous en êtes certain.