Skip to main content
Glama
PCfVW

mcp-arangodb-async

by PCfVW

ArangoDB MCP Server for Python

Python License MCP PyPI

A production-ready Model Context Protocol (MCP) server exposing advanced ArangoDB operations to AI assistants like Claude Desktop and Augment Code. Features async-first Python architecture, comprehensive graph management, flexible content conversion (JSON, Markdown, YAML, Table), backup/restore functionality, and analytics capabilities.


πŸ“š Documentation: https://github.com/PCfVW/mcp-arango-async/tree/master/docs

πŸš€ Quick Start: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/getting-started/quickstart.md

πŸ”§ ArangoDB Setup: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/getting-started/install-arangodb.md

πŸ—„οΈ Multi-Tenancy Guide: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/multi-tenancy-guide.md

βš™οΈ CLI Reference: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/cli-reference.md

πŸ“– Tools Reference: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/tools-reference.md

🎯 MCP Design Patterns: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/mcp-design-patterns.md

πŸ“ Changelog: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/developer-guide/changelog.md

πŸ› Issues: https://github.com/PCfVW/mcp-arango-async/issues


Related MCP server: production-grade-mcp-agentic-system

Features

  • βœ… 46 MCP Tools - Complete ArangoDB operations (queries, collections, indexes, graphs)

  • βœ… Multi-Tenancy - Work with multiple databases, environment switching, cross-database operations

  • βœ… MCP Design Patterns - Progressive discovery, context switching, tool unloading (98.7% token savings)

  • βœ… Graph Management - Create, traverse, backup/restore named graphs

  • βœ… Content Conversion - JSON, Markdown, YAML, and Table formats

  • βœ… Backup/Restore - Collection and graph-level backup with validation

  • βœ… Analytics - Query profiling, explain plans, graph statistics

  • βœ… Dual Transport - stdio (desktop clients) and HTTP (web/containerized)

  • βœ… Docker Support - Run in Docker for isolation and reproducibility

  • βœ… Production-Ready - Retry logic, graceful degradation, comprehensive error handling

  • βœ… Type-Safe - Pydantic validation for all tool arguments


Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   MCP Client       β”‚      β”‚  ArangoDB MCP       β”‚       β”‚   ArangoDB       β”‚
β”‚ (Claude, Augment)  │─────▢│  Server (Python)    │─────▢│  (Docker)        β”‚
β”‚                    β”‚      β”‚  β€’ 46 Tools         β”‚       β”‚  β€’ Multi-Model   β”‚
β”‚                    β”‚      β”‚  β€’ Multi-Tenancy    β”‚       β”‚  β€’ Graph Engine  β”‚
β”‚                    β”‚      β”‚  β€’ Graph Mgmt       β”‚       β”‚  β€’ AQL Engine    β”‚
β”‚                    β”‚      β”‚  β€’ MCP Patterns     β”‚       β”‚                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Getting Started with ArangoDB

Prerequisites

  • Docker and Docker Compose installed

  • Python 3.11+ (for mcp-arangodb-async)

Step 1: Install ArangoDB

Create a docker-compose.yml file:

services:
  arangodb:
    image: arangodb:3.11
    environment:
      ARANGO_ROOT_PASSWORD: ${ARANGO_ROOT_PASSWORD:-changeme}
    ports:
      - "8529:8529"
    volumes:
      - arangodb_data:/var/lib/arangodb3
      - arangodb_apps:/var/lib/arangodb3-apps
    healthcheck:
      test: arangosh --server.username root --server.password "$ARANGO_ROOT_PASSWORD" --javascript.execute-string "require('@arangodb').db._version()" > /dev/null 2>&1 || exit 1
      interval: 5s
      timeout: 2s
      retries: 30
    restart: unless-stopped

volumes:
  arangodb_data:
    driver: local
  arangodb_apps:
    driver: local

Create a .env file:

# ArangoDB root password
ARANGO_ROOT_PASSWORD=changeme

# MCP Server connection settings
ARANGO_URL=http://localhost:8529
ARANGO_DB=mcp_arangodb_test
ARANGO_USERNAME=mcp_arangodb_user
ARANGO_PASSWORD=mcp_arangodb_password

Start ArangoDB:

docker compose --env-file .env up -d

Step 2: Install mcp-arangodb-async

Install the MCP server package:

pip install mcp-arangodb-async
# Create environment and install
conda create -n mcp-arango python=3.11
conda activate mcp-arango
pip install mcp-arangodb-async

# Or with mamba/micromamba:
# mamba create -n mcp-arango python=3.11
# mamba activate mcp-arango
# pip install mcp-arangodb-async
# Create environment and install
uv venv .venv --python 3.11
uv pip install mcp-arangodb-async

Step 3: Create Database and User

Create the database and user for the MCP server:

maa db add mcp_arangodb_test \
  --url http://localhost:8529 \
  --with-user mcp_arangodb_user \
  --env-file .env

Expected output:

The following actions will be performed:
  [ADD] Database 'mcp_arangodb_test'
  [ADD] User 'mcp_arangodb_user' (active: true)
  [GRANT] Permission rw: mcp_arangodb_user β†’ mcp_arangodb_test

Are you sure you want to proceed? [y/N]: y
db add:
[ADDED] Database 'mcp_arangodb_test'
[ADDED] User 'mcp_arangodb_user' (active: true)
[GRANTED] Permission rw: mcp_arangodb_user β†’ mcp_arangodb_test

Verify the database connection:

# Set environment variables
export ARANGO_URL=http://localhost:8529
export ARANGO_DB=mcp_arangodb_test
export ARANGO_USERNAME=mcp_arangodb_user
export ARANGO_PASSWORD=mcp_arangodb_password

# Run health check
maa health

Expected output:

{"status": "healthy", "database_connected": true, "database_info": {"version": "3.11.x", "name": "mcp_arangodb_test"}}

Step 4: Configure MCP Host

Configure your MCP host to use the server. The configuration includes environment variables for database connection. The location of the configuration file depends on your MCP host. For Claude Desktop, the file is located at:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

Configuration:

{
  "mcpServers": {
    "arangodb": {
      "command": "python",
      "args": ["-m", "mcp_arangodb_async"],
      "env": {
        "ARANGO_URL": "http://localhost:8529",
        "ARANGO_DB": "mcp_arangodb_test",
        "ARANGO_USERNAME": "mcp_arangodb_user",
        "ARANGO_PASSWORD": "mcp_arangodb_password"
      }
    }
  }
}

If you installed with conda/mamba/micromamba, use the run command:

{
  "mcpServers": {
    "arangodb": {
      "command": "conda",
      "args": ["run", "-n", "mcp-arango", "maa", "server"],
      "env": {
        "ARANGO_URL": "http://localhost:8529",
        "ARANGO_DB": "mcp_arangodb_test",
        "ARANGO_USERNAME": "mcp_arangodb_user",
        "ARANGO_PASSWORD": "mcp_arangodb_password"
      }
    }
  }
}

Replace "conda" with "mamba" or "micromamba" if using those tools.

If you installed with uv, use uv run:

{
  "mcpServers": {
    "arangodb": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/project", "maa", "server"],
      "env": {
        "ARANGO_URL": "http://localhost:8529",
        "ARANGO_DB": "mcp_arangodb_test",
        "ARANGO_USERNAME": "mcp_arangodb_user",
        "ARANGO_PASSWORD": "mcp_arangodb_password"
      }
    }
  }
}

Replace /path/to/project with the directory containing your .venv folder.

Restart your MCP client after updating the configuration.

Test the connection:

Ask your MCP client: "List all collections in the ArangoDB database"

The assistant should successfully connect and list your collections.

Available Tools

The server exposes 46 MCP tools organized into 11 categories:

Multi-Tenancy Tools (4 tools)

  • arango_set_focused_database - Set focused database for session

  • arango_get_focused_database - Get currently focused database

  • arango_list_available_databases - List all configured databases

  • arango_get_database_resolution - Show database resolution algorithm

Core Data Operations (7 tools)

  • arango_query - Execute AQL queries

  • arango_list_collections - List all collections

  • arango_insert - Insert documents

  • arango_update - Update documents

  • arango_remove - Remove documents

  • arango_create_collection - Create collections

  • arango_backup - Backup collections

Index Management (3 tools)

  • arango_list_indexes - List indexes

  • arango_create_index - Create indexes

  • arango_delete_index - Delete indexes

Query Analysis (3 tools)

  • arango_explain_query - Explain query execution plan

  • arango_query_builder - Build AQL queries

  • arango_query_profile - Profile query performance

Data Validation (4 tools)

  • arango_validate_references - Validate document references

  • arango_insert_with_validation - Insert with validation

  • arango_create_schema - Create JSON schemas

  • arango_validate_document - Validate against schema

Bulk Operations (2 tools)

  • arango_bulk_insert - Bulk insert documents

  • arango_bulk_update - Bulk update documents

Graph Management (7 tools)

  • arango_create_graph - Create named graphs

  • arango_list_graphs - List all graphs

  • arango_add_vertex_collection - Add vertex collections

  • arango_add_edge_definition - Add edge definitions

  • arango_add_vertex - Add vertices

  • arango_add_edge - Add edges

  • arango_graph_traversal - Traverse graphs

Graph Traversal (2 tools)

  • arango_traverse - Graph traversal

  • arango_shortest_path - Find shortest paths

Graph Backup/Restore (5 tools)

  • arango_backup_graph - Backup single graph

  • arango_restore_graph - Restore single graph

  • arango_backup_named_graphs - Backup all named graphs

  • arango_validate_graph_integrity - Validate graph integrity

  • arango_graph_statistics - Graph statistics

Health & Status (1 tool)

  • arango_database_status - Get comprehensive status of all databases

Tool Aliases (2 tools)

  • arango_graph_traversal - Alias for arango_traverse

  • arango_add_vertex - Alias for arango_insert

MCP Design Pattern Tools (8 tools)

  • arango_search_tools - Search for tools by keywords

  • arango_list_tools_by_category - List tools by category

  • arango_switch_workflow - Switch workflow context

  • arango_get_active_workflow - Get active workflow

  • arango_list_workflows - List all workflows

  • arango_advance_workflow_stage - Advance workflow stage

  • arango_get_tool_usage_stats - Get tool usage statistics

  • arango_unload_tools - Unload specific tools

πŸ“– Complete tools reference: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/tools-reference.md

πŸ“– MCP Design Patterns Guide: https://github.com/PCfVW/mcp-arango-async/blob/master/docs/user-guide/mcp-design-patterns.md


Use Case Example: Codebase Graph Analysis

Model your codebase as a graph to analyze dependencies, find circular references, and understand architecture. Here is an excerpt from the longer codebase analysis example:

# 1. Create graph structure
Ask Claude: "Create a graph called 'codebase' with vertex collections 'modules' and 'functions', and edge collection 'calls' connecting functions"

# 2. Import codebase data
Ask Claude: "Insert these modules into the 'modules' collection: [...]"

# 3. Analyze dependencies
Ask Claude: "Find all functions that depend on the 'auth' module using graph traversal"

# 4. Detect circular dependencies
Ask Claude: "Check for circular dependencies in the codebase graph"

# 5. Generate architecture diagram
Ask Claude: "Export the codebase graph structure as Markdown for visualization"

πŸ“– More examples


Documentation

Getting Started

Configuration

User Guide

Developer Guide

Examples

πŸ“– Full documentation: https://github.com/PCfVW/mcp-arango-async/tree/master/docs


Troubleshooting

Common Issues

Database connection fails:

# Check ArangoDB is running
docker ps | grep arangodb

# Test connection
curl http://localhost:8529/_api/version

# Check credentials
maa health

Server won't start in Claude Desktop:

# Verify Python installation
python --version  # Must be 3.11+

# Test module directly
maa health

# Check Claude Desktop logs
# Windows: %APPDATA%\Claude\logs\
# macOS: ~/Library/Logs/Claude/

Tool execution errors:

  • Verify ArangoDB is healthy: docker compose ps

  • Check environment variables are set correctly

  • Review server logs for detailed error messages

πŸ“– Complete troubleshooting guide


Why Docker for ArangoDB?

βœ… Stability - Isolated environment, no host conflicts
βœ… Zero-install - Start/stop with docker compose
βœ… Reproducibility - Same image across all environments
βœ… Health checks - Built-in readiness validation
βœ… Fast reset - Recreate clean instances easily
βœ… Portability - Consistent on Windows/macOS/Linux


License

  • This project: Apache License 2.0

  • ArangoDB 3.11: Apache License 2.0

  • ArangoDB 3.12+: Business Source License 1.1 (BUSL-1.1)

⚠️ Important: This repository does not grant rights to ArangoDB binaries. You must comply with ArangoDB's license for your deployment version.

πŸ“– License details


Contributing

Contributions are welcome! Please see our documentation for guidelines.

πŸ“– Architecture decisions


Support


Acknowledgments

Built with:

Available Tools

46 tools
arango_add_edgeC

Add an edge document between two vertices with optional attributes.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYes
from_idYes_from document id, e.g., users/123
to_idYes_to document id, e.g., orders/456
attributesNo
databaseNoDatabase override

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must carry full burden. It only states it adds an edge, but omits behavioral details like idempotency, error handling, permissions, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise but lacks necessary detail. It's appropriately sized for a simple definition, but under-specification reduces value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 parameters, no annotations, no output schema, the description is severely incomplete. Missing details on return value, error conditions, and parameter semantics for collection and database.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Description adds minimal parameter info beyond schema: only 'with optional attributes' is vague. Schema already covers from_id, to_id examples. 60% coverage leaves collection and database undescribed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (add), resource (edge document), and relationship (between two vertices). It distinguishes from siblings like arango_add_vertex and arango_add_edge_definition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. No mention of prerequisites (e.g., collection existence, vertex existence) or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_add_edge_definitionC

Create an edge definition in a named graph.

ParametersJSON Schema
NameRequiredDescriptionDefault
graphYes
edge_collectionYes
from_collectionsYes
to_collectionsYes
databaseNoDatabase override

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for behavioral transparency. It only states 'Create an edge definition' without disclosing potential side effects, mutability, authorization needs, or constraints. The parameter 'Database override' gives minimal context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, making it concise. However, it lacks structure and could provide more information without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters (4 required) and no output schema, the description is severely incomplete. It does not explain what an edge definition is, how parameters relate, or the outcome of the operation. The agent cannot properly invoke this tool based solely on the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20% (only 'database' has a description). The tool description adds no parameter explanations. With low coverage, the description should compensate but does not, leaving most parameters undefined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (create) and resource (edge definition in a named graph). However, it does not differentiate from sibling tools like arango_add_edge, which adds an edge document, not a definition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites such as the graph needing to exist or that the edge collection must be new.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_add_vertexC

Alias for arango_insert (insert a vertex document into a collection).

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYes
documentYes
databaseNoDatabase override

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of disclosing behavioral traits. It only states it is an alias, implying identical behavior to arango_insert, but does not elaborate on side effects, permissions, or any other operational details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (one sentence) but fails to provide sufficient information. Conciseness is not an excuse for underspecification; it should be more informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 3 parameters, a required nested object, and no output schema, the description is woefully incomplete. It does not explain the structure of the document, required fields, or what the tool returns, leaving the agent with insufficient context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning beyond the input schema. The schema has 3 parameters with low description coverage (33% only for 'database'), and the description fails to explain the semantics of 'collection' or 'document', which are required and involve a nested object.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is an alias for arango_insert and specifies the action 'insert a vertex document into a collection.' This verb-resource combination is specific and distinguishes it from sibling tools like arango_add_edge.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only notes it is an alias for arango_insert, but does not provide any guidance on when to use this tool versus other related tools or alternatives. No contextual or conditional usage information is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_add_vertex_collectionC

Add a vertex collection to a named graph.

ParametersJSON Schema
NameRequiredDescriptionDefault
graphYes
collectionYes
databaseNoDatabase override

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. It does not disclose whether the operation is permanent, requires permissions, or has any side effects on existing graph structures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise at one sentence, but it sacrifices detail. It lacks structure but no word is wasted. It could be improved without adding much length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low schema coverage, no output schema, no annotations, and the tool's operation (modifying a graph), the description is completely inadequate. It does not explain return values, error conditions, or prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33% (only 'database' has a description). The 'graph' and 'collection' parameters lack explanations, and the description does not add any meaning beyond the parameter names. The baseline for low coverage is higher, so this is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action 'add a vertex collection to a named graph,' which is clear but vague. It does not specify whether it creates a new collection or associates an existing one, and it does not differentiate well from sibling tools like arango_create_collection or arango_add_vertex.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as arango_add_vertex or arango_create_graph. There is no mention of prerequisites, contexts, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_advance_workflow_stageB

Advance to the next workflow stage, automatically unloading tools from previous stage and loading tools for new stage. Enables Tool Unloading pattern.

ParametersJSON Schema
NameRequiredDescriptionDefault
stageYesWorkflow stage to advance to

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description discloses automatic unloading/loading of tools, which is good behavioral context. However, it does not mention if the operation is destructive, reversible, or requires specific state (e.g., current stage). Missing details about side effects beyond the provided info.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences efficiently convey the main action and pattern. No wasted words, but the term 'next' could be more precise. The structure is logical, though additional structure (e.g., bullet points) would not hurt.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core functionality and side effects. However, it lacks context on prerequisites (e.g., active workflow), return value, and whether stages can be skipped. Given the simplicity (1 param, no output schema), it is adequate but has gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description for 'stage'. The tool description adds value by explaining the unloading/loading behavior, which is not in the schema. This enhances understanding beyond the parameter definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool advances workflow stages and automatically handles tool unloading/loading. However, it says 'next workflow stage' while the parameter allows specifying any stage, introducing slight ambiguity. It distinguishes from siblings like arango_switch_workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives. It does not mention prerequisites (e.g., must have an active workflow) or when not to use (e.g., to skip stages). The description implies usage for stage progression but lacks exclusionary criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_backupC

Backup collections to JSON files.

ParametersJSON Schema
NameRequiredDescriptionDefault
outputDirNoDirectory to write backup files (defaults to timestamped backups/ folder)
collectionNoSingle collection to backup (for TypeScript compatibility)
collectionsNoList of collections to backup (if not specified, backs up all non-system collections)
docLimitNoMaximum number of documents to backup per collection
databaseNoDatabase override

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only says 'backup collections to JSON files'. It does not disclose effects like overwriting, read-only nature, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, very concise. It is front-loaded but could be more informative without sacrificing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a backup tool with 5 optional parameters and no output schema, the description is too minimal. It does not explain the backup process, return values, or constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions. The description adds no extra meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Backup collections to JSON files', which is a specific verb and resource, distinguishing it from sibling tools like arango_backup_graph. However, it does not explicitly differentiate from siblings, but the name and context imply the scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like arango_backup_graph or arango_backup_named_graphs. No prerequisites or use cases mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_backup_graphB

Export complete graph structure including vertices, edges, and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameYesName of the graph to backup
outputDirNoOutput directory for backup files (defaults to timestamped graph_backups/ folder)
includeMetadataNoInclude graph metadata and definitions in backup
docLimitNoMaximum number of documents to backup per collection
databaseNoDatabase override

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose side effects, output details, and constraints. It only states what is included (vertices, edges, metadata) but omits whether the operation is read-only, any required permissions, output format, or the effect of parameters like docLimit and outputDir.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with 8 words, no redundancy. Efficiently captures the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 5 parameters and no output schema, the description provides minimal context. It fails to explain the output (files created), metadata scope, or how documentation limits work. The tool is moderately complex, and the description is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters have schema descriptions (100% coverage), so baseline is 3. The description adds no additional meaning about parameters; it does not mention how graph_name, outputDir, includeMetadata, docLimit, or database are used in the export.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Export' and the resource 'complete graph structure including vertices, edges, and metadata.' It differentiates from sibling backup tools like arango_backup (generic) and arango_backup_named_graphs (named graphs) by specifying 'complete graph structure' for a specific graph.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as arango_backup or arango_backup_named_graphs. No context about prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_backup_named_graphsC

Backup graph definitions from _graphs system collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
outputFileNoOutput file for graph definitions (defaults to timestamped file)
graphNamesNoSpecific graphs to backup (if not specified, backs up all graphs)
databaseNoDatabase override

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states 'Backup graph definitions,' which implies a non-destructive read operation, but does not explicitly state safety, side effects, or other behavioral aspects. The description is too brief to give transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. It is appropriately concise and front-loaded with the action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is very minimal. It does not explain what form the backup takes, how to use the output, or any prerequisites. For a tool with 3 parameters, more context would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (all 3 parameters have descriptions), so the baseline is 3. The tool description adds no extra meaning beyond what the schema provides, maintaining the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states 'Backup graph definitions from _graphs system collection.' It uses a specific verb and resource, making the purpose clear. However, there is a sibling tool 'arango_backup_graph' that likely performs a similar function, and the description does not differentiate between them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'arango_backup_graph' or when not to use it. The description lacks context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_bulk_insertC

Bulk insert documents with batching and basic error handling.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYes
documentsYes
validate_refsNo
batch_sizeNo
on_errorNostop
databaseNoDatabase override

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It only mentions 'basic error handling' without specifics. No mention of results, performance characteristics, or whether it is destructive (implied but not explicit). The fact that it inserts documents is obvious, but the error handling behavior is vague.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (one sentence), which is concise but at the expense of completeness. It front-loads the core action, but the lack of structure and detail reduces usefulness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters, no output schema, and no annotations, the description is severely incomplete. It does not cover return values, error outcomes, prerequisites, or performance implications. For a bulk operation, more context is essential.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 17% (only database has a description). The description does not explain key parameters like batch_size, on_error, or validate_refs beyond their names. It hints at batching and error handling but adds no detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'bulk insert' and the resource 'documents', with batching and error handling. It distinguishes from single-insert tools like arango_insert by emphasizing 'bulk' and 'batching'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs. alternatives (e.g., arango_insert, arango_bulk_update, arango_insert_with_validation). The description does not mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_bulk_updateC

Bulk update documents by key with batching.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYes
updatesYes
batch_sizeNo
on_errorNostop
databaseNoDatabase override

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but lacks detail: no mention of atomicity, error handling behavior (though on_error parameter exists), or side effects. Only 'bulk update by key with batching' is stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise at 5 words, but critically missing information. Front-loading is not relevant due to brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter tool with no output schema or annotations, the description is incomplete. Lacks explaination of return values, update behavior, or required fields in documents.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20%. The description adds no meaning to parameters (e.g., 'updates' array structure, required _key field); relies solely on schema which is sparse.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs bulk updates by key with batching, distinguishing it from single update and bulk insert siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use vs. alternatives like arango_update or arango_bulk_insert. Does not specify prerequisites or ideal scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_create_collectionC

Create a collection (document or edge).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the collection to create
typeNoType of collection (document or edge)document
waitForSyncNoWhether to wait for sync to disk
databaseNoDatabase override

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states the action without revealing side effects, permissions needed, naming constraints, or error conditions. This is insufficient for a creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded, but it sacrifices critical details. It could be expanded with important usage notes without being bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description lacks details on return value, error handling, and best practices. It is incomplete for a non-trivial creation operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema; it merely echoes the type enum. No additional semantics provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a collection and mentions the two types (document or edge). It distinguishes from sibling tools like arango_create_graph or arango_create_index, but could be more specific about the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites (e.g., database existence), and no exclusions provided. The agent gets no context for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_create_graphB

Create a named graph with edge definitions (optionally creating collections).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
edge_definitionsYes
create_collectionsNo
databaseNoDatabase override

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for behavioral disclosure. It only mentions 'optionally creating collections' via the create_collections parameter. It does not disclose failure behavior if the graph exists, permission requirements, or whether the operation is destructive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, clear sentence that concisely states the tool's purpose. No unnecessary words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, low schema coverage, no output schema, and no annotations, the description is too minimal. It lacks explanation of what a named graph is, the pattern of edge definitions, and expected behavior (e.g., whether existing collections are reused).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is low (25%)β€”only the 'database' parameter has a description. The description adds no parameter-specific information beyond what is in the schema. It does not explain the 'edge_definitions' structure or the effect of 'create_collections'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a named graph with edge definitions, and optionally creates collections. This distinguishes it from sibling tools like 'arango_add_edge_definition' or 'arango_create_collection', which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. For example, it does not explain prerequisites (e.g., database must exist) or when to use 'arango_add_edge_definition' instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_create_indexB

Create an index on a collection (persistent, hash, skiplist, ttl, fulltext, geo).

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYesName of the collection to create index on
typeNoType of index to createpersistent
fieldsYesField paths to index
uniqueNoWhether the index should enforce uniqueness
sparseNoWhether the index should be sparse (ignore null values)
deduplicateNoWhether to deduplicate index entries
nameNoCustom name for the index
in_backgroundNoWhether to create index in background
ttlNoTTL seconds (expireAfter) for TTL index
expireAfterNoAlias for ttl (expireAfter)
minLengthNoMinimum length for fulltext index
geoJsonNoIf true, fields are in GeoJSON format for geo index
databaseNoDatabase override

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It only says 'create an index', implying a write operation, but does not disclose idempotency, error handling (e.g., if index already exists), or performance implications. Minimal behavioral information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, efficient but not overly terse. It front-loads the action and resource. Slightly more structure (e.g., noting required params) could improve usability without adding length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (13 parameters, 2 required) and no output schema, the description is insufficient. It lacks any context about return values, constraints (e.g., required collection and fields), or typical usage patterns. A more complete description would aid agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description enumerates index types, which the schema also does via enum, adding minimal extra value. No other parameter semantics are added beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('create an index') and the resource ('on a collection'), and enumerates the index types (persistent, hash, skiplist, ttl, fulltext, geo). This distinguishes it clearly from sibling tools like list or delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives (e.g., when to use a different type of index, or when to choose arango_create_schema). No mention of prerequisites or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_create_schemaC

Create or update a named JSON Schema for a collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
collectionYes
schemaYesJSON Schema draft-07 compatible schema
databaseNoDatabase override

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full burden of behavioral disclosure. It only states 'Create or update', implying mutation, but omits critical details: whether the schema replaces or merges, permissions required, side effects on existing documents, or if the operation is reversible. The description fails to disclose any behavioral traits beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with a single sentence, but it sacrifices necessary detail. It lacks structure (e.g., bullet points or sections) and does not mention parameters, usage context, or return values. While brevity is valued, the description is too minimal for a tool with four parameters, including a complex nested schema object.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (4 parameters, nested object schema, no output schema), the description is insufficient. It does not explain how the schema is applied, its relationship to collection validation, or any side effects. Sibling tools like 'arango_validate_document' suggest interplay, but no connection is made. The description lacks completeness for an agent to use the tool correctly without prior knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool description adds no information about the parameters. Schema coverage is only 50% (two out of four parameters have descriptions in the input schema). The 'name' and 'collection' parameters lack documentation both in the schema and the description, so the description does not compensate for the coverage gap. The description does not clarify the purpose of each parameter or provide format examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create or update') and the resource ('a named JSON Schema for a collection'). This distinguishes it from siblings like 'arango_create_collection' (which creates a collection, not a schema) and 'arango_validate_document' (which validates documents using a schema). The verb+resource combination is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of when not to use it. For example, it does not indicate whether this tool should be used before inserting documents or if there are existing schemas that might conflict. The usage context is entirely implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_database_statusB

Get connection status for all configured databases, showing which databases are accessible, their versions, and which database is currently focused.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNoDatabase override

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It correctly implies a read-only operation and describes the output (accessibility, versions, focused database). However, it does not mention any potential side effects, rate limits, or permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that immediately conveys the tool's purpose and output. No unnecessary words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately covers what the tool returns (database accessibility, versions, focused database). It is complete for a simple status tool with one optional parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage by describing the single optional parameter 'database' as 'Database override'. The tool description does not add further meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb 'get' and the resource 'connection status for all configured databases', and details what is shown (accessible databases, versions, focused database). However, it does not explicitly differentiate from siblings, which include many other arango tools, though no direct competitor exists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, nor does it state any prerequisites or exclusions. It simply states what the tool does, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_delete_indexB

Delete an index by id or name from a collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYesName of the collection containing the index
id_or_nameYesIndex ID (e.g., collection/12345) or name to delete
databaseNoDatabase override

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose effects of deletion (e.g., irreversible, impact on queries, constraints). Lacks essential behavioral context for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, concise and front-loaded with the key action and resource. No wasted words, but could be slightly more structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so the description should clarify return behavior or success indicators. Missing information on side effects and use context, leaving significant gaps for a deletion tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters with descriptions (100% coverage), including examples like id_or_name format. The description adds no extra meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (delete), resource (index), and identification method (by id or name). It distinguishes from sibling tools like create_index or list_indexes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use or avoid this tool; no mention of prerequisites, side effects, or alternatives. The description is purely functional.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_explain_queryA

Explain an AQL query and return execution plans and optional index suggestions.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
bind_varsNo
suggest_indexesNo
max_plansNo
databaseNoDatabase override

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavior. It mentions returning execution plans and optional index suggestions, but does not explicitly state that the query is not executed (read-only operation). This ambiguity reduces transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the core functionality without unnecessary words. It is concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should explain the return structure fully. It mentions execution plans and index suggestions but lacks detail on format or additional information. Given 5 parameters and only 1 required, the description could better note optional parameters and defaults.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 20% (only 'database' has a description). The description adds no detail about parameters like 'query', 'bind_vars', or 'max_plans', though 'suggest_indexes' is implied by 'optional index suggestions'. Parameters are largely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Explain an AQL query and return execution plans and optional index suggestions.' This distinguishes it clearly from siblings like arango_query (executes queries) and arango_query_profile (profiles execution).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for understanding query performance via execution plans, but does not explicitly state when to use this tool versus alternatives, such as before executing a query or for optimization.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_get_active_workflowA

Get the currently active workflow context and its tool set.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It implies a read-only operation through the verb 'Get', but does not explicitly state whether it is safe (non-destructive), what happens when no active workflow exists, or whether any state changes occur. The description is adequate but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. It front-loads the verb and resource, making it immediately actionable. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, no output schema, and no annotations, the description is somewhat incomplete. It tells what the tool does but lacks details on the return format or what constitutes 'context' and 'tool set'. For a parameterless getter, it is minimally viable but could provide more context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so schema description coverage is effectively 100%. Per guidelines, a baseline of 4 applies, and the description does not need to add parameter information. No additional semantics are required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the currently active workflow context and its tool set. The verb 'Get' and specific resource 'currently active workflow context and its tool set' make the purpose unambiguous, and it distinguishes from siblings like arango_switch_workflow and arango_list_workflows.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as arango_list_workflows or arango_switch_workflow. It simply states what it does without context on prerequisites or comparison to other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_get_database_resolutionA

Show the database resolution algorithm result for the current session, displaying which database would be used based on the 6-level priority fallback.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It correctly indicates this is a read-only diagnostic operation showing algorithm results, but does not disclose session context implications or confirm lack of side effects. Basic transparency is achieved.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single well-structured sentence that immediately conveys the tool's purpose and key detail (6-level priority), with no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, no output schema, and a simple diagnostic purpose, the description is fully complete. It explains what the tool does and the key aspect of its output (which database based on priority fallback).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema description coverage is 100%. The description adds no parameter details, but with no parameters, a baseline of 4 is appropriate as nothing more is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool shows the database resolution algorithm result for the current session, with specific mention of the 6-level priority fallback. It distinguishes itself from sibling tools like arango_database_status or arango_get_focused_database by focusing on resolution logic rather than status or selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for diagnostic use to understand which database would be chosen, but provides no explicit guidance on when to use it versus alternatives, nor does it mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_get_focused_databaseA

Get the currently focused database for the current session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description implies a read-only operation but does not explicitly state behavioral traits like idempotency, authorization needs, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, concise, front-loaded with key information. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Simple tool with no parameters, but lacks description of return value or output format. Could be improved by specifying what the returned database identifier looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0 parameters with 100% coverage. Description does not add information about parameters, but none are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (get), the resource (currently focused database), and the scope (current session). It distinguishes from sibling arango_set_focused_database which sets the focused database.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives, but it is clearly a getter complementary to set_focused. However, no when-not or context is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_get_tool_usage_statsA

Get usage statistics for all tools, including use counts and last used timestamps. Useful for understanding tool usage patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses the output contents (use counts, timestamps) but fails to mention any potential side effects, performance implications, or access requirements. Given the lack of annotations, more behavioral detail is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of two sentences that front-load the core purpose and then add context. Every sentence contributes value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with no parameters. The description states what it does and gives examples of returned data (use counts, timestamps). However, without an output schema, the exact structure is unclear. The description partially compensates but is not fully detailed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and schema coverage is 100%. According to the rubric, zero parameters baseline is 4. The description adds no parameter-specific info beyond the schema, which is acceptable as no parameters exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get usage statistics for all tools, including use counts and last used timestamps.' It specifies the verb (get), the resource (usage statistics), and the scope (all tools). This distinguishes it from sibling tools like arango_list_collections or arango_query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates the tool's utility for 'understanding tool usage patterns,' providing clear context for when it is appropriate to use. However, it does not mention when not to use it or suggest alternatives, as there are no directly competing sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_graph_statisticsA

Generate comprehensive graph analytics (vertex/edge counts, degree distribution, connectivity metrics).

ParametersJSON Schema
NameRequiredDescriptionDefault
graphNameNoSpecific graph to analyze (if not specified, analyzes all graphs)
includeDegreeDistributionNoCalculate degree distribution statistics
includeConnectivityNoCalculate connectivity metrics
sampleSizeNoSample size for large graphs (defaults to automatic sizing)
aggregateCollectionsNoAggregate statistics across all collections for more representative results
perCollectionStatsNoProvide detailed per-collection statistics breakdown
databaseNoDatabase override

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses the tool is for generating analytics (likely read-only), but does not mention permissions, performance impact, or whether it modifies data. Provides basic behavioral context but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence front-loads the tool's purpose and specifics. No wasted words; all information is relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and description does not explain return format. For a statistical tool, it lacks detail on how results are structured (e.g., per-graph vs aggregated). Adequate but incomplete given the complexity of graph analytics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description mentions vertex/edge counts, degree distribution, and connectivity, which align with boolean parameters, but does not add meaning beyond what the schema already provides for other params like graphName and sampleSize.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it generates comprehensive graph analytics including specific metrics (vertex/edge counts, degree distribution, connectivity). Distinguishes from siblings like arango_graph_traversal which focuses on traversal rather than analytics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternatives provided. The description implies usage for analytics but does not specify when to choose this over other graph tools like arango_graph_traversal or arango_shortest_path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_graph_traversalC

Alias for arango_traverse (graph traversal by graph or edge collections).

ParametersJSON Schema
NameRequiredDescriptionDefault
start_vertexYes
directionNoOUTBOUND
min_depthNo
max_depthNo
graphNo
edge_collectionsNo
return_pathsNo
limitNo
databaseNoDatabase override

TDQS

C2.1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided and the description lacks any behavioral details such as performance, side effects, limits, or result structure. The agent has no insight into the tool's behavior beyond being an alias.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short but fails to provide substantial information. It is terse rather than concise, offering minimal value beyond stating it is an alias.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of graph traversal with 9 parameters, the description is severely inadequate. It does not explain what the tool does, its inputs, outputs, or how it differs from similar tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 11%, with only the 'database' parameter having a description. The tool description does not explain any parameters, leaving the agent without guidance on how to fill them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it is an alias for arango_traverse, which identifies the tool's function as graph traversal. However, it does not elaborate on what traversal means in this context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus arango_traverse or other traversal tools. The description only notes it is an alias, leaving the agent without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_insertC

Insert a document into a collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYes
documentYes
databaseNoDatabase override

TDQS

C2.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description fails to disclose any behavioral traits such as error handling, duplicate handling, or side effects. The agent has no warning about possible failures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. However, it could be slightly more informative without sacrificing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, and the description does not explain return values, success/failure behavior, or any context about insertion behavior (e.g., collection must exist). Incomplete for a data mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is low (33%), and the description adds no parameter details. It does not explain 'collection' or 'document' beyond their names and types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Insert a document into a collection', which is a specific verb-resource pair. It distinguishes from sibling tools like arango_bulk_insert, arango_update, arango_remove.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., bulk insert, update, remove). No exclusion criteria or prerequisites mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_insert_with_validationC

Insert a document after validating its reference fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYes
documentYes
reference_fieldsNo
databaseNoDatabase override

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must fully disclose behavioral traits. It states the core behavior (insert after validation) but omits critical details: what happens if validation fails (error? partial insert?), whether the operation is atomic, permission requirements, or side effects. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (one sentence, 7 words) and front-loaded with the main action. However, it is overly terse given the tool's complexity and lack of annotations; a few more sentences would improve clarity without compromising conciseness. Scores at the middle of the range.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, 2 required, no output schema, sibling tools), the description is incomplete. It does not explain what 'validating reference fields' entails, how 'reference_fields' parameter is used, what the return value is, or error handling. An agent needs more context to use this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25%, yet the description adds no meaning to any of the 4 parameters. The description does not mention 'collection', 'document', 'reference_fields', or 'database', leaving the agent to infer their roles solely from names. Baseline for low coverage and no param info is 2.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: 'Insert a document after validating its reference fields.' It specifies the verb (insert), resource (document), and the unique aspect (validation of reference fields), distinguishing it from sibling tools like 'arango_insert' (plain insert) and 'arango_validate_document' (only validation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool over alternatives (e.g., arango_insert, arango_validate_references). The description implies usage when validation is desired before insert, but does not provide criteria, exclusions, or mention of when validation might be unnecessary or when to combine other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_list_available_databasesA

List all configured databases available for multi-tenancy operations.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It only states the action without disclosing that it is read-only, has no side effects, or any authentication or permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no wasted words. Every word contributes to the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters and no output schema, the description is adequate but minimal. It does not specify what information is returned (e.g., database names) or how the list is ordered, which could be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters and schema coverage is 100%. The description adds meaning by explaining the tool's purpose beyond the empty schema, meeting the baseline of 4 for no-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'databases', with a qualifier 'available for multi-tenancy operations' that distinguishes it from database-specific tools like arango_get_focused_database or arango_database_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus siblings such as arango_get_focused_database or arango_list_collections. The context for multi-tenancy operations is implied but not explicitly contrasted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_list_collectionsB

List non-system collection names.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNoDatabase override

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only mentions listing non-system collection names without disclosing behaviors like read-only, permission requirements, or output details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise at four words, no wasted text; purpose is immediately clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter, the description is adequate but omits output format or any notes about system collections; could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers the single parameter (database) with description, so the description adds no extra meaning; baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (list) and the resource (non-system collection names), distinguishing it from sibling tools like arango_list_graphs or arango_list_indexes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as arango_list_available_databases or arango_list_graphs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_list_graphsB

List available graphs in the database.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNoDatabase override

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits like read-only nature, permissions, or performance. The word 'list' implies a read operation, but this is not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, clear sentence with no wasted words. It is appropriately sized for a simple listing tool with one optional parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity tool with one optional parameter and no output schema, the description is minimally complete. It tells the agent what the tool does, but lacks behavioral context that annotations would typically provide.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the 'database' parameter. The description adds no additional meaning beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List available graphs in the database' clearly identifies the verb (list) and resource (graphs). It distinguishes from siblings like arango_create_graph or arango_graph_traversal, but does not explicitly differentiate from other list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as arango_list_collections or arango_list_indexes. The description only states functionality without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_list_indexesB

List indexes for a collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYesCollection name to list indexes for
databaseNoDatabase override

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It only says 'List indexes', implying a read operation, but doesn't disclose any behavioral traits such as read-only nature, performance impact, or pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with no wasted words. Front-loaded with the action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no output schema, the description is mostly adequate. However, it does not mention the return format (array of index definitions), which a new agent might benefit from.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond what the schema already provides for the 'collection' and 'database' parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states 'List indexes for a collection.' Clearly identifies the verb (List) and resource (indexes for a collection). Distinguishes from sibling tools like arango_create_index and arango_delete_index.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, or when to avoid it. The description provides no context about prerequisites or complementary tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_list_tools_by_categoryA

List all MCP tools organized by category. Useful for understanding tool organization and selecting workflow-specific tool sets.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoCategory to filter by. If None, returns all categories with their tools.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It accurately describes the listing behavior but does not disclose potential side effects (though listing should be safe), authorization needs, or any internal state changes. It is minimal but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the core purpose without any redundant or superfluous text. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool simplicity and absence of output schema, the description sufficiently conveys the high-level behavior. However, it does not specify the structure of the output (e.g., category names, tool names), which could be helpful for an agent to process the result. It is mostly complete but lacks minor detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter description in the schema already explains the behavior (filtering by category, returns all if None). The tool description adds no additional semantic value beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (list) and resource (MCP tools organized by category). It distinguishes from sibling tools like arango_search_tools by indicating it lists all tools by category for browsing, which is a distinct purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a general usage hint ('useful for understanding tool organization and selecting workflow-specific tool sets') but does not explicitly compare to siblings or state when not to use. The guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_list_workflowsB

List all available workflow contexts with their descriptions and optional tool lists.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_toolsNoInclude tool lists for each context

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description should disclose behavioral traits like read-only nature or auth requirements. It only states what it lists, without mentioning side effects or limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundancy, perfectly concise for the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one optional parameter and no output schema. The description is adequate but could mention that returned tool lists are optional and what 'descriptions' entails.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single boolean parameter. The description does not add any extra meaning beyond the schema's description of the parameter. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'all available workflow contexts' with their descriptions and optional tool lists. It distinguishes from other list siblings since it's specific to workflows.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool vs alternatives like arango_get_active_workflow or arango_switch_workflow. No context on prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_queryC

Execute an AQL query with optional bind vars and return rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesAQL query string
bind_varsNoOptional bind variables for the AQL query
databaseNoDatabase override

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It fails to mention that the query can modify data (destructive potential) or that it is read-only for certain query types. The description is too generic and does not address safety or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that communicates the essential action and key parameters. It is front-loaded and efficient, though it could include additional details without becoming overly long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, no output schema), the description is incomplete. It does not explain the return format (e.g., array, cursor), pagination, limits, or potential performance implications. This is a significant gap for a query execution tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds 'optional bind vars' which is already in the schema. No additional meaning is provided for 'query' or 'database' parameters beyond what the schema already describes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool executes an AQL query and returns rows, using a specific verb and resource. It distinguishes from sibling tools like arango_explain_query and arango_query_profile, but could be more explicit about its role versus these alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like arango_explain_query or arango_query_profile. The description does not mention use cases or exclusions, leaving the agent to infer based on the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_query_builderB

Build and execute a simple AQL query from filters, sort, and limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYes
filtersNo
sortNo
limitNo
return_fieldsNoFields to project; omit for full doc
databaseNoDatabase override

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It states 'execute' but does not clarify whether the tool is read-only or modifies data, nor does it mention side effects, authentication needs, or rate limits. This is insufficient for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that bundles two actions ('build and execute'). While concise, it could benefit from a brief breakdown of the key steps or a note on the output. It is not front-loaded with the most critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters, nested objects, no output schema, and no annotations, the description is too minimal. It does not explain what the returned data looks like, error handling, or how 'execute' affects data. The description is incomplete for an agent to use the tool reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is low (33%), with only return_fields and database having descriptions. The tool description mentions 'filters, sort, and limit' but adds no extra meaning beyond their names. The nested schema for filters and sort is detailed but the description does not explain how to use them effectively, failing to compensate for the low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Build and execute a simple AQL query from filters, sort, and limit.' It uses a specific verb-resource pair ('build and execute' + 'AQL query') and distinguishes from siblings like arango_query (raw AQL) and arango_explain_query (query explanation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies it's for 'simple' queries, offering some guidance on scope, but does not explicitly state when to use this tool versus alternatives like arango_query or when not to use it (e.g., for complex queries or graph traversals).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_query_profileC

Explain a query and return plans/stats for profiling.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
bind_varsNo
max_plansNo
databaseNoDatabase override

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description bears full burden. It states 'return plans/stats' but does not mention read-only nature, required permissions, or potential side effects. For a profiling tool, safety traits are essential but omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise but at the expense of missing critical details. It is appropriately sized for a simple tool but could include more information without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and low schema coverage, the description is incomplete. It does not clarify return value structure, bind variable syntax, or how to use 'database' override. A profiling tool typically needs more context for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25% (only 'database' has a description). The description adds no detail on 'query', 'bind_vars', or 'max_plans'. The term 'plans' vaguely relates to 'max_plans' but does not explain meaning or default behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool explains a query and returns plans/stats for profiling. However, it does not explicitly differentiate from sibling tool 'arango_explain_query', which may also explain queries. The phrase 'for profiling' hints at but does not guarantee distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'arango_explain_query' or 'arango_query'. No prerequisites, when-not-to-use, or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_removeB

Remove a document by key in a collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYesName of the collection containing the document
keyYesDocument key to remove
databaseNoDatabase override

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral load. It only states 'Remove' without disclosing whether the operation is destructive, what happens if the key doesn't exist, whether permission checks are required, or what the return value is.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence that is front-loaded with the verb and key intent. It is concise but could benefit from a bit more structure (e.g., separating conditions or return info).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (3 params, no output schema), the description is incomplete. It omits crucial details such as behavior on missing keys, return format, and error handling, which are essential for an agent to use it correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds 'by key in a collection' which matches the parameters but does not provide additional semantic nuance. The database parameter's description ('Database override') adds minimal context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Remove' and the resource 'a document by key in a collection'. It distinguishes from sibling tools like arango_insert and arango_update by explicitly focusing on removal by key.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs. alternatives (e.g., arango_bulk_insert for batch operations). The description lacks any context about prerequisites or conditions for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_restore_graphC

Import graph data with referential integrity validation and conflict resolution.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputDirYesDirectory containing graph backup files
graphNameNoTarget graph name (defaults to original name from backup)
conflictResolutionNoHow to handle conflicts: skip existing, overwrite, or errorerror
validateIntegrityNoValidate referential integrity during restore
databaseNoDatabase override

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description must carry the full burden. It mentions validation and conflict resolution but does not disclose that this is a restore operation from a backup, whether it is destructive (overwrites existing graph), or what permissions are needed. The behavior of conflict resolution (skip/overwrite/error) is hinted but not fully explained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise and to the point. However, it is vague and could be improved by specifying the source (backup directory) and what 'import' means in this context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is present, so the description should explain return values or success/failure indicators. It does not. The description also fails to mention that the tool restores from a backup, which is critical context. Given the complexity (5 params, restore operation), the description is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter is already well documented in the schema. The description adds only a high-level summary ('validation and conflict resolution') which does not provide new meaning beyond the structure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it imports graph data with validation and conflict resolution. However, it does not explicitly mention that it restores from a backup, which is the core action. This could cause confusion with importing data from other sources, especially given siblings like arango_create_graph.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus siblings such as arango_create_graph, arango_backup_graph, or arango_validate_graph_integrity. There are no prerequisites mentioned, e.g., that a backup must exist at inputDir.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_search_toolsA

Search for MCP tools by keywords and categories. Enables progressive tool discovery by returning only relevant tools instead of loading all 34 tools upfront.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsYesKeywords to search for in tool names and descriptions
categoriesNoFilter by categories: core_data, indexing, validation, schema, query, graph_basic, graph_advanced, aliases, health
detail_levelNoLevel of detail: 'name' (just names), 'summary' (names + descriptions), 'full' (complete schemas)summary

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description adequately conveys the read-only nature (search/filter) and parameter effects, but does not specify return format or side effects, which is acceptable for a simple query tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise, front-loaded sentences with no filler. Every word earns its place, efficiently conveying purpose and benefit.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description, combined with thorough schema parameter descriptions, provides sufficient context for a search/filter tool. It lacks return format details but given the detail_level parameter, the behavior is predictable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions. The description adds framing but no new semantic detail beyond what the schema already provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for MCP tools by keywords and categories, and it distinguishes itself from siblings like arango_list_tools_by_category by emphasizing progressive discovery and avoiding loading all 34 tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly guides use by stating it enables progressive discovery instead of loading all tools, but does not explicitly mention when not to use or compare with alternatives like listing all tools by category.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_set_focused_databaseA

Set the focused database for the current session. All subsequent tool calls will use this database unless overridden with the database parameter. Pass None or empty string to unset the focused database and revert to default database resolution.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNoDatabase key to set as focused database for this session. Use None or empty string to unset the focused database.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It explains the session-wide effect and how to revert. It does not mention authorization or scope details, but for a simple setter, this is sufficient. Slight gap on whether the focus persists across different connections.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, efficient and front-loaded. Every sentence provides essential information: first states the action, second explains the effect and how to unset. No unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (single optional parameter, no output schema, no annotations), the description is largely complete. It covers setting, unsetting, and the session scope. One could argue it could mention whether the focus applies only to the current connection, but it's a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter fully described). The description adds meaningful context by explaining that setting the database affects all subsequent tool calls unless overridden, which goes beyond the schema description. This helps the agent understand the parameter's impact.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: setting the focused database for the current session. It specifies the verb 'set', the resource 'focused database', and the scope 'current session', distinguishing it from sibling tools like 'arango_get_focused_database'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (to set a focused database) and when to unset it (pass None or empty string). It also mentions that subsequent calls will use this database unless overridden, providing context. However, it does not explicitly mention alternatives like using the 'database' parameter directly on each tool call.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_shortest_pathC

Compute the shortest path between two vertices (by graph or edge collections).

ParametersJSON Schema
NameRequiredDescriptionDefault
start_vertexYes
end_vertexYes
directionNoOUTBOUND
graphNo
edge_collectionsNo
return_pathsNo
databaseNoDatabase override

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for behavioral disclosure. It does not state whether the tool returns just the distance, the full path, or both (though the 'return_paths' parameter hints at it). It also fails to mention algorithm type, performance characteristics, or requirements like graph existence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but overly brief. It front-loads the core purpose but omits necessary details, making it under-specified rather than efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, low schema coverage, no output schema, and no annotations, the description is incomplete. It does not explain return values, error conditions, prerequisites (e.g., graph must exist), or the expected behavior when both graph and edge_collections are null.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 14% (only 'database' has a description). The description adds minimal value beyond the schema, stating 'by graph or edge collections' but not clarifying the mutual exclusivity or required conditions for these parameters. Parameters like 'direction' and 'return_paths' lack additional context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes shortest paths between two vertices. It mentions two modes (graph or edge collections), which hints at flexibility. However, it does not differentiate from sibling tools like arango_graph_traversal or arango_traverse that also handle path computations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., arango_graph_traversal). The description lacks explicit when-to-use or when-not-to-use instructions, and no prerequisites or context are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_switch_workflowA

Switch to a different workflow context with a predefined set of tools. Enables Workflow Switching pattern for workflow-specific tool sets.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYesWorkflow context to switch to

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description explains the tool enables a switching pattern but does not disclose side effects, authorization needs, or state changes beyond the basic function. Partial transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no fluff. Front-loaded with the main action. Every sentence is informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one required parameter, no output schema), the description adequately covers the purpose and pattern. Complete for the scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with enum list. Description adds minimal extra meaning beyond the schema. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'switch' and resource 'workflow context'. Distinguishes from siblings like 'arango_advance_workflow_stage' by implying a different action (switching vs advancing).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for switching workflow contexts but provides no explicit when-to-use or when-not-to-use guidance. No alternatives mentioned despite related sibling 'arango_advance_workflow_stage'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_traverseC

Traverse graph from a start vertex with depth bounds (by graph or edge collections).

ParametersJSON Schema
NameRequiredDescriptionDefault
start_vertexYes
directionNoOUTBOUND
min_depthNo
max_depthNo
graphNo
edge_collectionsNo
return_pathsNo
limitNo
databaseNoDatabase override

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description does not disclose behavioral traits beyond the basic operation. Without annotations, it fails to mention that traversal is read-only, what the output contains (e.g., paths, vertices), or any side effects. The single sentence is insufficient for an agent to understand the tool's full behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. It wastes no words, but could benefit from structuring to include more detail without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters, no output schema, and no annotations, the description is too sparse. It lacks details on output format, parameter constraints, and edge cases, leaving significant gaps for an agent to correctly use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning for start_vertex, min_depth/max_depth, and graph/edge_collections by mentioning 'start vertex' and 'depth bounds (by graph or edge collections)'. However, it does not explain direction, return_paths, or limit, and schema coverage is only 11%. The added value is partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool traverses a graph starting from a vertex with depth bounds, and specifies two ways to define the graph (by graph name or edge collections). However, it does not explicitly differentiate from sibling tools like arango_graph_traversal or arango_shortest_path, missing a chance to distinguish.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like arango_graph_traversal or arango_shortest_path. There is no mention of prerequisites, context, or typical use cases, leaving the agent without decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_unload_toolsA

Manually unload specific tools from the active context. Useful for fine-grained control over tool lifecycle.

ParametersJSON Schema
NameRequiredDescriptionDefault
tool_namesYesList of tool names to unload from active context

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Only mentions 'unload', which implies deletion, but lacks details on side effects, reversibility, or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise and front-loaded with the main action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but the tool is simple with one parameter. Description could elaborate on what 'active context' means or post-unload state.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers the parameter with description, and the tool description does not add significant new meaning beyond what's in the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'unload' and resource 'specific tools from the active context'. Distinguishes from siblings as no other tool unloads tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides usage context: 'Manually unload specific tools...' but does not explicitly specify when not to use or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_updateB

Update a document by key in a collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYesName of the collection containing the document
keyYesDocument key to update
updateYesFields to update in the document
databaseNoDatabase override

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It only states the basic update action but does not disclose whether it performs a partial merge or full replacement, what happens to missing fields, or if permissions are required. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. However, it could incorporate additional context (e.g., merge behavior) without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and four parameters (including a nested object), the description is too minimal. It does not explain the return value, error scenarios, or how the update interacts with the document schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage with descriptions for all four parameters. The description adds no extra meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Update a document by key') and the resource ('in a collection'). It is specific and distinguishes from sibling tools like arango_insert, arango_remove, and arango_bulk_update.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as arango_bulk_update for multiple documents or arango_query for complex updates. No when-not-to-use or context hints are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_validate_documentC

Validate a document against a stored or inline JSON Schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYes
documentYes
schema_nameNoName of stored schema to use
schemaNoInline JSON Schema to validate against
databaseNoDatabase override

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It only says 'Validate a document' but does not disclose what happens on failure (e.g., error vs boolean), whether it is read-only, or any side effects. This is a significant gap for a validation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, very concise. However, it is borderline under-specified; still, it is efficient with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description fails to explain the return value (e.g., validation errors or success indicator). It also omits behavior details like mutual exclusivity of schema_name and schema. For a 5-parameter tool, this inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60% (3 of 5 parameters have descriptions). The description adds no extra meaning beyond what the input schema already provides, such as the relationship between schema_name and schema or constraints on these parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool validates a document against a stored or inline JSON Schema. It uses a specific verb and resource, but does not explicitly distinguish from sibling tools like arango_insert_with_validation, though the purpose is fairly distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as arango_insert_with_validation or when to use stored vs inline schema. No prerequisites or exclusions provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_validate_graph_integrityC

Verify graph consistency, orphaned edges, and constraint violations.

ParametersJSON Schema
NameRequiredDescriptionDefault
graphNameNoSpecific graph to validate (if not specified, validates all graphs)
checkOrphanedEdgesNoCheck for edges with missing vertices
checkConstraintsNoValidate graph constraints and edge definitions
returnDetailsNoReturn detailed violation information
databaseNoDatabase override

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full burden. It implies a read-only operation, but does not disclose whether the operation is destructive, performance impact, or any side effects. Minimal behavioral context beyond basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, very concise with no wasted words. It could be slightly more structured, but it is efficiently front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description does not explain return values or how to interpret results. Given the complexity of validating graph integrity with multiple options, the description is insufficient for complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% as all five parameters have descriptions in the input schema. The description adds no additional meaning beyond what the schema already provides, meriting the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool verifies graph consistency, orphaned edges, and constraint violations. It uses a specific verb and resource, distinguishing it from traversal or document validation tools among siblings, though it does not explicitly differentiate from other validation tools like validate_references.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites or exclusions provided. The description only states what it does, not when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arango_validate_referencesB

Validate that documents in a collection have valid references in specified fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYes
reference_fieldsYes
fix_invalidNo
databaseNoDatabase override

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description bears full responsibility for transparency. It mentions a 'fix_invalid' parameter but does not clarify whether this modifies documents (destructive) or is read-only, nor does it describe error handling or output format. The behavior beyond validation is opaque.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, making it very concise and front-loaded. However, it is too brief to convey necessary details, trading off completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and only basic parameter information, the description is incomplete. It does not specify return values, side effects (e.g., when fix_invalid is true), or prerequisite conditions. The tool's behavior is inadequately explained for an AI agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25%, and the description adds no parameter-level details. It references 'specified fields' for reference_fields but does not explain their format or meaning. The fix_invalid parameter is mentioned but not elaborated. The description fails to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'validate' and resource 'documents in a collection have valid references in specified fields'. It differentiates from siblings like arango_validate_document (single document) and arango_validate_graph_integrity (graph structure) by focusing on cross-document reference validation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for validating references across documents, but it does not explicitly state when to use it versus alternatives like arango_validate_document or arango_validate_graph_integrity. No usage context or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, but several aliases (e.g., arango_add_vertex as alias for arango_insert, arango_graph_traversal as alias for arango_traverse) create potential confusion, as an agent may select the wrong tool if unaware of the alias.

Naming Consistency4/5

The majority of tools follow a consistent arango_verb_noun pattern. However, minor inconsistencies exist, such as mixing 'add' and 'create' (e.g., arango_add_edge vs arango_create_collection) and using noun_noun for arango_query_builder.

Tool Count2/5

With 46 tools, the server has significantly more than the ideal range. While the domain is broad, many tools are workflow management or backup-related, and the presence of aliases adds redundancy, making tool selection more complex.

Completeness4/5

The tool set covers a wide range of ArangoDB operations including CRUD, graph management, indexing, schema validation, querying, backup/restore, and multi-tenancy. Minor gaps like lack of transaction support are acceptable for an MCP server.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PCfVW/mcp-arangodb-async'

If you have feedback or need assistance with the MCP directory API, please join our Discord server