Hoard
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Hoardsearch for notes about machine learning"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
╔═══════════════════════════════════════════════════════╗
║ ██╗ ██╗ ██████╗ █████╗ ██████╗ ██████╗ ║
║ ██║ ██║██╔═══██╗██╔══██╗██╔══██╗██╔══██╗ ║
║ ███████║██║ ██║███████║██████╔╝██║ ██║ ║
║ ██╔══██║██║ ██║██╔══██║██╔══██╗██║ ██║ ║
║ ██║ ██║╚██████╔╝██║ ██║██║ ██║██████╔╝ ║
║ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ║
║ ║
║ Your Personal Data Layer ║
║ ║
║ One local index • Hybrid search • MCP interface ║
║ Chunk-level citations • Works with any AI agent ║
╚═══════════════════════════════════════════════════════╝Hoard is a local MCP data layer that indexes your personal knowledge into SQLite and exposes it through fast search, memory tools, and MCP-compatible servers.
Author: Piotr Ciechowicz
Documentation: openhoard.vercel.app
Versioning note: The package version (currently 0.1.x, pre‑alpha) is independent from feature milestone labels in this README (e.g., “v0.7” write layer, “v1” security/connectors). Milestones describe maturity of specific subsystems, not a released package version.
Why Hoard
Your data, local-first. Index and search without sending content to third parties.
One layer for every agent. Claude Code, Codex, OpenClaw, or any MCP client can connect.
Chunk-level retrieval. Stable citations and predictable results.
Hybrid search. BM25 + optional vector embeddings.
What Hoard Does (and Doesn’t)
Allowed / Supported
Read-only indexing of local files, Obsidian vaults, and browser bookmarks.
Notion export ingestion (ZIP/HTML/CSV).
Agent inbox (drop folder) + MCP ingestion.
Local search, get, get_chunk, sync, and memory tools (read/write).
Agent orchestration (registry, tasks, artifacts, events, costs).
Trusted connectors (v1): install only what you trust.
Not in v1
Writing back to sources
OAuth live connectors (Notion/Google)
Sandboxed connector execution
Web UI
Quick Start
pip install -e .
hoard init
hoard search "my notes"Recommended setup flow
hoard init # wizard: choose sources, file types, vectors
hoard setup --all # configure Claude Code / Codex / OpenClaw
hoard setup --verify # verify server + write tools + client configBy default, Hoard auto-generates a local server secret at ~/.hoard/server.key (0600).
HOARD_SERVER_SECRET still overrides the file when set.
Installation
Option A: pipx (recommended)
pipx install hoardOption B: Homebrew
brew install hoardOption C: pip (requires Python 3.11+)
python3.11 -m pip install hoardCore Commands
Onboarding
hoard init # full wizard
hoard init --quick # accept defaults
hoard init --vectors # enable semantic search
hoard add <path> # add folder quickly
hoard add --inbox <path> # agent inbox (drop folder)
hoard add --obsidian <path>
hoard add --notion <path>Orchestration
hoard orchestrate init # generate registration token + artifact config
hoard agent register <name> --type worker
hoard task create "Research X"
hoard task list
hoard artifact put <task-id> report.md --type text --content "..."
hoard event pollSync & Search
hoard sync
hoard search "query" --limit 5
hoard search "query" --types entity,memory
hoard search "query" --no-memoryMemory
hoard memory put key "content" --ttl-days 30
hoard memory pruneEmbeddings
pip install -e ".[vectors]"
hoard embeddings buildServer
hoard serve # HTTP MCP server (http://127.0.0.1:19850/mcp)
# SSE events: http://127.0.0.1:19850/events
# Health: http://127.0.0.1:19850/health
hoard serve --daemon
hoard serve --status
hoard serve --stop
hoard serve --install-autostartHoard defaults to loopback-only bind. To expose a non-loopback host (for remote clients), you must opt in:
hoard serve --host 0.0.0.0 --allow-remoteLocal default: Hoard reads server secret from ${HOARD_DATA_DIR:-~/.hoard}/server.key and auto-generates it if missing.
Optional override:
export HOARD_SERVER_SECRET=your-secretData Directory
By default Hoard stores state under ~/.hoard. Set HOARD_DATA_DIR to move all default paths (config/db/secret/artifacts/daemon files):
export HOARD_DATA_DIR=/var/lib/hoardTo run in read-only mode without a server secret, set in ${HOARD_DATA_DIR:-~/.hoard}/config.yaml:
write:
enabled: falseOptional Dependencies
pip install -e ".[watcher]" # enable file watcherWrite Layer (v0.7)
Cross-agent memory writes are supported via the HTTP server. Stdio mode is read-only.
Requirements:
server secret available via either:
HOARD_SERVER_SECRETenvironment variable, or${HOARD_DATA_DIR:-~/.hoard}/server.key(auto-generated local default)
hoard serverunning
hoard serveAdmin tasks (token management) use the same secret:
hoard tokens add claude-code --scopes search,get,memory,syncWrite coordination defaults (in ${HOARD_DATA_DIR:-~/.hoard}/config.yaml):
write:
database:
busy_timeout_ms: 5000
lock_timeout_ms: 30000
retry_budget_ms: 30000
retry_backoff_ms: 50MCP Clients
hoard setup --all
hoard setup --claude
hoard setup --claude --project-scope
hoard setup --codex
hoard setup --openclaw
hoard setup remote --url https://hoard.example.com --token hoard_sk_xxx
hoard setup remote --url https://hoard.example.com --admin-token hoard_admin_xxx # automation
hoard setup --verify
hoard setup --uninstall openclawhoard setup remote credential hierarchy:
Recommended:
--tokenwith a pre-provisioned agent token.Advanced automation:
--admin-token(auto-provisions one token per client type).
For production remote hosting (Docker + Caddy TLS), see docs/REMOTE_DEPLOYMENT.md.
Diagnostics
hoard doctor
hoard db backup /path/to/backup.db
hoard db restore /path/to/backup.db --forceBenchmarks
pip install -e ".[dev]"
python -m pytest -q tests/test_search_benchmark.py
python -m pytest -q tests/test_search_benchmark.py --benchmark-save baselineSaved baselines live under .benchmarks/ and are machine-specific.
MCP Transport Options
HTTP (default)
Runs at http://127.0.0.1:19850/mcp and speaks MCP JSON-RPC.
hoard serveStdio (for MCP clients that require it)
hoard mcp stdioBy default, stdio mode blocks write tools. Enable explicitly in config:
mcp:
stdio:
allow_writes: trueHTTP exposes a lightweight metrics endpoint at /metrics when enabled:
observability:
metrics_enabled: trueAdditional MCP Tools
Beyond search/get/get_chunk/sync, Hoard exposes tools for:
Structured memory writes and review (
memory_write,memory_propose,memory_review,memory_supersede,memory_retract)Memory conflict/duplicate resolution (
conflicts_list,conflict_resolve,duplicates_list,duplicate_resolve)Agent inbox ingestion (
inbox_put)Orchestration and artifacts (agents, tasks, workflows, events, cost reporting)
Connectors
Enable in ${HOARD_DATA_DIR:-~/.hoard}/config.yaml:
connectors:
local_files:
enabled: true
paths:
- ~/Documents/Notes
include_extensions:
- .md
- .txt
- .csv
- .json
- .yaml
- .rst
obsidian:
enabled: true
vault_path: ~/Obsidian
bookmarks_chrome:
enabled: true
bookmarks_firefox:
enabled: true
notion_export:
enabled: true
export_path: ~/Downloads/notion-export.zip
inbox:
enabled: true
path: ~/.hoard/inbox
memory:
default_ttl_days: 30
prune_on_sync: true
sync:
interval_minutes: 15
watcher_enabled: false
watcher_debounce_seconds: 2Contributing
Contributions are welcome. By default, only Piotr Ciechowicz can approve changes.
How to contribute
Fork the repo
Create a feature branch
Open a pull request
Wait for review
Guidelines
Keep changes small and focused
Include tests for new behavior
Avoid breaking CLI or MCP tool schemas
See CONTRIBUTING.md for details.
Security Model (v1)
Connectors are trusted code (no sandbox yet).
Tokens gate MCP access; scopes restrict tool usage.
No bulk export tools are exposed.
License
MIT
Support
If you run into issues, open a GitHub issue or ping me directly.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/thrr87/hoard'
If you have feedback or need assistance with the MCP directory API, please join our Discord server