95 lines
2.1 KiB
Markdown
95 lines
2.1 KiB
Markdown
# Server Mode
|
|
|
|
The server provides automatic file monitoring and MCP functionality.
|
|
|
|
## Starting the Server
|
|
|
|
The `serve` command requires at least one service flag. You can enable file monitoring, MCP server, or both:
|
|
|
|
### MCP Server Only
|
|
|
|
```bash
|
|
haiku-rag serve --mcp
|
|
```
|
|
|
|
Transport options:
|
|
- Default - Streamable HTTP transport on port 8001
|
|
- `--stdio` - Standard input/output transport
|
|
- `--mcp-port` - Custom port (default: 8001)
|
|
|
|
### File Monitoring Only
|
|
|
|
```bash
|
|
haiku-rag serve --monitor
|
|
```
|
|
|
|
### Both Services
|
|
|
|
```bash
|
|
haiku-rag serve --monitor --mcp
|
|
```
|
|
|
|
This will start file monitoring and MCP server on port 8001.
|
|
|
|
## File Monitoring
|
|
|
|
Configure directories to monitor in your `haiku.rag.yaml`:
|
|
|
|
```yaml
|
|
monitor:
|
|
directories:
|
|
- /path/to/documents
|
|
- /another/path
|
|
```
|
|
|
|
Then start the server:
|
|
|
|
```bash
|
|
haiku-rag serve --monitor
|
|
```
|
|
|
|
### Monitoring Features
|
|
|
|
- **Startup**: Scans all monitored directories and adds new files
|
|
- **File Added/Modified**: Automatically parses and updates documents
|
|
- **File Deleted**: Removes corresponding documents from database
|
|
|
|
### Filtering Files
|
|
|
|
You can filter which files to monitor using gitignore-style patterns:
|
|
|
|
```yaml
|
|
monitor:
|
|
directories:
|
|
- /path/to/documents
|
|
|
|
# Ignore patterns (exclude files)
|
|
ignore_patterns:
|
|
- "*draft*" # Ignore draft files
|
|
- "temp/" # Ignore temp directory
|
|
- "**/archive/**" # Ignore archive directories
|
|
|
|
# Include patterns (whitelist files)
|
|
include_patterns:
|
|
- "*.md" # Only markdown files
|
|
- "**/docs/**" # Files in docs directories
|
|
```
|
|
|
|
**Pattern behavior:**
|
|
- Extension filtering is applied first (only supported file types)
|
|
- Include patterns create a whitelist (if specified)
|
|
- Ignore patterns exclude files
|
|
- Both can be combined for fine-grained control
|
|
|
|
### Supported Formats
|
|
|
|
The server can parse 40+ file formats including:
|
|
- PDF documents
|
|
- Microsoft Office (DOCX, XLSX, PPTX)
|
|
- HTML and Markdown
|
|
- Plain text files
|
|
- Code files (Python, JavaScript, etc.)
|
|
- Images (processed via OCR)
|
|
- And more...
|
|
|
|
URLs are also supported for web content.
|