Introduction
Personal Knowledge Server — your documents, searchable and AI-ready
textrawl
textrawl is a personal knowledge server — a second brain that stores your documents, emails, notes, and other knowledge. Use it through the web dashboard, connect it to AI assistants via MCP, or integrate it into your own tools with the REST API. It uses hybrid search combining semantic understanding with keyword matching to find the most relevant content.
Why textrawl?
Bring all your personal documents, emails, notes, and knowledge into one searchable place. textrawl combines semantic understanding with keyword precision using Reciprocal Rank Fusion to deliver the most relevant results.
Hybrid Search
Combine semantic similarity with full-text keyword matching. Adjust weights to optimize for your use case.
Persistent Memory
Remember facts about people, projects, and concepts. Build a knowledge graph with relationships between entities. Track conversation context across sessions.
Proactive Insights
Automatically discover cross-source connections, recurring themes, and outliers in your knowledge base after bulk imports.
Multi-Format Support
Import MBOX emails, HTML pages, PDFs, DOCX files, and more. Convert once, search forever.
Multiple Interfaces
Access your knowledge via the web dashboard, MCP for AI assistants, REST API, CLI tools, or the desktop app.
Privacy First
Self-hosted on your infrastructure. Your documents never leave your control.
What is MCP?
The Model Context Protocol (MCP) is an open standard for connecting AI assistants to external data sources and tools. Adopted by Anthropic for Claude and donated to the Linux Foundation's Agentic AI Foundation, MCP enables:
- Tool Use: Claude can call functions to search, retrieve, and create content
- Context Sharing: Your documents become part of Claude's working knowledge
- Privacy: Data stays on your infrastructure, not uploaded to the cloud
Quick Start
Tools
textrawl exposes 25 tools, available via MCP and REST API:
Document Tools
| Tool | Purpose |
|---|---|
search | Hybrid semantic + full-text search with optional memory/conversation fusion |
get_document | Retrieve full document content |
list_documents | Browse documents with pagination |
update_document | Update document title and tags |
add_note | Create notes with automatic embedding |
Memory Tools
| Tool | Purpose |
|---|---|
remember_fact | Store facts about entities with semantic embeddings |
build_knowledge | Store multiple facts and relations in a single batch call |
query_memory | Query the memory graph (search, entity, or list modes) |
relate_entities | Create relationships between entities |
forget_entity | Delete entity and associated memories |
extract_memories | Extract entities and facts from text via LLM |
Conversation Tools
| Tool | Purpose |
|---|---|
save_conversation_context | Save conversation summary and turns for recall |
query_conversations | Query past conversations (search, get, or list modes) |
delete_conversation | Delete a conversation session |
Insight Tools
| Tool | Purpose |
|---|---|
get_insights | View discovered patterns and connections |
discover_connections | Trigger insight scan across knowledge base |
dismiss_insight | Dismiss an insight from the queue |
Stats
| Tool | Purpose |
|---|---|
get_stats | Statistics across knowledge, memory, conversations, and insights |
Unified Tools
| Tool | Purpose |
|---|---|
ask | Unified RAG search across all knowledge sources |
daily_briefing | Personalized briefing with recent additions and insights |
save_url | Save web pages as documents with auto-embedding |
timeline | Browse knowledge chronologically by date range |
Postgres Analysis
| Tool | Purpose |
|---|---|
pg_analyze | Comprehensive database health analysis |
pg_recommendations | Actionable optimization recommendations |
pg_report_history | Compare analysis reports over time |
Architecture
Learn more about hybrid search →
Next Steps
- Quick Start - Get running in 5 minutes
- Installation - Detailed setup guide
- CLI Tools - Import your documents