← Back to the blog A walnut tray of glass marbles sorted into a gradient of colours, with a small cluster of matching teal marbles beside a brass loupe on a pale sage surface.

8 Best Vector Databases for AI Agents (October 2026)

Compare eight vector databases for AI agents on pricing, free tiers, hybrid search, filtering, self-hosting, and MCP servers.

A vector database stores embeddings of your documents and returns the ones closest in meaning to a query. For an agent, that is how it finds the right passage among thousands of files, tickets, or notes before it answers. The databases below differ in who runs them, how they bill, whether they also match exact keywords, and how well they filter by user, date, or source. Details were checked against each provider's official pages in October 2026.

What is the best vector database for AI agents?

If you already run Postgres, start with pgvector: your vectors sit next to the rows they describe, and filters are plain SQL. If you want nothing to operate, use Pinecone. Choose Qdrant or Weaviate for an open-source engine you can self-host or rent, turbopuffer for many namespaces at low storage cost, Milvus or Zilliz Cloud for very large collections, and Chroma or LanceDB to start inside your own process.

Database Consider it when you need… What to evaluate
Pinecone A managed service with nothing to operate Read-unit cost at your query volume, and the plan minimums
pgvector Vectors in the Postgres database you already run Recall and latency with filters once the table grows
Qdrant An open-source engine with rich payload filters and hybrid search Memory use at your size, and whether you self-host or rent
Weaviate Hybrid keyword and vector search with built-in embedding providers Cost per million vector dimensions on Flex
turbopuffer Many namespaces, such as one per user, on object storage Cold-query latency on namespaces that are rarely read
Milvus / Zilliz Cloud Very large collections and many index choices The operating work of self-hosted Milvus, or vCU cost on Zilliz
Chroma The quickest start, local first, cloud later Which search features you need from Chroma Cloud rather than local
LanceDB An embedded library for multimodal data and versioned tables Managed pricing, which we could not find published

How do vector databases compare on pricing and features?

The main differences are the billing unit (reads and writes, storage, compute, or vector dimensions), whether you can run the engine yourself, and whether keyword search is built in. All figures come from the linked official pages.

Database Free tier Paid pricing Open source and self-hosting Hybrid keyword and vector search Filtering and multi-tenancy MCP server
Pinecone Starter: 2 GB, 2M write units and 1M read units a month, 5 indexes, AWS us-east-1 only (pricing) Builder $20 a month flat; Standard $50 a month minimum, $0.33/GB storage, $16–$18 per million read units No; managed only Yes, dense and sparse in one index or two (hybrid docs) Metadata filters; namespaces, 100 per index on Starter Local developer server; hosted server per Assistant (docs)
pgvector Free extension, PostgreSQL License (repo) Whatever your Postgres host costs Yes; runs inside any Postgres that allows it Combine with Postgres full-text search and fuse the rankings yourself SQL WHERE; iterative index scans since 0.8.0 keep filtered queries from returning too few rows Not provided by the project
Qdrant 1 GB RAM, 4 GB disk cluster; suspended after 1 week unused (docs) Usage based, billed hourly for vCPU, memory, and storage; no starting price listed (pricing) Yes, Apache 2.0 (repo) Yes, sparse vectors fused with RRF or DBSF Keyword, full-text, range, and geo payload filters Official, stdio or HTTP (repo)
Weaviate 1 cluster, 100,000 objects, 1 GB memory, 10 GB disk (pricing) Flex from $45 a month; from $0.00465 per million vector dimensions and $0.12/GiB storage Yes, BSD-3-Clause for most of the code (repo) Yes, BM25 plus vector in one query Filters combined with search; multi-tenancy Built in from v1.38 at /v1/mcp (docs)
turbopuffer Not listed on the pages we checked Launch $16, Scale $256 a month minimum; storage up to $0.33/GB (pricing) No; managed, with BYOC on Enterprise Yes, vector and BM25 subqueries fused server-side with RRF (docs) Filters on an inverted index; unlimited namespaces (limits) Not listed on the pages we checked
Milvus / Zilliz Cloud Zilliz: 5 GB, 2.5M vCUs a month, 5 collections (docs) Serverless $4 per million vCUs (cost docs); Dedicated from $0.273 per CU-hour Milvus is Apache 2.0, from Lite to distributed (repo) Yes, BM25 and sparse vectors with dense Filters; isolation by database, collection, partition, or partition key Official, stdio, SSE, or streamable HTTP (repo)
Chroma Open source is free; Chroma Cloud Starter includes $5 of credits (pricing) $2.50/GiB written, $0.33/GiB-month stored, $0.0075/TiB queried; Team $250 a month Yes, Apache 2.0 (repo) On Chroma Cloud, dense and sparse fused with RRF (docs) Metadata and document-text filters From Chroma, local, self-hosted, or Cloud (repo)
LanceDB Open source is free Not stated on the pages we checked Yes, Apache 2.0 embedded library (repo) Yes, full-text, hybrid, and reranking (docs) Filters and SQL Not listed on the pages we checked

What does an AI agent need from a vector database?

An agent needs the right passages back in few tokens, results limited to what the person asking may see, and new material it can find minutes after it was written. Consider this request:

What did we decide about refunds on annual plans for EU customers? Check the support tickets, Slack threads, and meeting notes from this year, and link the source for each point.

That single request touches four capabilities:

  • Semantic search: a ticket that says "money back on the yearly plan" should match "refunds on annual plans".
  • Keyword search: plan names, ticket IDs, and policy codes need exact matches, which embeddings handle poorly. Hybrid search runs both and merges the rankings.
  • Filters: region, date, and source narrow the candidates before ranking. Weak filtering returns too few results or results from the wrong scope.
  • Isolation and freshness: each team or customer sees only their own data, and yesterday's meeting notes are searchable today.

A vector database is retrieval over documents. It is not the same as an agent remembering what you decided together; our guide to AI agent memory explains the difference. When the material lives on the open web rather than in your own files, a web search API is the better tool.

Pinecone

The managed choice when you want to send vectors and queries and run nothing yourself.

Pinecone is a hosted service with dense, sparse, and full-text indexes on every plan. Its hybrid search can store dense and sparse vectors in one index or two, and metadata filters narrow the candidates before ranking. Namespaces split one index by user or tenant. The developer MCP server runs locally and works only with indexes that embed text for you; a separate Assistant MCP server is available as a hosted endpoint.

Pricing is by storage, read units, and write units. Starter is free with 2 GB, 1M read units, and 2M write units a month, in AWS us-east-1 only. Builder is $20 a month flat with higher limits. Standard has a $50 monthly minimum, then $0.33 per GB stored and $16 to $18 per million read units, and comes with a three-week trial with $300 of credits.

pgvector

The default when your data already lives in Postgres.

pgvector is a Postgres extension under the PostgreSQL License. It adds vector, halfvec, sparsevec, and bit types with HNSW and IVFFlat indexes. Indexed vector columns go up to 2,000 dimensions and halfvec up to 4,000. Filters are ordinary SQL, joined against the tables the agent already reads, and access rules stay in one place.

Filtering with an approximate index used to return fewer rows than requested. Version 0.8.0, released in October 2024, added iterative index scans that keep searching until enough rows match. For hybrid search, the project suggests combining it with Postgres full-text search and merging the two rankings with Reciprocal Rank Fusion. Cost is whatever your Postgres host charges, and scaling the database is your job.

Qdrant

An open-source engine for teams that want strong filters and the option to self-host.

Qdrant is written in Rust and licensed under Apache 2.0. Each vector carries a JSON payload that can be filtered by keyword, full-text, numeric range, or location. Sparse vectors give it keyword-style search, and hybrid queries fuse results with RRF or DBSF. Built-in quantization reduces memory use, and sharding and replication scale it out.

Qdrant Cloud has a free single-node cluster with 1 GB of RAM and 4 GB of disk, which Qdrant says holds about one million 768-dimension vectors. It is suspended after a week unused and deleted after four more weeks. Paid clusters are billed hourly for compute and storage, with no starting price on the pricing page. The official MCP server gives an agent two tools, store and find, over stdio or HTTP.

Weaviate

A fit when you want hybrid search and embedding handled by the database.

Weaviate is written in Go, mostly under BSD-3-Clause. One query combines BM25 keyword search, vector similarity, and filters. Vectorizer modules call embedding providers such as OpenAI, Cohere, and Hugging Face for you, or you bring your own vectors. Multi-tenancy, reranking, and generative search are built in.

Since v1.38 an MCP server is built into Weaviate at /v1/mcp, with tools for collection config, tenants, hybrid queries, and an optional upsert. It is always on in Weaviate Cloud and off by default when self-hosted. Pricing: the free plan has one cluster with 100,000 objects; Flex starts at $45 a month and bills from $0.00465 per million vector dimensions and $0.12 per GiB stored.

turbopuffer

A candidate when you need many separate indexes, such as one per user, at low storage cost.

turbopuffer keeps all data in object storage and caches what is queried on NVMe and memory. It supports vector search, BM25 full-text search, and filters on an inverted index. Hybrid search sends both subqueries at once and fuses them server-side with RRF. The limits page lists unlimited namespaces and dense vectors up to 10,752 dimensions.

The trade-off is the first query on cold data. turbopuffer publishes a p90 of 1,214 ms for an uncached query on one million documents, and says cached queries are as fast as in-memory engines. Pricing is usage based, with monthly minimums of $16 on Launch and $256 on Scale. We did not find a free tier or an official MCP server on the pages we checked.

Milvus / Zilliz Cloud

An option for very large collections, open source or managed.

Milvus is an Apache 2.0 project under the LF AI & Data Foundation. It runs as Milvus Lite in a Python process, as a single-machine Standalone server, or distributed on Kubernetes. It offers HNSW, IVF, DiskANN, and GPU indexes, BM25 full-text search, and sparse vectors stored alongside dense ones. Tenants can be isolated by database, collection, partition, or partition key.

Zilliz, the main contributor, runs it as Zilliz Cloud. The free plan includes 5 GB of storage, 2.5M vCUs a month, and up to 5 collections. Serverless costs $4 per million vCUs for reads and writes, with storage billed separately; we did not find the current storage rate stated clearly. The Milvus MCP server includes text, vector, and hybrid search tools.

Chroma

The quickest way to start, in memory or on disk, with a hosted option later.

Chroma is Apache 2.0 with Python and JavaScript clients. It runs in memory for prototypes or as a server with chroma run, and filters on metadata and document text. The Chroma MCP server works with in-memory, local, self-hosted, and Cloud databases.

Chroma Cloud is serverless and stores data in object storage. Its Search API adds hybrid search, fusing dense and sparse rankings with RRF. Pricing: $2.50 per GiB written, $0.33 per GiB-month stored, and $0.0075 per TiB queried. Starter has no monthly fee and includes $5 of credits; Team is $250 a month.

LanceDB

A fit when the data is multimodal or you want an embedded library.

LanceDB is an Apache 2.0 embedded retrieval library built on the open Lance format, with Python, TypeScript, and Rust SDKs. It stores vectors with metadata and multimodal data such as images and video, and versions tables automatically. The docs cover vector, full-text, and hybrid search with reranking, filters, and SQL.

LanceDB also sells a managed Cloud and a distributed Enterprise product. The pricing page did not state plan prices or free credits when we checked, and we did not find an official MCP server, so plan to wrap it as a tool yourself.

What do the benchmarks say about vector databases?

We did not find a recent independent benchmark that covers these eight. The two most cited are run by vendors, and we have not run our own, so read them as directional.

  • Qdrant's benchmarks: published by Qdrant, with speed results last updated in June 2024 and filtered-search results in February 2023. They compare Qdrant with Elasticsearch, Milvus, Redis, and Weaviate on four public datasets and report Qdrant ahead in most scenarios. Asked whether they are biased, the page answers "Probably, yes." The code is open.
  • VectorDBBench: maintained and sponsored by Zilliz, with a leaderboard. It supports Pinecone, Qdrant, Weaviate, pgvector, Chroma, Milvus, and Zilliz Cloud, and includes filtered-search and insert-under-load cases. It does not list turbopuffer or LanceDB.

Neither measures what decides an agent's answer: whether the right passage comes back for your queries, with your filters, at your size.

Pinecone vs pgvector vs Qdrant: which should you choose?

Choose by who you want running the database:

  • pgvector if you already run Postgres. One database, SQL filters, and no new service to secure.
  • Pinecone if you want nothing to operate. You pay per read and write, with a monthly minimum on Standard.
  • Qdrant if you want open source with a managed option. Start on the free cluster and self-host later, or the reverse.

Pick the closest fit, then run one alternative on the same data.

How do you test a vector database on your own task?

Load a real sample of your documents into two candidates with the same embedding model and chunking, then write 30 to 50 questions with the passages that should answer them. Keep the model and instructions fixed so only the database changes.

Query type What a useful result looks like
Paraphrased question The right passage in the top five, though it uses different words
Exact identifier, such as a ticket ID or SKU The matching record first, not a similar-sounding one
Narrow filter, such as one customer and one month The full number of results requested, all inside the filter
Another tenant's data Nothing returned
A document added a minute ago Found on the next query
A question with no answer in the data Low scores the agent can treat as "not found"

Record recall in the top five, latency at the 95th percentile, and the monthly cost at your expected storage and query volume. Then read a few misses. A wrong chunk size, a weak embedding model, and a filter applied after the search need different fixes, and only the last one is the database's fault.

How do I connect a vector database to my agent?

Through an MCP server or a small tool you write around the client library. Weaviate serves MCP from the database itself. Qdrant and Milvus publish servers that run over HTTP as well as locally, and Chroma publishes one too. Pinecone's Assistant MCP server is available as a hosted endpoint.

In Dexto, connections accept any custom MCP server, and Dexto discovers the tools that server offers. Add the server's URL in Connections settings, or ask Dexto to connect it for you. Your agent code never handles the credential, and you can remove the connection at any time. Our MCP server shortlist covers other servers worth connecting.

Where does Dexto fit?

Dexto is the agent that queries the database. A vector database returns passages; you still need something to decide what to search for, read the results, check the sources, and deliver the answer. That surrounding system is the harness, and it is what Dexto provides.

  • Tools: connections include more than 50 built-in integrations and any custom MCP server, so a vector database sits next to Slack, Notion, or GitHub in the same agent.
  • A computer: Dexto has a persistent cloud computer where it stores files, runs code, and opens browsers. The agent can load your documents into an embedded database there, or run the comparison queries from the test above.
  • Memory: Dexto's Memory learns preferences and decisions from your conversations, and you manage what it has saved in the Brain app. A vector database is for the documents you bring, not for remembering how you like your answers.
  • Process: a skill holds your retrieval rules, such as which filters to apply and when to say nothing was found. An agent configured for the job applies them every time.

For the refunds example, that means: connect the database, describe the filters and the citation format in a skill, and have the agent answer with a source link for each point.

Try it in Dexto

Pick one database from the table, connect its MCP server, and give Dexto a real question about your own documents. Open Dexto or read the quickstart.