dynavec / Docs / Framework integrations

Framework integrations

LangChain, LlamaIndex, and a tool for any agent framework.

LangChain

from dynavec.integrations.langchain import DynavecVectorStore
store = DynavecVectorStore(db, namespace="kb")
retriever = store.as_retriever(search_kwargs={"k": 4})

LlamaIndex

from dynavec.integrations.llamaindex import DynavecLlamaStore
from llama_index.core import VectorStoreIndex, StorageContext

store = DynavecLlamaStore(db, namespace="kb")
ctx = StorageContext.from_defaults(vector_store=store)
index = VectorStoreIndex.from_documents(docs, storage_context=ctx)

LangGraph / CrewAI / Strands

A framework-agnostic retriever tool — just a callable that takes a query and returns text.

from dynavec.integrations.tools import make_retriever_fn
retrieve = make_retriever_fn(db, top_k=4)   # fn(query: str) -> str
# also: as_langchain_tool(db), as_crewai_tool(db)

FastMCP server (Claude Desktop, Cursor, AI agents)

Expose dynavec as an MCP server with dynavec_search and dynavec_graph_search tools. Configure via environment variables and launch over stdio:

# Install with MCP extra
pip install "dynavec[mcp]"

# Launch the FastMCP server via CLI
dynavec mcp

Add to your Claude Desktop / Cursor configuration (claude_desktop_config.json):

{
  "mcpServers": {
    "dynavec": {
      "command": "uvx",
      "args": ["--with", "dynavec[all]", "dynavec", "mcp"],
      "env": {
        "AWS_ACCESS_KEY_ID": "AKIA...",
        "AWS_SECRET_ACCESS_KEY": "...",
        "AWS_REGION": "us-east-1",
        "OPENAI_API_KEY": "sk-...",
        "DYNAVEC_VECTOR_BUCKET": "my-vectors",
        "DYNAVEC_INDEX": "docs",
        "DYNAVEC_TABLE": "dynavec_docs"
      }
    }
  }
}

Programmatic initialization is also supported:

from dynavec.mcp import create_mcp_server

mcp = create_mcp_server(db)
mcp.run(transport="stdio")