MCP ExplorerExplorer

Arango Mcp Server

@lucas-deangelison a year ago
4 MIT
FreeCommunity
AI Systems
ArangoDB MCP Server implements the Model Context Protocol for database queries.

Overview

What is Arango Mcp Server

The arango-mcp-server is an implementation of the Model Context Protocol specifically designed for ArangoDB, allowing for efficient interaction with the database through defined query tools.

Use cases

Use cases for arango-mcp-server include data analytics applications, web applications needing dynamic database queries, and any project requiring structured data management with ArangoDB.

How to use

To use arango-mcp-server, configure your claude_desktop_config.json with the appropriate command and arguments to connect to your ArangoDB instance, specifying the database and credentials.

Key features

Key features include read-only and read-write query execution, listing databases and collections, and a development environment setup for easy modification and testing.

Where to use

Arango-mcp-server can be used in various fields that require database management and querying, particularly in applications utilizing ArangoDB for data storage and retrieval.

Content

ArangoDB MCP Server

This is an implementation of the Model Context Protocol for ArangoDB.

Overview

To be filled.

Components

Resources

Tools

Query Tools

  • readQuery
    • Execute read-only query on the database
    • Input:
      • databaseName (string): The database to query
      • aql (string): The read-only AQL query to execute
    • Returns: Query results as array of objects
  • readWriteQuery
    • Execute query on the database
    • Input:
      • databaseName (string): The database to query
      • aql (string): The AQL query to execute
    • Returns: Query results as array of objects
  • listDatabases
    • List all the databases on the ArangoDB server
    • Returns: Array of the databases names
  • listCollections
    • List all the collections in an ArangoDB database
    • Input:
      • databaseName (string): The name of the database
    • Returns: Array of objects { "name": "<collectionName>" }

Usage

To connect to an arangodb instance running on localhost:2434, to the database “account”, add the following to your claude_desktop_config.json, assuming the path to this project is /home/yourcoolname/arango-mcp-server:

{
  "mcpServers": {
    "arangodb-account": {
      "command": "npx",
      "args": [
        "-y",
        "arango-mcp-server",
        "http://localhost:8529",
        "root",
        "root"
      ]
    }
  }
}

Development

Clone the repository.
Install everything.
Setup the dev environment.
Run the watcher.
Edit index.ts.

$ npm install
$ npm run dev:setup
$ npm run dev

Go to http://localhost:5173/ to see the inspector.

Todo

  • [ ] Properly study the spec to see if the current implementation of resources actually make sense (I don’t think it does)
    • [x] The resource templates make sense
  • [ ] Change all the “arango” to “arangodb” (repo name included…)
  • [ ] Add back the arangodb password
  • [ ] Proper README
    • [ ] Tools/resource/etc following the format of the official anthropic stuff
  • [ ] Figure out notifications
  • [ ] Health checks
  • [ ] More tools?
  • [ ] Access all the databases running on an arangodb instance
  • [ ] Release on npm somehow so it can be used with npx
  • [ ] resources/subscribe and notifications/resources/list_changed and resources/unsubscribe
  • [x] Properly document tools in the readme
  • [x] Like on the SQLite MCP client
    • [x] write_query tool separated from read_query -> actually is readWriteQuery
    • [x] list_collections (see list_tables)
  • [x] Client pool ie one client per database
  • [x] Dev environment
  • [x] resources/read with a template to read any document by database name, collection, id.
  • [x] Add username and passwords as parameters of the command

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers