🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

OpenViking

by @zaynjarvis

RAG and semantic search via OpenViking Context Database MCP server. Query documents, search knowledge base, add files/URLs to vector memory. Use for document Q&A, knowledge management, AI agent memory, file search, semantic retrieval. Triggers on "openviking", "search documents", "semantic search", "knowledge base", "vector database", "RAG", "query pdf", "document query", "add resource".

Versionv1.0.3
Downloads6,328
Stars⭐ 10
TERMINAL
clawhub install openviking

πŸ“– About This Skill


name: openviking description: RAG and semantic search via OpenViking Context Database MCP server. Query documents, search knowledge base, add files/URLs to vector memory. Use for document Q&A, knowledge management, AI agent memory, file search, semantic retrieval. Triggers on "openviking", "search documents", "semantic search", "knowledge base", "vector database", "RAG", "query pdf", "document query", "add resource".

OpenViking - Context Database for AI Agents

OpenViking is ByteDance's open-source Context Database designed for AI Agents β€” a next-generation RAG system that replaces flat vector storage with a filesystem paradigm for managing memories, resources, and skills.

Key Features:

  • Filesystem paradigm: Organize context like files with URIs (viking://resources/...)
  • Tiered context (L0/L1/L2): Abstract β†’ Overview β†’ Full content, loaded on demand
  • Directory recursive retrieval: Better accuracy than flat vector search
  • MCP server included: Full RAG pipeline via Model Context Protocol

  • Quick Check: Is It Set Up?

    test -f ~/code/openviking/examples/mcp-query/ov.conf && echo "Ready" || echo "Needs setup"
    curl -s http://localhost:2033/mcp && echo "Running" || echo "Not running"
    

    If Not Set Up β†’ Initialize

    Run the init script (one-time):

    bash ~/.openclaw/skills/openviking-mcp/scripts/init.sh
    

    This will: 1. Clone OpenViking from https://github.com/volcengine/OpenViking 2. Install dependencies with uv sync 3. Create ov.conf template 4. Pause for you to add API keys (embedding.dense.api_key, vlm.api_key)

    Required: Volcengine/Ark API Keys

    | Config Key | Purpose | |------------|---------| | embedding.dense.api_key | Semantic search embeddings | | vlm.api_key | LLM for answer generation |

    Get keys from: https://console.volcengine.com/ark

    Start the Server

    cd ~/code/openviking/examples/mcp-query
    uv run server.py
    

    Options:

  • --port 2033 - Listen port
  • --host 127.0.0.1 - Bind address
  • --data ./data - Data directory
  • Server will be at: http://127.0.0.1:2033/mcp

    Connect to Claude

    claude mcp add --transport http openviking http://localhost:2033/mcp
    

    Or add to ~/.mcp.json:

    {
      "mcpServers": {
        "openviking": {
          "type": "http",
          "url": "http://localhost:2033/mcp"
        }
      }
    }
    

    Tools Available

    | Tool | Description | |------|-------------| | query | Full RAG pipeline β€” search + LLM answer | | search | Semantic search only, returns docs | | add_resource | Add files, directories, or URLs |

    Example Usage

    Once connected via MCP:

    "Query: What is OpenViking?"
    "Search: machine learning papers"
    "Add https://example.com/article to knowledge base"
    "Add ~/documents/report.pdf"
    

    Troubleshooting

    | Issue | Fix | |-------|-----| | Port in use | uv run server.py --port 2034 | | Auth errors | Check API keys in ov.conf | | Server not found | Ensure it's running: curl localhost:2033/mcp |

    Files

  • ov.conf - Configuration (API keys, models)
  • data/ - Vector database storage
  • server.py - MCP server implementation
  • πŸ“‹ Tips & Best Practices

    | Issue | Fix | |-------|-----| | Port in use | uv run server.py --port 2034 | | Auth errors | Check API keys in ov.conf | | Server not found | Ensure it's running: curl localhost:2033/mcp |