
Vectra MCP Server
An MCP server providing tools to manage and query a Vectra knowledge base, enabling integration with MCP clients via a backend API.
what is Vectra MCP Server?
Vectra MCP Server is a Model Context Protocol (MCP) server designed for managing and querying a Vectra knowledge base, facilitating integration with MCP-compatible clients through a backend API.
how to use Vectra MCP Server?
To use the Vectra MCP Server, install the dependencies, build the server, and run it. You can then interact with the server using various tools provided for managing collections and querying the knowledge base.
key features of Vectra MCP Server?
- Create and manage Vectra collections.
- Embed texts and files into Vectra collections.
- Query collections using hybrid search capabilities.
- List and delete files within collections.
- Fetch specific nodes from the underlying ArangoDB database.
use cases of Vectra MCP Server?
- Managing a knowledge base for AI applications.
- Integrating with other MCP-compatible clients for data retrieval.
- Performing complex queries on a structured knowledge base.
FAQ from Vectra MCP Server?
- What programming language is Vectra MCP Server built with?
Vectra MCP Server is built using TypeScript.
- Is there a license for using Vectra MCP Server?
Yes, it is licensed under the AGPL-3.0 license.
- How can I contribute to the Vectra MCP Server?
You can contribute by submitting issues or pull requests on the GitHub repository.
Vectra MCP Server
A Model Context Protocol (MCP) server for interacting with a Vectra knowledge base.
This TypeScript-based MCP server provides tools to manage and query a Vectra instance, enabling integration with MCP-compatible clients. It interacts with a backend Vectra API (presumably running separately).
Features
Tools
This server exposes the following tools for interacting with Vectra:
create_collection
: Create a new Vectra collection.- Input:
name
(string, required),description
(string, optional)
- Input:
list_collections
: List existing Vectra collections.- Input: None
embed_texts
: Embeds multiple text items in batch into Vectra.- Input:
items
(array of objects withtext
(required) and optionalmetadata
),collectionId
(string, optional)
- Input:
embed_files
: Reads multiple local files and embeds their content into Vectra.- Input:
sources
(array of local file paths, required),collectionId
(string, optional),metadata
(object, optional - applies to all items)
- Input:
add_file_to_collection
: Add an already embedded file (referenced by its ID) to a specific Vectra collection.- Input:
collectionId
(string, required),fileId
(string, required)
- Input:
list_files_in_collection
: List files within a specific Vectra collection.- Input:
collectionId
(string, required)
- Input:
query_collection
: Query the knowledge base within a specific Vectra collection.- Note: This tool always uses hybrid search (vector + keyword) and enables graph search enhancement by default.
- Input:
collectionId
(string, required),queryText
(string, required),limit
(number, optional),maxDistance
(number, optional),graphDepth
(number, optional),graphRelationshipTypes
(array of strings, optional),includeMetadataFilters
(array of objects, optional),excludeMetadataFilters
(array of objects, optional)
delete_file
: Delete a file and its associated embeddings from Vectra.- Input:
fileId
(string, required)
- Input:
get_arangodb_node
: Fetch a specific node directly from the underlying ArangoDB database by its key.- Input:
nodeKey
(string, required - e.g.,chunk_xyz
ordoc_abc
)
- Input:
(Refer to src/tools.ts
for detailed input schemas)
Development
Install dependencies:
npm install
Build the server:
npm run build
Run the server (listens on stdio):
node build/index.js
For development with auto-rebuild:
npm run watch