About Dgraph MCP Server
Dgraph MCP Server connects MCP-compatible LLM applications to a Dgraph graph database. It provides tools for DQL queries, mutations, and schema changes, plus a resource for retrieving the current schema.
Key features
- 01Run DQL queries with variables
- 02Apply RDF mutations
- 03Alter the database schema
- 04Retrieve the current schema
Use cases
- 01Query graph data from an MCP application
- 02Add or update Dgraph records
- 03Change or inspect a database schema
MCP support
The server exposes Dgraph query, mutation, and schema-alteration tools, along with the `dgraph://schema` resource, to MCP clients over standard input and output.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEDgraph 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
- Clone this repository
- 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 executevariables(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 executecommit(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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.