MCP Server for ArangoDB

MCP Server for ArangoDB

一个基于 TypeScript 的服务器,用于通过模型上下文协议与 ArangoDB 交互,从而实现数据库操作并与 Claude 和 VSCode 扩展等工具集成,以简化数据管理。

数据与应用分析
访问服务器

Tools

arango_query

Execute an AQL query

arango_insert

Insert a document into a collection

arango_update

Update a document in a collection

arango_remove

Remove a document from a collection

arango_backup

Backup collections to JSON files.

arango_list_collections

List all collections in the database

arango_create_collection

Create a new collection in the database

README

ArangoDB 的 MCP 服务器

smithery badge

一个用于 ArangoDB 的模型上下文协议服务器

这是一个基于 TypeScript 的 MCP 服务器,它通过 ArangoDB 提供数据库交互功能。 它实现了核心数据库操作,并允许通过 MCP 工具与 ArangoDB 无缝集成。 你可以将其与 Claude 应用程序以及与 mcp 配合使用的 VSCode 扩展 Cline 一起使用!

特性

工具

  • arango_query - 执行 AQL 查询

    • 接受 AQL 查询字符串作为必需参数
    • 可选地接受绑定变量以进行参数化查询
    • 将查询结果作为 JSON 返回
  • arango_insert - 将文档插入集合

    • 接受集合名称和文档对象作为必需参数
    • 如果未提供,则自动生成文档键
    • 返回创建的文档元数据
  • arango_update - 更新现有文档

    • 接受集合名称、文档键和更新对象作为必需参数
    • 返回更新的文档元数据
  • arango_remove - 从集合中删除文档

    • 接受集合名称和文档键作为必需参数
    • 返回删除的文档元数据
  • arango_backup - 将所有集合备份到 JSON 文件

    • 接受输出目录路径作为必需参数
    • 为每个集合创建包含当前数据的 JSON 文件
    • 适用于数据备份和迁移目的
  • arango_list_collections - 列出数据库中的所有集合

    • 返回集合信息的数组,包括名称、ID 和类型
  • arango_create_collection - 在数据库中创建一个新集合

    • 接受集合名称作为必需参数
    • 可选地指定集合类型(文档或边集合)
    • 配置写入操作的 waitForSync 行为
    • 返回集合信息,包括名称、类型和状态

数据库结构

该服务器与数据库结构无关,只要它们遵循 ArangoDB 的文档和边集合模型,就可以使用任何集合名称或结构。

开发

安装依赖项:

npm run build

用于自动重建的开发:

npm run watch

安装

通过 Smithery 安装

要通过 Smithery 自动为 Claude Desktop 安装 ArangoDB:

npx -y @smithery/cli install @ravenwits/mcp-server-arangodb --client claude

要与 Claude Desktop 一起使用,请添加服务器配置:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json

要与 Cline VSCode 扩展一起使用,请添加服务器配置:

  • MacOS: ~/Library/Application Support/Code/User/globalStorage/cline.cline/config.json
  • Windows: %APPDATA%/Code/User/globalStorage/cline.cline/config.json

将以下配置添加到 mcpServers 部分:

{
  "mcpServers": {
    "arango": {
      "command": "node",
      "args": ["/path/to/arango-server/build/index.js"],
      "env": {
        "ARANGO_URL": "your_database_url",
        "ARANGO_DATABASE": "your_database_name",
        "ARANGO_USERNAME": "your_username",
        "ARANGO_PASSWORD": "your_password"
      }
    }
  }
}

环境变量

服务器需要以下环境变量:

  • ARANGO_URL - ArangoDB 服务器 URL(注意:8529 是本地开发中 ArangoDB 的默认端口)
  • ARANGO_DATABASE - 数据库名称
  • ARANGO_USERNAME - 数据库用户
  • ARANGO_PASSWORD - 数据库密码

使用示例

你可以提供任何有意义的提示,Claude 将尝试执行适当的函数。

一些示例提示:

  • "列出数据库中的所有集合"
  • "查询所有用户"
  • "将一个名为 'John Doe' 且电子邮件为 'john@example.com' 的新文档插入到 'users' 集合中"
  • "更新键为 '123456' 或名称为 'Jane Doe' 的文档,将年龄更改为 48"
  • "创建一个名为 'products' 的新集合"

与 Claude App 一起使用

使用 ArangoDB MCP 服务器与 Claude App 的演示

与 Cline VSCode 扩展一起使用

使用 ArangoDB MCP 服务器与 Cline VSCode 扩展的演示

查询所有用户:

{
  "query": "FOR user IN users RETURN user"
}

插入一个新文档:

{
  "collection": "users",
  "document": {
    "name": "John Doe",
    "email": "john@example.com"
  }
}

更新一个文档:

{
  "collection": "users",
  "key": "123456",
  "update": {
    "name": "Jane Doe"
  }
}

删除一个文档:

{
  "collection": "users",
  "key": "123456"
}

列出所有集合:

{} // 不需要参数

备份数据库集合:

{
  "outputDir": "./backup" // 指定备份文件的绝对输出目录路径(可选)
  "collection": "users" // 指定要备份的集合名称(可选)。 如果未提供集合名称,则将备份所有集合
  "docLimit": 1000 // 指定每个集合要备份的最大文档数(可选),如果未提供,则将备份所有文档(没有限制可能会导致大型集合超时)
}

创建一个新集合:

{
  "name": "products",
  "type": 2, // 2 表示文档集合,3 表示边集合(可选,默认为文档集合)
  "waitForSync": false // 可选,默认为 false
}

调试

由于 MCP 服务器通过 stdio 进行通信,因此调试可能具有挑战性。 我们建议使用 MCP Inspector 进行开发:

npm run inspector

Inspector 将提供一个 URL 以访问浏览器中的调试工具。

许可证

该项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。

推荐服务器

VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
AIO-MCP Server

AIO-MCP Server

🚀 All-in-one MCP server with AI search, RAG, and multi-service integrations (GitLab/Jira/Confluence/YouTube) for AI-enhanced development workflows. Folk from

精选
本地
Hyperbrowser

Hyperbrowser

欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:

精选
本地
BigQuery MCP Server

BigQuery MCP Server

这是一个服务器,可以让你的大型语言模型(LLM,比如Claude)直接与你的BigQuery数据对话!可以把它想象成一个友好的翻译器,它位于你的AI助手和数据库之间,确保它们可以安全高效地进行交流。

精选
mcp-perplexity

mcp-perplexity

Perplexity API 的 MCP 服务器。

精选
MCP Web Research Server

MCP Web Research Server

一个模型上下文协议服务器,使 Claude 能够通过集成 Google 搜索、提取网页内容和捕获屏幕截图来进行网络研究。

精选
MySQL MCP Server

MySQL MCP Server

允许人工智能助手通过受控界面列出表格、读取数据和执行 SQL 查询,从而使数据库探索和分析更安全、更有条理。

精选
mcp-codex-keeper

mcp-codex-keeper

作为开发知识的守护者,为 AI 助手提供精心策划的最新文档和最佳实践访问权限。

精选
MCP Etherscan Server

MCP Etherscan Server

通过 Etherscan 的 API 促进与以太坊区块链数据的交互,提供对余额、交易、代币转移、合约 ABI、gas 价格和 ENS 名称解析的实时访问。

精选
Perplexity Deep Research MCP

Perplexity Deep Research MCP

一个服务器,它允许 AI 助手使用 Perplexity 的 sonar-deep-research 模型进行网络搜索,并提供引用支持。

精选