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")