haiku.rag
Local-first agentic RAG with citations - hybrid search, reranking, multimodal document retrieval
Connector by ggozad · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/ggozad-haiku-rag
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: knowledge-base, document-processing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 6 read · 0 write · 1 delete
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 7
Read from the source code; the running server may list different tools.
Read 6 · Look things up without changing anything.
get_documentget_document_outlineget_document_sectionlist_documentssearch_documentssearch_documents_by_image
Delete 1 · Delete, drop, revoke or wipe things.
execute_code
Files it touches
- Any path the agent passes to its tools
Tools (7)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
execute_codeRun a Python program over the documents and return what it printed. Use this when the answer is a count, an aggregate, a comparison across many documents, a lookup by document or chunk metadata, or a pattern over whole documents: whatever a search cannot rank. The program runs in a sandboxed interpreter on the server. Each call is one program, nothing carries over between calls, and `print` is the only output. Inside the program, `/documents/{document_id}/` holds `metadata.json` (id, title, uri, created_at, metadata), `content.txt` (the whole text), `items.jsonl` (one item per line: self_ref…
get_documentRead one document whole, in reading order. Use this after a search when a passage is not enough. Returns the document's content, title, uri and metadata. Ids come from search results and `list_documents`. Args: document_id: The document's id. source: The collection holding it. Without one every collection is asked.
get_document_outlineThe heading tree of a document, with page numbers. Use this on a long document to see its structure before reading, then pass a node's `id` to `get_document_section`. Returns the headings nested by level; an empty list means the document has no headings, so read it with `get_document`. Args: document_id: The document's id. source: The collection holding it. Without one every collection is asked.
get_document_sectionThe text of one section of a document, subsections included. Use this to read a part of a long document instead of the whole. `section_id` is a node `id` from `get_document_outline`. Returns the section's heading, page numbers and text in reading order, up to the next heading of the same or a higher level. Args: document_id: The document's id. section_id: The `id` of a node in the document's outline. source: The collection holding it. Without one every collection is asked.
list_documentsList what the knowledge base holds. Use this to see which documents exist, their titles, URIs and metadata, and so what a `filter` can match. Not a search: it returns no passages. Args: limit: How many documents to return. offset: How many documents to skip, for paging.
search_documentsSearch the knowledge base by meaning and keyword. Use this first for any question the documents might answer; it needs no model and is the cheapest call. Results come best first, each with its rank, `Document ID`, `Collection` when the server covers several, the document title, section headings, the matched chunk's metadata when it has any, and the matching passage expanded to its section; pass the id and collection to the document tools. Pictures in the results follow as images, each labelled with its result. Ranks, not scores, are the signal: scores are not comparable across queries. If not…
search_documents_by_imageSearch the knowledge base with an image as the query. Use this when the question is about a picture rather than words. The image is embedded and matched against document text and figures by vector similarity alone. Results have the shape of `search_documents` results. Args: image_base64: The query image, PNG or JPEG bytes as base64. limit: How many results to return; the server's configured default when omitted. include_images: Return the pictures in the results as images. False for a smaller response.
Compare and alternatives
Featured in
Signals
- Stars
- 636
- Forks
- 55
- Open issues
- 3
- Contributors
- 14
- Weekly downloads
- 806
- Last commit
- Oct 23, 2026 (5 days ago)
- Last release
- Oct 23, 2026 (5 days ago)
- Last package publish
- Oct 23, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.ggozad/haiku-rag- Version
- 0.101.0
- Auth
- No auth
- Packages
- pypi haiku-rag
- License
- MIT
- Repository
- github.com/ggozad/haiku.rag
- Website
- ggozad.github.io/haiku.rag/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from ggozad
Cite this page
haiku.rag MCP server. Agent Mart. https://agentmart.dev/connectors/ggozad-haiku-rag (last updated 2026-10-24)