返回 MCP 目录
public公开dns本地运行

dgraph-mcp-server

为Dgraph图数据库实现的MCP服务,支持查询、修改和模式管理

article

README

🚀 Dgraph MCP 服务器

这是一个借助 mcp-go 库实现的 Dgraph 图数据库的模型上下文协议(MCP)服务器,可助力大语言模型(LLM)应用程序与 Dgraph 数据库进行交互。

🚀 快速开始

此项目实现了与 Dgraph 数据库交互的 MCP 服务器,允许大语言模型(LLM)应用程序执行 DQL 查询、突变操作、修改架构以及获取当前架构等操作。

✨ 主要特性

  • 支持大语言模型(LLM)应用程序执行 DQL 查询。
  • 允许执行突变操作,对数据库数据进行修改。
  • 能够修改 Dgraph 数据库的架构。
  • 可以获取当前 Dgraph 数据库的架构。

📦 安装指南

先决条件

  • Go 1.18 或更高版本。
  • 运行中的 Dgraph 数据库(本地或远程)。

安装步骤

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

⚙️ 配置说明

服务器可以通过环境变量进行配置:

  • DGRAPH_HOST:Dgraph 服务地址(默认:localhost:9080

💻 使用示例

运行服务器

go run main.go

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

可用工具

1. dgraph_query

对 Dgraph 执行 DQL 查询。

  • 参数
    • query(字符串,必填):要执行的 DQL 查询。
    • variables(对象,可选):查询中的变量。
  • 示例
{
  "tool": "dgraph_query",
  "params": {
    "query": "{ me(func: has(name)) { name } }"
  }
}

2. dgraph_mutate

对 Dgraph 执行突变操作。

  • 参数
    • mutation(字符串,必填):要执行的 RDF 突变。
    • commit(布尔值,可选):是否提交事务(默认:true)。
  • 示例
{
  "tool": "dgraph_mutate",
  "params": {
    "mutation": "_:person <name> \"John Doe\" .",
    "commit": true
  }
}

3. dgraph_alter_schema

修改 Dgraph 的架构。

  • 参数
    • schema(字符串,必填):要应用的架构定义。
  • 示例
{
  "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] .

📄 许可证

本项目采用 MIT 许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端