Dgraph MCP服务器

一个为Dgraph图数据库实现的MCP服务器,允许LLM应用程序与Dgraph数据库交互,提供查询、变更、模式修改等功能。

  • by johnymontana
  • Go
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 johnymontana/dgraph-mcp-server

使用说明

Dgraph MCP服务器

Dgraph图数据库的模型上下文协议(MCP)服务器实现,使用 mcp走 图书馆。

概述

该项目实现了一个MCP服务器,允许LLM应用程序与Dgraph数据库交互。它提供了以下工具:

  • 执行DQL查询
  • 执行突变
  • 更改架构
  • 正在检索当前架构

先决条件

  • 上涨1.18或更高
  • Dgraph数据库(本地或远程运行)

安装

  1. 克隆此存储库
  2. 安装依赖项:
go mod download

配置

可以使用环境变量配置服务器:

  • DGRAPH_HOST:Dgraph主机地址(默认值: localhost:9080)

用法

运行服务器

go run main.go

服务器使用标准输入/输出与LLM应用程序通信。

可用工具

1.dgraph_query

对Dgraph执行DQL查询。

参数:

  • query (string,必填):要执行的DQL查询
  • variables (object,可选):查询的变量

例子:

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

2.dgraph_mutate

对Dgraph执行变异。

参数:

  • mutation (string,必填):要执行的RDF变异
  • commit (boolean,可选):是否提交事务(默认值:true)

例子:

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

dgraph_alter_schema

更改Dgraph架构。

参数:

  • schema (string,必填):要应用的架构定义

例子:

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

可用资源

1.dgraph://schema

返回当前的Dgraph架构。

与LLM应用程序集成

此服务器可以与支持模型上下文协议(MCP)的任何LLM应用程序集成。服务器通过标准输入/输出进行通信,使其易于与各种LLM框架集成。

查询示例

基本查询

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

正在添加数据

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

架构定义

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

许可证

麻省理工学院