Open source · Self-hosted

Share knowledge,
not slop.

OpenLore is a knowledge base for docs, notes, and findings. Maintain shared context once and read it from any agent over SSH or MCP.

openlore ./docs

Shared knowledge
# Coding agent
$ ssh -p 2222 knowledge \
    'cat /docs/retries.md'
# Retry policy
Use exponential backoff for retries.

# Research agent · another machine
$ ssh -p 2222 knowledge \
    'cat /docs/retries.md'
Different agents. The same shared knowledge, scoped by identity.
01 / OverviewWhat it does

Ordinary files. Shared access.

Serve your existing docs directory. Agents on different machines read the same files without maintaining their own checkouts.

Keep Git for history and review. You manage deployment and sync.

Freshness

Current files

Directory changes appear on the next read. Embedded bundles are static.

Access

Scoped context

Expose only the collections each identity may read.

Workflow

Standard tools

cat, grep, and pipes for agents. A web view for people.

02 / ArchitectureFollow the request

One filesystem.

Fig. 01 — The read path
ClientsAI agents
People & tools
OpenLoreIdentity + grants
Scoped filesystem
FilesLive directories
Embedded bundles
SSH / MCP → agentsWeb → peopleSFTP / SSHFS → file tools
Each identity sees only its permitted collections.

The normal shell is an in-memory interpreter, not an OS shell.

03 / Access controlIdentity and write policy

Read-only by default.

Scope access, set document budgets, and trace who changed what.

Fig. 02 — Document policy
Document changeCreate or update
Admission rulesAccess + size budgets
Recorded changeActor + content hash

Access · document budgets · attribution

Limits apply per document. Token counts are estimates; changes record actor and content-hash metadata.

Governance and rules ↗ · Context and usage metrics ↗

04 / InstallationRun locally

Requires Go 1.26.2 or later.

Terminal / quick start
# 01 — Install
go install github.com/aakarim/go-openlore/cmd/openlore@latest

# 02 — Serve your documentation
openlore ./docs

# 03 — Explore from another terminal
ssh -p 2222 localhost "grep -r 'authentication' /docs"

SSH: 2222. Web/MCP: 8080.

MCP clients

Connect over HTTP or run a stdio server.

# HTTP endpoint for the local server above
http://localhost:8080/mcp

# Alternative: run as a stdio MCP server
openlore mcp ./docs

MCP configuration and authentication ↗

Agent setup

teach prints instructions; agents generates an AGENTS.md snippet.

ssh  teach
ssh  agents >> AGENTS.md

Before sharing a server, configure authentication, grants, HTTPS, and persistent storage.

Configuration and identity ↗ · Example openlore.yml ↗

Transports
SSH · MCP · SFTP · HTTP
Data
Directories or embedded files
Per identity
Scoped access
Runtime
Single Go binary
05 / ProjectOpen source

Apache 2.0. Built in Go.

The server and docs are developed in the open. Contributions welcome.