[FEATURE] Add Azure DocumentDB vector search tool integration
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 58.8k
- Forks
- 8.5k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 109
Description
Feature Area
Integration with external tools
Is your feature request related to a an existing bug? Please link it here.
CrewAI currently has a MongoDBVectorSearchTool, but there is no dedicated tool integration for Azure DocumentDB.
Azure DocumentDB is a fully managed NoSQL database service with MongoDB compatibility and native vector search capabilities. Users building RAG agents on Azure DocumentDB currently need to write custom retrieval code instead of using a first-class CrewAI tool.
A dedicated AzureDocumentDBVectorSearchTool would make it easier to use Azure DocumentDB as a vector store for CrewAI agents while keeping the integration clearly scoped to Azure DocumentDB configuration, documentation, authentication, indexing, and vector search behavior.
Describe the solution you'd like
Add a new Azure DocumentDB vector search tool to crewai-tools, separate from the existing MongoDBVectorSearchTool.
Proposed public API:
- AzureDocumentDBVectorSearchTool
- AzureDocumentDBVectorSearchConfig
- AzureDocumentDBToolSchema
The tool should support:
- Connecting to Azure DocumentDB using a connection string
- Selecting database and collection
- Generating embeddings using the existing CrewAI/OpenAI or Azure OpenAI embedding pattern
- Adding text documents with metadata and embeddings
- Creating or documenting the required Azure DocumentDB vector index configuration
- Running vector similarity search against Azure DocumentDB
- Returning JSON-serializable search results for CrewAI agents
- Optional query configuration such as limit, filters, score output, and whether to include embeddings
This should be implemented as a new tool package, for example:
crewai_tools/tools/azure_documentdb_vector_search_tool/
The README should include setup instructions, required Azure DocumentDB resource configuration, environment variables, ingestion example, and CrewAI Agent usage example.
Reference Azure DocumentDB docs:
https://learn.microsoft.com/en-us/azure/documentdb/
Describe alternatives you've considered
An alternative is to use the existing MongoDBVectorSearchTool because Azure DocumentDB has MongoDB compatibility. However, that tool is branded and documented for MongoDB/Atlas and uses MongoDB-specific assumptions.
Another alternative is for users to write custom retrieval code outside CrewAI, but that creates duplicated boilerplate for connection handling, embeddings, indexing guidance, ingestion, and query execution.
A dedicated Azure DocumentDB tool would provide a clearer user experience for Azure users and allow Azure-specific documentation, examples, configuration, and future enhancements without overloading the MongoDB integration.
Additional context
Azure DocumentDB documentation describes vector search and embeddings support:
https://learn.microsoft.com/en-us/azure/documentdb/
Related Azure DocumentDB vector search quickstarts:
- https://learn.microsoft.com/en-us/azure/documentdb/quickstart-python-vector-search
- https://learn.microsoft.com/en-us/azure/documentdb/quickstart-nodejs-vector-search
- https://learn.microsoft.com/en-us/azure/documentdb/quickstart-dotnet-vector-search
Existing CrewAI tool for reference:
https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools/src/crewai_tools/tools/mongodb_vector_search_tool
The goal is not to modify the MongoDB extension, but to add a new Azure DocumentDB integration with its own name, README, examples, optional dependency, and tests.
Willingness to Contribute
Yes, I'd be happy to submit a pull request
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the existing crewai_tools/tools/mongodb_vector_search_tool/ package and the linked Azure DocumentDB vector-search quickstarts first. Define the new package around the proposed public API, Azure connection and vector-search requirements, then add its README, examples, optional dependency, and tests. Done means the integration supports ingestion and JSON-serializable search results without modifying the MongoDB tool.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, python
- Domain
- ai, database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100