Skip to main content
Glama

qdrant_index_directory

Indexes a directory of code or documentation into a Qdrant collection, parsing source files and storing their content as vectors for semantic search.

Instructions

Index a directory of code or documentation into Qdrant.

This tool parses source files and adds their content as vectors to the specified collection for semantic search.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "path": "<path>",
      "collection": "<collection>"
    },
    "name": "qdrant_index_directory"
  }
}

Input Schema

NameRequiredDescriptionDefault
pathYesDirectory path to index
patternsNoFile patterns to include
collectionYesCollection name to index into (use unique name per project for data isolation)

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.3

TDQS

B3.2/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 the full burden. It describes the mechanism (parse files, add vectors) but not the consequences: whether existing vectors are overwritten or duplicated, whether the collection is created, expected runtime, 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.

Conciseness4/5

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

Two short sentences, front-loaded with the action and target. The second sentence largely restates the first with extra mechanism detail, so it is slightly redundant but not wasteful.

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 output schema exists, so return values need not be explained, and all parameters are documented. However, for a write/indexing operation with no annotations, more context was needed on idempotency, collection prerequisites, and how it differs from qdrant_reindex.

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 all three parameters (path, patterns, collection) are already documented with defaults. The description adds no meaning beyond the schema, which is the expected baseline when the schema does the heavy lifting.

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?

States a specific verb and resource: 'Index a directory of code or documentation into Qdrant,' and the second sentence clarifies that parsing and vector insertion are involved. It does not distinguish itself from the sibling qdrant_reindex, which an agent could confuse with this tool.

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?

Usage is implied: the agent can infer this is for an initial indexing pass over a directory. There is no explicit guidance on when to use this instead of qdrant_reindex, whether the collection must already exist, or whether re-running is safe.

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