MCP Neo4j Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides integration between Neo4j graph database and Claude Desktop, enabling graph database operations through natural language interactions. It allows executing Cypher queries, creating nodes and relationships, and performing complex graph operations via natural language commands.

Servidor MCP Neo4j

Un servidor MCP que proporciona integración entre la base de datos de gráficos Neo4j y Claude Desktop, lo que permite operaciones de base de datos de gráficos a través de interacciones de lenguaje natural.

Inicio rápido

Puede ejecutar este servidor MCP directamente usando npx:

npx @alanse/mcp-neo4j

O agréguelo a su configuración de Claude Desktop:

{ "mcpServers": { "neo4j": { "command": "npx", "args": ["@alanse/mcp-neo4j-server"], "env": { "NEO4J_URI": "bolt://localhost:7687", "NEO4J_USERNAME": "neo4j", "NEO4J_PASSWORD": "your-password" } } } }

Características

Este servidor proporciona herramientas para interactuar con una base de datos Neo4j:

Herramientas

  • execute_query : Ejecuta consultas Cypher en la base de datos Neo4j
    • Admite todos los tipos de consultas Cypher (LECTURA, CREAR, ACTUALIZAR, ELIMINAR)
    • Devuelve los resultados de la consulta en un formato estructurado
    • Se pueden pasar parámetros para evitar ataques de inyección.
  • create_node : Crea un nuevo nodo en la base de datos del gráfico
    • Especificar etiquetas y propiedades de nodos
    • Devuelve el nodo creado con su ID interno
    • Admite todos los tipos de datos Neo4j para propiedades
  • create_relationship : Crea una relación entre dos nodos existentes
    • Definir el tipo y la dirección de la relación
    • Agregar propiedades a las relaciones
    • Requiere identificadores de nodo para los nodos de origen y destino

Instalación

Instalación mediante herrería

Para instalar MCP Neo4j Server para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @alanse/mcp-neo4j-server --client claude

Para el desarrollo

  1. Clonar el repositorio:
git clone https://github.com/da-okazaki/mcp-neo4j-server.git cd mcp-neo4j-server
  1. Instalar dependencias:
npm install
  1. Construir el proyecto:
npm run build

Configuración

El servidor requiere las siguientes variables de entorno:

  • NEO4J_URI : URI de la base de datos Neo4j (predeterminado: bolt://localhost:7687)
  • NEO4J_USERNAME : nombre de usuario de Neo4j (predeterminado: neo4j)
  • NEO4J_PASSWORD : Contraseña de Neo4j (obligatoria)

Ejemplos de uso

A continuación se muestran ejemplos de cómo puedes interactuar con la base de datos Neo4j utilizando lenguaje natural:

Consulta de datos

Puedes hacer preguntas como:

  • "Muéstrame todos los empleados del departamento de Ventas"
  • Encuentra a los 5 clientes más antiguos
  • ¿Quién ha comprado más de 3 productos en el último mes?

Ejemplo:

User: "Show me all employees in the Sales department" Claude: Let me query the database for Sales department employees. [Executes query internally: MATCH (e:Employee)-[:WORKS_IN]->(d:Department {name: 'Sales'}) RETURN e.name, e.position] Result: - John Smith (Sales Manager) - Sarah Johnson (Sales Representative) - Mike Brown (Account Executive)

Creando datos

Puedes dar instrucciones como:

  • "Agregar una nueva persona llamada John Doe que tenga 30 años"
  • Crear un producto llamado 'Café Premium' con un precio de $24.99.
  • "Añadir un nuevo departamento llamado 'Investigación y Desarrollo'"

Ejemplo:

User: "Add a new person named John Doe who is 30 years old" Claude: I'll create a new Person node with the provided information. [Creates node internally with label 'Person' and properties {name: 'John Doe', age: 30}] Result: Created new person node with ID: 123

Creando relaciones

Puedes solicitar relaciones como:

  • "Haz que John Doe se haga amigo de Jane Smith"
  • "Establecer el Producto A como componente del Producto B"
  • "Asignar a John Doe al departamento de Ventas"

Ejemplo:

User: "Make John Doe friends with Jane Smith" Claude: I'll create a friendship relationship between these two people. [Creates relationship internally: MATCH (a:Person {name: 'John Doe'}), (b:Person {name: 'Jane Smith'}) CREATE (a)-[:FRIENDS_WITH {since: '2024-01-05'}]->(b)] Result: Created friendship relationship between John Doe and Jane Smith

Operaciones complejas

Puedes realizar operaciones más complejas con lenguaje natural:

  • Encuentra todos los productos adquiridos por clientes que viven en Nueva York.
  • "Muéstrame los amigos de los amigos de John Doe"
  • Calcular la edad media de los empleados de cada departamento.

Ejemplo:

User: "Find all products purchased by customers who live in New York" Claude: I'll query the database for this information. [Executes query internally: MATCH (c:Customer {city: 'New York'})-[:PURCHASED]->(p:Product) RETURN c.name, collect(p.name) as products] Result: - Alice Wilson: [Premium Coffee, Tea Set, Cookies] - Bob Miller: [Premium Coffee, Water Bottle]

Pruebas

Ejecute el conjunto de pruebas:

npm test

Licencia

Instituto Tecnológico de Massachusetts (MIT)

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Este servidor permite la interacción entre las bases de datos Neo4j y Claude Desktop, permitiendo a los usuarios ejecutar consultas Cypher, crear nodos y establecer relaciones en la base de datos.

  1. Quick Start
    1. Features
      1. Tools
    2. Installation
      1. Installing via Smithery
      2. For Development
    3. Configuration
      1. Usage Examples
        1. Querying Data
        2. Creating Data
        3. Creating Relationships
        4. Complex Operations
      2. Testing
        1. License
          ID: qjpsxn4zlh