Weaviate Vector Database: 6 Tools for AI-Native Applications
Weaviate is an open-source vector database that powers AI-native applications—RAG systems, semantic search, recommendation engines, and more. But how do you make a vector database accessible to AI agents? You can't just expose raw API endpoints and expect good results.
The answer: 6 focused tools organized around what developers actually do with vector databases. Not 20 tools covering every edge case. Not 3 tools that force you into awkward patterns. Just 6 tools that handle search, storage, browsing, and management—the core workflows every vector database application needs.
The Tool Architecture
Here's how we organized Weaviate into 6 focused tools:

Use Cases → Tools
"I need to search my documents semantically"
Use Case: Semantic search and retrieval
Tools: search, fetch
When you're building RAG applications or document search, you need to find relevant content based on meaning, not just keywords. This workflow gives you:
- Semantic search: Natural language queries that find relevant content by meaning
- Hybrid search: Combines semantic vectors with keyword matching for better results
- Smart retrieval: Fetch full documents or objects using smart IDs
Example workflow: Search "customer support policies" → Get ranked results with relevance scores → Fetch full document details → Use in RAG context
How it works:
searchperforms hybrid semantic + keyword search across your collections- Returns ranked results with IDs, titles, and relevance scores
fetchretrieves complete objects using smart IDs likeweaviate:object:Documents:uuid
"I want to store and retrieve data from my vector database"
Use Case: Data storage and retrieval
Tools: weaviate_upsert, fetch
Storing data in a vector database requires inserting objects and being able to retrieve them later. This workflow provides:
- Unified insert/update: One tool handles both inserts and updates, single items or batches
- Smart routing: Fetch any object, schema, or collection metadata using smart IDs
- Flexible operations: Insert new objects or update existing ones by providing IDs
Example workflow: Insert product documents → Update pricing information → Fetch specific product → Use in application
How it works:
weaviate_upsertaccepts data as arrays—[obj]for single,[obj1, obj2]for batch- Provide
idsarray for updates, omit for inserts fetchuses smart IDs:weaviate:object:Products:uuidfor objects,weaviate:schema:Productsfor schemas
"I need to browse and explore my vector database"
Use Case: Data exploration and discovery
Tools: weaviate_list_collections, weaviate_list_objects
Understanding what's in your vector database is essential for building applications. This workflow enables:
- Collection discovery: See all collections and their schemas
- Object browsing: Explore objects with filtering, sorting, and pagination
- Data inspection: Understand your data structure and content
Example workflow: List all collections → See collection schemas → Browse objects in a collection → Filter by property → Sort and paginate results
How it works:
weaviate_list_collectionsshows all collections with optional schema and object countsweaviate_list_objectsprovides granular control: search filtering, WHERE conditions, property selection, sorting, pagination- Both tools include rich metadata to help you understand your data
"I need to manage my vector database collections"
Use Case: Database administration and maintenance
Tools: weaviate_list_collections, weaviate_delete
Managing collections and cleaning up data is part of maintaining a healthy vector database. This workflow helps you:
- Collection management: See all collections, their schemas, and object counts
- Data cleanup: Delete individual objects, bulk delete, or remove entire collections
- Database inspection: Understand collection structure and data distribution
Example workflow: List collections → Check object counts → Delete outdated objects → Remove unused collections
How it works:
weaviate_list_collectionsprovides collection metadata and schema informationweaviate_deletesupports three modes: single object, bulk objects, or entire collection removal- Safety warnings for destructive operations (collection deletion is permanent)
Why Only 6 Tools?
We started with 10 tools covering every edge case. Then we realized: more tools doesn't mean better AI agent usage. Here's what we learned:
The Problem with 10 Tools
Initial design had separate tools for:
weaviate_insert_onevsweaviate_batch_insertvsweaviate_update_objectweaviate_get_schemaseparate from object fetchingweaviate_filterredundant withlist_objectsWHERE parameter
Result: AI agents had to choose between similar tools, leading to confusion and wrong tool selection.
The Solution: 6 Tools
Consolidated operations:
weaviate_upserthandles all insert/update operations (single or batch)fetchwith smart ID routing handles objects, schemas, and collections
Rich parameters:
weaviate_list_objectshas 8 parameters for granular control- Parameter descriptions explain not just what but when and why
Result: 40% fewer tools, zero functionality loss, clearer mental model.
The Mental Model
2 Universal Tools (work with any provider):
search- Semantic search following OpenAI MCP standardfetch- Smart ID routing for any resource type
4 Domain Tools (Weaviate-specific):
weaviate_list_collections- Collection discoveryweaviate_list_objects- Object browsingweaviate_upsert- Data storageweaviate_delete- Data removal
This clear separation helps AI agents understand: use universal tools for discovery, domain tools for operations.
How This Improves AI Agent Usage
When an AI agent connects to Weaviate through MCPBundles, it can now:
"Find documents about authentication"
→ Uses search for semantic search
→ Gets ranked results with relevance scores
→ Fetches full documents using fetch
"Store these product descriptions in my vector database"
→ Uses weaviate_upsert with data array
→ Automatically handles batch insertion
→ Returns IDs for later retrieval
"Show me what's in my Documents collection"
→ Uses weaviate_list_objects with collection name
→ Applies filtering and sorting
→ Returns paginated results
Instead of choosing between 10 similar tools, the AI uses the right tool for the workflow. This follows our bundle design philosophy where we organize tools around workflows, not API endpoints.
Smart Design Patterns
Smart ID Routing
Instead of separate tools for fetching objects vs schemas vs collections, we use one fetch tool with smart IDs:
weaviate:object:Products:uuid- Fetch a specific objectweaviate:schema:Products- Get collection schemaweaviate:collections:list- List all collections
The AI learns: "I can fetch different resource types by changing the ID format."
Unified Upsert
Instead of separate insert/update/batch tools, one weaviate_upsert tool handles everything:
- Insert mode: Omit
idsparameter → creates new objects - Update mode: Provide
idsarray → updates existing objects - Batch mode: Always use array format, even for single items
The AI learns: "Array format is always required, and IDs determine create vs update."
Rich Parameter Descriptions
Every parameter description explains not just what it is, but when to use it and why it matters:
Bad: "Maximum number of results"
Good: "Maximum number of results to return. Range: 1-100. Higher limits may impact performance but provide more comprehensive results. Default is 10, which is optimal for most use cases."
This approach follows our tool parameter design principles where descriptions teach AI agents how to use tools effectively.
Real-World Use Cases
RAG Application
Workflow: Store documents → Search semantically → Retrieve context
- Use
weaviate_upsertto store documents with embeddings - Use
searchto find relevant documents for queries - Use
fetchto get full document content for RAG context
Recommendation Engine
Workflow: Store user preferences → Search similar items → Return recommendations
- Use
weaviate_upsertto store user profiles and item data - Use
searchto find similar items based on user preferences - Use
weaviate_list_objectsto browse and filter catalog
Document Search
Workflow: Index documents → Search by meaning → Browse results
- Use
weaviate_upsertto index documents - Use
searchfor semantic search queries - Use
weaviate_list_objectsto browse and filter search results
Frequently Asked Questions
Q: Do I need all 6 tools?
No. Most applications use search, fetch, and weaviate_upsert for core workflows. weaviate_list_collections and weaviate_list_objects are for exploration and administration. weaviate_delete is for cleanup operations.
Q: Can I use Weaviate without vector embeddings?
Yes. Weaviate supports keyword-only search (BM25) if no vectorizer is configured. The search tool automatically falls back to BM25 when vectors aren't available.
Q: How do I know which collection to use?
Use weaviate_list_collections to see all available collections and their schemas. Each collection has its own schema defining properties and data types.
Q: What's the difference between search and list_objects?
search performs semantic/keyword search across collections and returns ranked results. weaviate_list_objects browses objects in a specific collection with filtering and sorting. Use search for discovery, list_objects for browsing.
Q: Can I update objects without knowing their IDs?
No. Updates require object IDs. Use search or weaviate_list_objects to find objects first, then use their IDs with weaviate_upsert for updates.
Try It Yourself
Weaviate is now available on MCPBundles with all 6 tools ready to use:
- Connect your Weaviate instance (instance URL and API key)
- Enable the Weaviate bundle
- Start building RAG applications with semantic search
The AI will automatically use the right tools based on your intent—search for semantic retrieval, upsert for storage, fetch for retrieval.
Want to see this in action? Try Weaviate semantic search free and build your first RAG application with AI-powered document retrieval.
The future of vector databases isn't exposing every API endpoint—it's organizing tools around workflows that AI agents understand. That's what our 6-tool design enables.