- CollectionMemory & State
- Classificationagent-native
- LicenseAGPL-3.0 for the main project; crates/ov_cli and examples are Apache-2.0 (the Hermes plugin is MIT)
- MCPAvailable
- Agent SkillAvailable
- InterfacesAgent Skill · MCP · REST · CLI · SDK · http · API
What it does
OpenViking is an open-source context database — a unified filesystem for everything an AI agent needs to know: its own accumulated experience (viking://agent/), user preferences (viking://user/), and external resources (viking://resources/).
Instead of managing memory in one system, resources in a vector store, and skills in another, OpenViking maps all three to a hierarchical viking:// virtual filesystem. Agents navigate it with ls and find — exactly like a developer navigates a project directory. Each node has L0/L1/L2 tiered content: a one-sentence abstract for quick routing, an overview for planning, and full content for deep reasoning — loaded on demand to reduce token cost by up to 91%.
The killer feature: self-evolution. At the end of each session, OpenViking asynchronously extracts agent experience from task execution and writes it to viking://agent/memories/ — the agent accumulates operational knowledge without any human curation.
Benchmark (LoCoMo10, 1540 long-range dialogue cases):
| System | Task Completion | Input Tokens |
|---|---|---|
| OpenClaw (baseline) | 35.65% | 24.6M |
| OpenClaw + LanceDB | 44.55% | 51.6M |
| OpenClaw + OpenViking | 52.08% | 4.3M |
+49% task completion, -83% token cost versus baseline.
Agent-facing interfaces
- Interaction pattern: SDK / REST + MCP
- Catalog protocols: Agent Skill, MCP, REST, CLI, SDK, http, API
- MCP: ✅ Available
- Agent Skill: ✅ Official skills published by the OpenClaw community
- Onboarding type:
mcp
How agents onboard
Interaction pattern: SDK / REST + MCP
# Install
pip install openviking --upgrade
# Configure (create ~/.openviking/ov.conf with your VLM + embedding keys)
# Then start the server
openviking-server
# Agent connects via MCP (recommended for Claude Code / Cursor)
claude mcp add --transport http openviking http://localhost:8000/mcp
# Or ingest content and query via CLI
ov add ./my-project-docs
ov query "how does the authentication flow work"
See the full onboarding section in the dossier.
Protocol surface
| Interface | Detail |
|---|---|
| MCP Server | HTTP StreamableHttp at localhost:8000/mcp; tools: query, search, add_resource |
| Python SDK | pip install openviking |
| Rust CLI | curl ... | bash (ov_cli); commands: ov add, ov query, ov find, ov grep, ov ls |
| HTTP REST | Direct API at localhost:8000 |
| OpenClaw Plugin | Memory plugin for OpenClaw agents |
| OpenCode Plugin | Memory plugin for OpenCode agents |