article
README
🚀 Dgraph MCP 服务器
这是一个借助 mcp-go 库实现的 Dgraph 图数据库的模型上下文协议(MCP)服务器,可助力大语言模型(LLM)应用程序与 Dgraph 数据库进行交互。
🚀 快速开始
此项目实现了与 Dgraph 数据库交互的 MCP 服务器,允许大语言模型(LLM)应用程序执行 DQL 查询、突变操作、修改架构以及获取当前架构等操作。
✨ 主要特性
- 支持大语言模型(LLM)应用程序执行 DQL 查询。
- 允许执行突变操作,对数据库数据进行修改。
- 能够修改 Dgraph 数据库的架构。
- 可以获取当前 Dgraph 数据库的架构。
📦 安装指南
先决条件
- Go 1.18 或更高版本。
- 运行中的 Dgraph 数据库(本地或远程)。
安装步骤
- 克隆此仓库。
- 安装依赖项:
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 许可证。
微信扫一扫