dynavec / Docs / Ingestion & MCP

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.