Graphiti MCP Server

Apache 2.0
7,693
  • Linux
  • Apple

Integrations

  • Enables configuration through .env files for setting API keys, database credentials, and other environment variables

  • Supports deployment through Docker and Docker Compose with preconfigured containers for both the MCP server and Neo4j database

  • Provides installation instructions via GitHub repo cloning for accessing the Graphiti framework

Servidor Graphiti MCP

Graphiti es un marco para crear y consultar grafos de conocimiento con conciencia temporal, diseñado específicamente para agentes de IA que operan en entornos dinámicos. A diferencia de los métodos tradicionales de recuperación-generación aumentada (RAG), Graphiti integra continuamente las interacciones del usuario, datos empresariales estructurados y no estructurados, e información externa en un grafo coherente y consultable. El marco admite actualizaciones incrementales de datos, recuperación eficiente y consultas históricas precisas sin necesidad de recálculo completo del grafo, lo que lo hace ideal para el desarrollo de aplicaciones de IA interactivas y contextuales.

Esta es una implementación experimental del servidor del Protocolo de Contexto de Modelo (MCP) para Graphiti. El servidor MCP expone la funcionalidad clave de Graphiti a través del protocolo MCP, lo que permite a los asistentes de IA interactuar con las capacidades del grafo de conocimiento de Graphiti.

Características

El servidor Graphiti MCP expone las siguientes funciones clave de alto nivel de Graphiti:

  • Gestión de episodios : agregue, recupere y elimine episodios (texto, mensajes o datos JSON)
  • Gestión de entidades : busque y administre nodos de entidades y relaciones en el gráfico de conocimiento
  • Capacidades de búsqueda : Busque hechos (bordes) y resúmenes de nodos mediante búsqueda semántica e híbrida
  • Gestión de grupos : organice y administre grupos de datos relacionados con el filtrado group_id
  • Mantenimiento de gráficos : Limpiar el gráfico y reconstruir los índices

Inicio rápido para Claude Desktop, Cursor y otros clientes

  1. Clonar el repositorio de Graphiti en GitHub
git clone https://github.com/getzep/graphiti.git

o

gh repo clone getzep/graphiti

Anote la ruta completa a este directorio.

cd graphiti && pwd
  1. Instalar los requisitos previos de Graphiti .
  2. Configure Claude, Cursor u otro cliente MCP para usar Graphiti con un transporte stdio . Consulte la documentación del cliente para saber dónde encontrar sus archivos de configuración de MCP.

Instalación

Prerrequisitos

  1. Asegúrese de tener instalado Python 3.10 o superior.
  2. Una base de datos Neo4j en ejecución (se requiere la versión 5.26 o posterior)
  3. Clave API de OpenAI para operaciones LLM

Configuración

  1. Clona el repositorio y navega al directorio mcp_server
  2. Utilice uv para crear un entorno virtual e instalar dependencias:
# Install uv if you don't have it already curl -LsSf https://astral.sh/uv/install.sh | sh # Create a virtual environment and install dependencies in one step uv sync

Configuración

El servidor utiliza las siguientes variables de entorno:

  • NEO4J_URI : URI para la base de datos Neo4j (predeterminado: bolt://localhost:7687 )
  • NEO4J_USER : nombre de usuario de Neo4j (predeterminado: neo4j )
  • NEO4J_PASSWORD : Contraseña de Neo4j (predeterminada: demodemo )
  • OPENAI_API_KEY : Clave API de OpenAI (necesaria para operaciones LLM)
  • OPENAI_BASE_URL : URL base opcional para la API OpenAI
  • MODEL_NAME : Nombre de modelo opcional para usar en la inferencia LLM
  • AZURE_OPENAI_ENDPOINT : URL del punto de conexión de Azure OpenAI opcional
  • AZURE_OPENAI_DEPLOYMENT_NAME : Nombre de implementación de Azure OpenAI opcional
  • AZURE_OPENAI_API_VERSION : Versión opcional de la API de Azure OpenAI
  • AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME : Nombre de implementación de incrustación de Azure OpenAI opcional
  • AZURE_OPENAI_EMBEDDING_API_VERSION : Versión opcional de la API de Azure OpenAI
  • AZURE_OPENAI_USE_MANAGED_IDENTITY : Uso opcional de identidades administradas de Azure para la autenticación

Puede configurar estas variables en un archivo .env en el directorio del proyecto.

Ejecución del servidor

Para ejecutar el servidor Graphiti MCP directamente usando uv :

uv run graphiti_mcp_server.py

Con opciones:

uv run graphiti_mcp_server.py --model gpt-4.1-mini --transport sse

Argumentos disponibles:

  • --model : especifica el nombre del modelo que se utilizará con el cliente LLM
  • --transport : elige el método de transporte (sse o stdio, predeterminado: sse)
  • --group-id : Establece un espacio de nombres para el gráfico (opcional)
  • --destroy-graph : Destruye todos los gráficos de Graphiti (úsalo con precaución)
  • --use-custom-entities : Habilitar la extracción de entidades utilizando los ENTITY_TYPES predefinidos

Implementación de Docker

El servidor Graphiti MCP se puede implementar con Docker. El Dockerfile utiliza uv para la gestión de paquetes, lo que garantiza una instalación consistente de las dependencias.

Configuración del entorno

Antes de ejecutar la configuración de Docker Compose, debe configurar las variables de entorno. Tiene dos opciones:

  1. Usando un archivo .env (recomendado):
    • Copie el archivo .env.example proporcionado para crear un archivo .env :
      cp .env.example .env
    • Edite el archivo .env para configurar su clave API de OpenAI y otras opciones de configuración:
      # Required for LLM operations OPENAI_API_KEY=your_openai_api_key_here MODEL_NAME=gpt-4.1-mini # Optional: OPENAI_BASE_URL only needed for non-standard OpenAI endpoints # OPENAI_BASE_URL=https://api.openai.com/v1
    • La configuración de Docker Compose está configurada para usar este archivo si existe (es opcional)
  2. Usando variables de entorno directamente :
    • También puedes configurar las variables de entorno al ejecutar el comando Docker Compose:
      OPENAI_API_KEY=your_key MODEL_NAME=gpt-4.1-mini docker compose up
Configuración de Neo4j

La configuración de Docker Compose incluye un contenedor Neo4j con la siguiente configuración predeterminada:

  • Nombre de usuario: neo4j
  • Contraseña: demodemo
  • URI: bolt://neo4j:7687 (desde dentro de la red Docker)
  • Configuraciones de memoria optimizadas para uso en desarrollo
Ejecutar con Docker Compose

Inicie los servicios usando Docker Compose:

docker compose up

O si estás usando una versión anterior de Docker Compose:

docker-compose up

Esto iniciará tanto la base de datos Neo4j como el servidor Graphiti MCP. Configuración de Docker:

  • Utiliza uv para la gestión de paquetes y la ejecución del servidor.
  • Instala dependencias del archivo pyproject.toml
  • Se conecta al contenedor Neo4j mediante las variables de entorno
  • Expone el servidor en el puerto 8000 para el transporte SSE basado en HTTP
  • Incluye una comprobación del estado de Neo4j para garantizar que esté completamente operativo antes de iniciar el servidor MCP

Integración con clientes MCP

Configuración

Para utilizar el servidor Graphiti MCP con un cliente compatible con MCP, configúrelo para que se conecte al servidor:

[!IMPORTANTE] Necesitará tener instalado el gestor de paquetes de Python, uv . Consulte las instrucciones de instalación uv .

Asegúrese de configurar la ruta completa al binario uv y a la carpeta de su proyecto Graphiti.

{ "mcpServers": { "graphiti": { "transport": "stdio", "command": "/Users/<user>/.local/bin/uv", "args": [ "run", "--isolated", "--directory", "/Users/<user>>/dev/zep/graphiti/mcp_server", "--project", ".", "graphiti_mcp_server.py", "--transport", "stdio" ], "env": { "NEO4J_URI": "bolt://localhost:7687", "NEO4J_USER": "neo4j", "NEO4J_PASSWORD": "password", "OPENAI_API_KEY": "sk-XXXXXXXX", "MODEL_NAME": "gpt-4.1-mini" } } } }

Para el transporte SSE (basado en HTTP), puede utilizar esta configuración:

{ "mcpServers": { "graphiti": { "transport": "sse", "url": "http://localhost:8000/sse" } } }

Herramientas disponibles

El servidor Graphiti MCP expone las siguientes herramientas:

  • add_episode : agrega un episodio al gráfico de conocimiento (admite formatos de texto, JSON y mensajes)
  • search_nodes : Busca en el gráfico de conocimiento resúmenes de nodos relevantes
  • search_facts : Busca en el gráfico de conocimiento hechos relevantes (bordes entre entidades)
  • delete_entity_edge : elimina un borde de entidad del gráfico de conocimiento
  • delete_episode : Eliminar un episodio del gráfico de conocimiento
  • get_entity_edge : Obtener el borde de una entidad por su UUID
  • get_episodes : Obtener los episodios más recientes de un grupo específico
  • clear_graph : Borra todos los datos del gráfico de conocimiento y reconstruye los índices
  • get_status : obtiene el estado del servidor Graphiti MCP y la conexión Neo4j

Trabajar con datos JSON

El servidor Graphiti MCP puede procesar datos JSON estructurados mediante la herramienta add_episode con source="json" . Esto permite extraer automáticamente entidades y relaciones de datos estructurados:

add_episode( name="Customer Profile", episode_body="{\"company\": {\"name\": \"Acme Technologies\"}, \"products\": [{\"id\": \"P001\", \"name\": \"CloudSync\"}, {\"id\": \"P002\", \"name\": \"DataMiner\"}]}", source="json", source_description="CRM data" )

Integración con el IDE de Cursor

Para integrar el servidor Graphiti MCP con Cursor IDE, siga estos pasos:

  1. Ejecute el servidor Graphiti MCP utilizando el transporte SSE:
python graphiti_mcp_server.py --transport sse --use-custom-entities --group-id <your_group_id>

Consejo: especifique un group_id para conservar los datos del gráfico anterior. Si no especifica un group_id , el servidor creará un nuevo gráfico.

  1. Configure Cursor para conectarse al servidor Graphiti MCP.
{ "mcpServers": { "Graphiti": { "url": "http://localhost:8000/sse" } } }
  1. Añade las reglas de Graphiti a las reglas de usuario de Cursor. Consulta cursor_rules.md para más detalles.
  2. Inicie una sesión de agente en Cursor.

La integración permite que los asistentes de IA en Cursor mantengan una memoria persistente a través de las capacidades de gráficos de conocimiento de Graphiti.

Requisitos

  • Python 3.10 o superior
  • Base de datos Neo4j (se requiere versión 5.26 o posterior)
  • Clave API de OpenAI (para operaciones e incrustaciones LLM)
  • Cliente compatible con MCP

Licencia

Este proyecto está licenciado bajo la misma licencia que el proyecto Graphiti.

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Servidor Graphiti MCP

  1. Features
    1. Quick Start for Claude Desktop, Cursor, and other clients
      1. Installation
        1. Prerequisites
        2. Setup
      2. Configuration
        1. Running the Server
          1. Docker Deployment
        2. Integrating with MCP Clients
          1. Configuration
        3. Available Tools
          1. Working with JSON Data
            1. Integrating with the Cursor IDE
              1. Requirements
                1. License

                  Related MCP Servers

                  View all related MCP servers

                  ID: 9glqgboefx