Integración de Graphistry MCP
Visualización y análisis de gráficos acelerados por GPU para modelos de lenguaje grandes usando Graphistry y MCP.
Descripción general
Este proyecto integra la potente plataforma de visualización de gráficos acelerada por GPU de Graphistry con el Protocolo de Control de Modelos (MCP), lo que permite capacidades avanzadas de análisis de gráficos para asistentes de IA y LLM. Permite a los LLM visualizar y analizar datos de red complejos a través de una interfaz estandarizada y compatible con LLM.
Características principales:
Visualización de gráficos acelerada por GPU mediante Graphistry
Descubrimiento avanzado de patrones y análisis de relaciones
Análisis de red (detección de comunidad, centralidad, búsqueda de rutas, detección de anomalías)
Compatibilidad con varios formatos de datos (Pandas, NetworkX, listas de borde)
API compatible con LLM: diccionario
graph_dataúnico para herramientas de gráficos
Related MCP server: Data Visualization MCP Server
🚨 Importante: Es necesario registrarse en Graphistry
Este servidor MCP requiere una cuenta Graphistry gratuita para utilizar las funciones de visualización.
Regístrese para obtener una cuenta gratuita en hub.graphistry.com
Establezca sus credenciales como variables de entorno o en un archivo
.envantes de iniciar el servidor:export GRAPHISTRY_USERNAME=your_username export GRAPHISTRY_PASSWORD=your_password # or create a .env file with: # GRAPHISTRY_USERNAME=your_username # GRAPHISTRY_PASSWORD=your_passwordConsulte
.env.examplepara obtener una plantilla.
Configuración de MCP (.mcp.json)
Para usar este proyecto con Cursor u otras herramientas compatibles con MCP, necesita un archivo .mcp.json en la raíz del proyecto. Se proporciona una plantilla como .mcp.json.example .
Configuración:
Edite .mcp.json a:
Establezca las rutas correctas para su entorno (por ejemplo, raíz del proyecto, ejecutable de Python, script del servidor)
Establezca sus credenciales de Graphistry (o utilice variables de entorno/.env)
Elija entre los modos HTTP y stdio:
graphistry-http: se conecta a través de HTTP (configura laurlpara que coincida con el puerto de tu servidor)graphistry: se conecta a través de stdio (establezca elcommand,argsyenvsegún sea necesario)
Nota:
.mcp.json.examplecontiene las configuraciones HTTP y stdio. Habilítelas o deshabilítelas según sea necesario configurando el campodisabled.Consulte
.env.examplepara configurar la variable de entorno.
Instalación
Instalación recomendada (Python venv + pip)
O utilice el script de configuración:
Uso
Iniciando el servidor
Seguridad y manejo de credenciales
El servidor carga las credenciales de las variables de entorno o
.envusando python-dotenv , por lo que puede usar de forma segura un archivo.envpara el desarrollo local.El script
start-graphistry-mcp.shobtiene el archivo.envy es la forma más sólida y segura de iniciar el servidor.
Agregar a Cursor (u otras herramientas LLM)
Agregue el servidor MCP a su
.cursor/mcp.jsono configuración equivalente:{ "graphistry": { "command": "/path/to/your/.venv/bin/python", "args": ["/path/to/your/run_graphistry_mcp.py"], "env": { "GRAPHISTRY_USERNAME": "your_username", "GRAPHISTRY_PASSWORD": "your_password" }, "type": "stdio" } }Asegúrese de que se utilice el entorno virtual (ya sea utilizando la ruta completa al Python de venv o activándolo antes de iniciarlo).
Si ve errores sobre la versión de API o credenciales faltantes, verifique nuevamente las variables de entorno y el registro.
Ejemplo: Visualización de un gráfico (API compatible con LLM)
La herramienta principal, visualize_graph , ahora acepta un único diccionario graph_data . Ejemplo:
Ejemplo (hipergrafo):
Herramientas MCP disponibles
Las siguientes herramientas MCP están disponibles para la visualización, el análisis y la manipulación de gráficos:
visualize_graph : visualice un gráfico o hipergráfico utilizando el renderizador acelerado por GPU de Graphistry.
get_graph_ids : enumera todos los ID de gráficos almacenados en la sesión actual.
get_graph_info : obtiene metadatos (cantidad de nodos/bordes, título, descripción) para un gráfico almacenado.
apply_layout : aplicar un diseño estándar (force_directed, radial, círculo, cuadrícula) a un gráfico.
detect_patterns : ejecuta análisis de red (centralidad, detección de comunidad, búsqueda de rutas, detección de anomalías).
encode_point_color : establece la codificación de color del nodo por columna (categórica o continua).
encode_point_size : establece la codificación del tamaño del nodo por columna (categórica o continua).
encode_point_icon : establece la codificación del ícono del nodo por columna (categórica, con mapeo o agrupamiento de íconos).
encode_point_badge : establece la codificación de la insignia del nodo por columna (categórica, con mapeo de íconos o agrupamiento).
apply_ring_categorical_layout : organiza los nodos en anillos según una columna categórica (por ejemplo, grupo/tipo).
apply_group_in_a_box_layout : organiza los nodos en un diseño de grupo en un cuadro (requiere igraph).
apply_modularity_weighted_layout : organiza los nodos según el diseño ponderado por modularidad (requiere igraph).
apply_ring_continuous_layout : organiza los nodos en anillos mediante una columna continua (por ejemplo, puntuación).
apply_time_ring_layout : organiza los nodos en anillos según una columna de fecha y hora (por ejemplo, created_at).
apply_tree_layout : organiza los nodos en un diseño de árbol (jerárquico en capas).
set_graph_settings : establece configuraciones de visualización avanzadas (tamaño del punto, influencia de los bordes, etc.).
Contribuyendo
¡Bienvenidos los PR y los problemas! Este proyecto evoluciona rápidamente a medida que aprendemos más sobre el análisis de gráficos basado en LLM y la integración de herramientas.
Licencia
Instituto Tecnológico de Massachusetts (MIT)