README
🚀 ArangoDB 的 MCP 服务器
一个用于 ArangoDB 的模型上下文协议 (MCP) 服务器,基于 TypeScript 构建,能通过 ArangoDB 进行数据库交互。它实现了核心数据库操作,可与 ArangoDB 无缝集成,在使用 MCP 工具时,还能配合 Claude 应用和 VSCode 扩展一起使用!
🚀 快速开始
本项目是基于 TypeScript 的 MCP 服务器,可与 ArangoDB 无缝集成,实现数据库交互。你可以按照以下步骤进行安装和使用。
✨ 主要特性
工具
-
arango_query - 执行 AQL 查询
- 接受一个必需的 AQL 查询字符串参数。
- 可选地接受绑定变量以实现参数化查询。
- 返回查询结果作为 JSON。
-
arango_insert - 向集合插入文档
- 接收集合名称和必需的文档参数。
- 支持可选的条件操作符
conflictHandler,默认为"abort"。
-
arango_update - 更新集合中的文档
- 接收集合名称、必需的键和更新内容。
- 支持可选的条件操作符
conflictHandler,默认为"abort"。
-
arango_remove - 删除集合中的文档
- 接收集合名称和必需的键。
-
arango_listCollections - 列出所有集合
- 返回集合列表及其详细信息(ID、系统标志)。
-
arango_backup - 备份数据库中的集合
- 可选地指定输出目录、特定集合或文档限制。
-
arango_createCollection - 创建新集合
- 支持设置集合类型和
waitForSync标志。
- 支持设置集合类型和
🔧 技术细节
数据库结构
该服务器与数据库结构无关,只需遵循 ArangoDB 的文档和边收藏模型即可。
📦 安装指南
开发环境安装依赖
npm install
构建项目
npm run build
监控任务
npm run dev
安装(使用 Smithery CLI)
npx smithery install @ravenwits/mcp-server-arangodb@latest
环境变量
| 属性 | 详情 |
|------|------|
| URL | 设置为 ArangoDB 的地址,默认为 http://localhost:8529 |
| DATABASE | 指定要连接的数据库,默认为 _system |
| USERNAME | 提供用于连接的用户名 |
| PASSWORD | 提供对应的密码 |
💻 使用示例
基础用法
备份数据库
{
"outputDir": "./backup", // 指定一个绝对输出目录路径(可选)
"collection": "users", // 指定要备份的集合名称(可选),不指定则备份所有集合
"docLimit": 1000 // 设置每个集合备份的最大文档数(可选),不设置则不限制
}
创建新集合
{
"name": "products",
"type": 2, // 类型:2 表示文档集合,3 表示边集合,默认为文档集合
"waitForSync": false // 是否等待同步,默认为 false
}
📚 详细文档
调试
由于 MCP 服务器通过标准输入输出进行通信,调试可能具有一定挑战性。我们推荐使用 MCP Inspector 进行开发:
npm run inspector
Inspector 将提供一个 URL,用于在浏览器中访问调试工具。
📄 许可证
本项目采用 MIT 许可证,具体细节请参阅 LICENSE 文件。
微信扫一扫