In this tutorial, you build a crew that includes an AI agent that can analyze PDF documents by using the MongoDB Vector Search Tool.
To learn more about the MongoDB CrewAI integration, see Integrate MongoDB with CrewAI.
Prerequisites
To complete this tutorial, you must have the following:
CrewAI installed. To learn more, see Installation.
One of the following:
An Atlas cluster running MongoDB version 6.0.11, 7.0.2, or later. Ensure that your IP address is included in your Atlas project's access list.
A local Atlas deployment created using the Atlas CLI. To learn more, see Deploy a Local Atlas Cluster.
An OpenAI API Key. You must have an OpenAI account with credits available for API requests. To learn more about registering an OpenAI account, see the OpenAI API website.
Note
Python version compatibility might vary from CrewAI's official
documentation. At the time of writing, the crewai-tools
package depends on
embedchain
, which requires a Python version between
3.9 and 3.13.2 (inclusive).
Build and Run the Crew
Complete the following steps to build and run the crew:
Set up the environment.
Run the following commands in your terminal to create a new directory named
crewai-mongodb-project
and install the required dependencies:mkdir crewai-mongodb-project cd crewai-mongodb-project pip install 'crewai-tools[mongodb]' python-dotenv langchain-community In your project, create a
.env
file and add the following lines:OPENAI_API_KEY="<openai-api-key>" MONGODB_URI="<connection-string>" Note
Replace
<connection-string>
with the connection string for your Atlas cluster or local Atlas deployment.Your connection string should use the following format:
mongodb+srv://<db_username>:<db_password>@<clusterName>.<hostname>.mongodb.net To learn more, see Connect to a Cluster via Drivers.
Your connection string should use the following format:
mongodb://localhost:<port-number>/?directConnection=true To learn more, see Connection Strings.
Build the crew.
Create a file named main.py
in your project and paste
the following code:
from crewai import Agent, Task, Crew, Process, LLM from crewai_tools import MongoDBVectorSearchTool, MongoDBVectorSearchConfig from langchain_community.document_loaders import PyPDFLoader from dotenv import load_dotenv import os, time load_dotenv() def rag_agent(): """ An agent that uses RAG to analyze recent MongoDB announcements. """ # Configure the vector search tool tool = MongoDBVectorSearchTool( connection_string = os.environ.get("MONGODB_URI"), database_name = "crewai_db", collection_name = "test" ) # Connect to MongoDB collection and delete all documents coll = tool._coll coll.delete_many({}) # Load PDF from URL and insert documents into MongoDB print("Loading MongoDB AI announcements PDF...") loader = PyPDFLoader("https://investors.mongodb.com/node/13556/pdf") tool.add_texts([i.page_content for i in loader.load()]) # Create the vector search index print("Creating vector search index...") if not any([ix["name"] == "vector_index" for ix in coll.list_search_indexes()]): tool.create_vector_search_index(dimensions=1536, auto_index_timeout=60) # Wait for index initial sync to complete n_docs = coll.count_documents({}) start = time.monotonic() while time.monotonic() - start <= 60: if len(tool._run("test query")) == n_docs: print("Index is ready for queries") break else: time.sleep(1) # Specify a custom vector search query (optional) tool.query_config = MongoDBVectorSearchConfig( limit=3, score_threshold=0.75 ) # Test the tool print("Testing the tool...") print(tool.run(query="AI announcements")) # Assemble a crew by specifying an agent and its task researcher = Agent( role="MongoDB Announcement Researcher", goal="Find and extract key information about MongoDB's recent announcements and developments", backstory="You're specialized in analyzing business and technology announcements", verbose=False, tools=[tool], llm=LLM(model="gpt-4o"), # Customize to your LLM of choice ) research_task = Task( description="Research MongoDB's recent AI announcements and developments", expected_output="A summary of MongoDB's latest AI initiatives, partnerships, and features", agent=researcher, ) crew = Crew( agents=[researcher], tasks=[research_task], process=Process.sequential, verbose=False ) # Get the results and print the analysis print("Running the crew...") result = crew.kickoff() print("\n" + "="*50 + "\nMONGODB AI ANNOUNCEMENTS ANALYSIS:\n" + "="*50) print(result.raw) return result if __name__ == "__main__": rag_agent()
This script does the following:
Loads a MongoDB AI announcements PDF, ingests each page's text into the
crewai_db
database andtest
collection, and creates an MongoDB Vector Search index on the collection.Defines additional vector search query parameters and performs a quick test query.
Defines a CrewAI agent with the vector search tool and describes its role, goal, and backstory.
Defines a task for the agent to research and summarize MongoDB's recent AI announcements.
Assembles the crew by specifying the agent and task. Then, it runs the crew and prints the results.
Run the file.
Run the following command to execute the script:
uv run main.py
Loading MongoDB AI announcements PDF... Creating vector search index... Testing the tool... Using Tool: MongoDBVectorSearchTool [{"_id": {"$oid": "689baa5e6907244d329d0586"}, "text": "MongoDB Strengthens Foundation for AI Applications with Product Innovations and Expanded\nPartner Ecosystem\nAugust 11, 2025\nNew Voyage AI models introduce context awareness and set new accuracy benchmarks\u2014at industry-leading price-performance\nMongoDB's AI ecosystem expands AI framework, agentic evaluation, and agentic workflow orchestration capabilities\nApproximately 8,000 startups, including Laurel and Mercor, have chosen MongoDB to help build their AI projects ... (truncated) Running the crew... ================================================== MONGODB AI ANNOUNCEMENTS ANALYSIS: ================================================== **MongoDB Strengthens Foundation for AI Applications with Product Innovations and Expanded Partner Ecosystem** **August 11, 2025** MongoDB announced a range of product innovations and AI partner ecosystem expansions at Ai4 2025 to make it faster and easier for customers to build accurate, trustworthy, and reliable AI applications at scale. The company is providing industry-leading embedding models and a fully integrated, AI-ready data platform, alongside assembling a world-class ecosystem of AI partners to deliver reliable and cost-effective AI solutions. **Key Highlights from AI Initiatives:** ### AI Innovations: - **Voyage AI Models**: - MongoDB introduced context-aware embedding models, achieving better retrieval accuracy without requiring metadata hacks or pipeline gymnastics. - New model variants, such as **voyage-context-3**, **voyage-3.5**, and **voyage-3.5-lite**, deliver groundbreaking retrieval accuracy at competitive price-performance metrics. - **Instruction-following reranking models** like `rerank-2.5` and `rerank-2.5-lite` enable developers to improve retrieval accuracy further. - **MongoDB MCP Server**: - Launched as a public preview, the MongoDB Model Context Protocol (MCP) Server enables direct integration with popular tools like GitHub CoPilot in Visual Studio Code, Anthropic's Claude, Cursor, and Windsurf. - Thousands of users have been actively building applications leveraging this new protocol. ### Partnerships: MongoDB expanded its AI partner ecosystem to provide customers with streamlined workflows and reliable AI applications: - **Galileo**: - A reliability and observability platform for AI applications that offers continuous evaluations and monitoring for MongoDB-based projects. - **Temporal**: - A Durable Execution platform that empowers developers to orchestrate scalable, resilient AI use cases like retrieval-augmented generation (RAG) systems and context engineering pipelines. Temporal ensures that AI solutions can operate smoothly across distinct failures and interactions. - **LangChain**: - MongoDB's partnership with LangChain has facilitated advancements like natural language querying, agent-based system creation, and **GraphRAG** for enhanced LLM transparency. Developers can build sophisticated AI systems deploying real-time, proprietary MongoDB data. ### Developer Engagement: - MongoDB has seen substantial adoption among both startups and enterprises: - Approximately 8,000 startups selected MongoDB for AI projects, including Laurel (timekeeping startup) and Mercor (AI-based talent matching). - Large enterprises like Vonage, LGU+, and The Financial Times also rely on MongoDB for scalable AI infrastructure. ### Thought Leadership: Andrew Davidson, SVP of Products at MongoDB, emphasized the importance of robust database systems in the era of AI: - "Modern AI applications require a database combining advanced capabilities such as integrated vector search and embedding models. By consolidating the AI stack, MongoDB is empowering developers to deliver innovative AI solutions faster than ever." Fred Roma, SVP of Engineering, further highlighted the challenge of scaling AI due to complexity in fine-tuning models, high expenses, and integration barriers: - "MongoDB's focus remains on designing models that achieve better functionality, reliability, and affordability for developers leveraging AI applications." ### About MongoDB: MongoDB, headquartered in New York, provides a unified database platform powering next-gen applications across industries. Its comprehensive platform integrates operational data, search, real-time analytics, and AI-powered retrieval, supporting millions of developers globally. MongoDB boasts over 50,000 customers and supports a growing AI application ecosystem. For more information on MongoDB's AI endeavors, visit [mongodb.com](https://www.mongodb.com). ### Sources: Original announcement and additional multimedia available at [PRNewswire](https://www.prnewswire.com/news-releases/mongodb-strengthens-foundation-for-ai-applications-with-product-innovations-and-expanded-partner-ecosystem-302526003.html). Contact: **press@mongodb.com** for press inquiries.