MCP ExplorerExplorer

Dgraph Mcp Server

@johnymontanaon 10 months ago
2 MIT
FreeCommunity
AI Systems
A Model Context Protocol (MCP) server implementation for Dgraph graph database, built using the [mcp-go](https://github.com/mark3labs/mcp-go) library.

Overview

What is Dgraph Mcp Server

dgraph-mcp-server is an implementation of a Model Context Protocol (MCP) server designed for the Dgraph graph database, utilizing the mcp-go library. It facilitates interaction between LLM applications and the Dgraph database.

Use cases

Use cases for dgraph-mcp-server include querying complex data relationships, updating graph structures in real-time, and managing schema changes dynamically in applications that leverage Dgraph.

How to use

To use dgraph-mcp-server, first clone the repository and install dependencies using ‘go mod download’. Configure the server with environment variables, then run the server using ‘go run main.go’. The server communicates with LLM applications through standard input/output.

Key features

Key features include executing DQL queries, performing mutations, altering the schema, and retrieving the current schema of the Dgraph database.

Where to use

dgraph-mcp-server can be used in various fields such as data analytics, machine learning, and any application requiring efficient graph database interactions.

Content

Dgraph MCP Server

A Model Context Protocol (MCP) server implementation for Dgraph graph database, built using the mcp-go library.

Overview

This project implements an MCP server that allows LLM applications to interact with a Dgraph database. It provides tools for:

  • Executing DQL queries
  • Performing mutations
  • Altering the schema
  • Retrieving the current schema

Prerequisites

  • Go 1.18 or higher
  • Dgraph database (running locally or remotely)

Installation

  1. Clone this repository
  2. Install dependencies:
go mod download

Configuration

The server can be configured using environment variables:

  • DGRAPH_HOST: Dgraph host address (default: localhost:9080)

Usage

Running the Server

go run main.go

The server uses standard input/output for communication with LLM applications.

Available Tools

1. dgraph_query

Execute a DQL query against Dgraph.

Parameters:

  • query (string, required): The DQL query to execute
  • variables (object, optional): Variables for the query

Example:

{
  "tool": "dgraph_query",
  "params": {
    "query": "{ me(func: has(name)) { name } }"
  }
}

2. dgraph_mutate

Execute a mutation against Dgraph.

Parameters:

  • mutation (string, required): The RDF mutation to execute
  • commit (boolean, optional): Whether to commit the transaction (default: true)

Example:

{
  "tool": "dgraph_mutate",
  "params": {
    "mutation": "_:person <name> \"John Doe\" .",
    "commit": true
  }
}

3. dgraph_alter_schema

Alter the Dgraph schema.

Parameters:

  • schema (string, required): The schema definition to apply

Example:

{
  "tool": "dgraph_alter_schema",
  "params": {
    "schema": "name: string @index(exact) ."
  }
}

Available Resources

1. dgraph://schema

Returns the current Dgraph schema.

Integration with LLM Applications

This server can be integrated with any LLM application that supports the Model Context Protocol (MCP). The server communicates via standard input/output, making it easy to integrate with various LLM frameworks.

Example Queries

Basic Query

{
  people(func: has(name)) {
    name
    age
    friends {
      name
    }
  }
}

Adding Data

_:alice <name> "Alice" .
_:alice <age> "30" .
_:bob <name> "Bob" .
_:bob <age> "32" .
_:alice <friend> _:bob .

Schema Definition

name: string @index(exact) .
age: int .
friend: [uid] .

License

MIT

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers