Ingestion & MCP
Suck in content from anywhere — including any MCP server.
A source is any iterable of records. ingest() chunks, embeds, and upserts them.
from dynavec.ingest import ingest, IterableSource
src = IterableSource([
{"id": "doc1", "text": long_text, "metadata": {"src": "wiki"}},
])
ingest(db, src, namespace="kb", chunk_size=1000, overlap=150)
From any MCP server
MCPResourceSource turns an MCP server's resources (Notion, Confluence, Drive, your
own) into an embeddable corpus — no per-source code.
from dynavec.ingest import ingest, MCPResourceSource
ingest(db, MCPResourceSource(mcp_session), namespace="kb")
Chunk ids are "{record_id}#chunk{n}" with source_id / chunk
metadata, so you can group or delete a whole document later.