返回市场
dgraph-mcp-服务器

dgraph-mcp-服务器

作者:johnymontana3 星标更新:2025-04-01

项目介绍

Dgraph MCP 服务器

用于 Dgraph 图数据库的模型上下文协议 (MCP) 服务器实现,基于 mcp-go 库构建。

概述

本项目实现了一个 MCP 服务器,允许大型语言模型 (LLM) 应用程序与 Dgraph 数据库进行交互。它提供了以下工具:

  • 执行 DQL 查询
  • 进行数据变更操作
  • 修改模式
  • 获取当前模式

预备条件

  • 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