Model Context Protocol (MCP)
The MCP server exposes haiku.rag as MCP tools for compatible MCP clients like Claude Desktop.
Available Tools
Document Management
add_document_from_file- Add documents from local file pathsfile_path(required): Path to the filemetadata(optional): Key-value metadata-
title(optional): Human-readable title -
add_document_from_url- Add documents from URLs url(required): URL to fetchmetadata(optional): Key-value metadata-
title(optional): Human-readable title -
add_document_from_text- Add documents from raw text content content(required): Text contenturi(optional): URI identifiermetadata(optional): Key-value metadata-
title(optional): Human-readable title -
get_document- Retrieve a document by ID -
document_id(required): The document ID -
list_documents- List documents with pagination and filtering limit(optional): Maximum number to returnoffset(optional): Number to skip-
filter(optional): SQL WHERE clause for filtering -
delete_document- Delete a document by ID document_id(required): The document ID
Search
search_documents- Search using hybrid search (vector + full-text)query(required): Search querylimit(optional): Maximum results (default: 5)
Question Answering
ask_question- Ask questions about your documentsquestion(required): The question to askcite(optional): Include source citations (default: false)-
deep(optional): Use multi-agent deep QA for complex questions (default: false) -
research_question- Run multi-agent research on complex topics question(required): The research question- Returns a structured research report with findings, conclusions, and sources
Starting MCP Server
The MCP server supports Streamable HTTP and stdio transports:
# Default streamable HTTP transport on port 8001
haiku-rag serve --mcp
# Custom port
haiku-rag serve --mcp --mcp-port 9000
# stdio transport (for Claude Desktop)
haiku-rag serve --mcp --stdio
Claude Desktop Integration
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"haiku-rag": {
"command": "haiku-rag",
"args": ["serve", "--mcp", "--stdio"]
}
}
}
With a custom database path:
{
"mcpServers": {
"haiku-rag": {
"command": "haiku-rag",
"args": ["serve", "--mcp", "--stdio", "--db", "/path/to/database.lancedb"]
}
}
}
After restarting Claude Desktop, you can ask Claude to search your documents, add new content, or answer questions using your knowledge base.
Running with Other Services
Combine MCP with file monitoring or AG-UI:
# MCP + file monitoring
haiku-rag serve --mcp --monitor
# MCP + AG-UI streaming
haiku-rag serve --mcp --agui
# All services
haiku-rag serve --mcp --monitor --agui
See Server Mode for details on file monitoring and AG-UI.