Skip to content

Latest commit

 

History

History
96 lines (79 loc) · 2.66 KB

README.md

File metadata and controls

96 lines (79 loc) · 2.66 KB

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)
    • 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
  • Properly document tools in the readme
  • Like on the SQLite MCP client
    • write_query tool separated from read_query -> actually is readWriteQuery
    • list_collections (see list_tables)
  • Client pool ie one client per database
  • Dev environment
  • resources/read with a template to read any document by database name, collection, id.
  • Add username and passwords as parameters of the command