Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.kiwifs.com/llms.txt

Use this file to discover all available pages before exploring further.

KiwiFS can import structured data from local files, converting each record into a markdown page with frontmatter.

CSV

kiwifs import --from csv \
  --file data.csv \
  --prefix people/ \
  --root ./knowledge
FlagDescription
--filePath to CSV file (required)
--columnsComma-separated fields to include
--id-columnColumn to use as filename
--prefixPath prefix in KiwiFS
--limitMax records to import
--dry-runPreview without writing
The first row of the CSV is treated as column headers. Each subsequent row becomes a markdown file.

Example

Given a CSV:
name,email,department
Jane Doe,jane@example.com,Engineering
Bob Smith,bob@example.com,Product
After import:
---
_imported_at: "2026-04-25T18:46:15Z"
_source: data.csv
name: Jane Doe
email: jane@example.com
department: Engineering
---

# Jane Doe

> Auto-imported from data.csv

JSON

kiwifs import --from json \
  --file data.json \
  --prefix items/
Expects a JSON file containing an array of objects:
[
  {"name": "Item A", "status": "active"},
  {"name": "Item B", "status": "draft"}
]

JSONL

kiwifs import --from jsonl \
  --file data.jsonl \
  --prefix items/
Each line is a JSON object:
{"name": "Item A", "status": "active"}
{"name": "Item B", "status": "draft"}
JSONL is ideal for large datasets — KiwiFS streams lines without loading the entire file into memory.

MCP usage

File imports are available via the kiwi_import MCP tool:
{
  "tool": "kiwi_import",
  "arguments": {
    "from": "csv",
    "file": "/path/to/data.csv",
    "prefix": "people/"
  }
}
MCP file imports require local mode (kiwifs mcp --root). The file path must be accessible to the KiwiFS process.

Column filtering

Use --columns to import only specific fields:
kiwifs import --from csv --file data.csv --columns "name,email,status" --prefix people/
Fields not listed are excluded from the frontmatter.
Last modified on May 4, 2026