mirror of
https://github.com/NocturnLabs/opencode-personal-knowledge.git
synced 2026-06-02 06:03:47 +02:00
34e81521b7417fae35f9a9ef0f115bc16bc3ed1c
🧠 opencode-personal-knowledge
A personal knowledge MCP server with vector database for the Opencode ecosystem
Store and retrieve knowledge using semantic search, powered by local embeddings. No external API keys required.
✨ Features
- 🔍 Semantic Search — Find knowledge using vector embeddings (all-MiniLM-L6-v2)
- 📝 Text Search — Keyword-based search fallback
- 🏷️ Tag Organization — Categorize entries with tags
- 🔌 Plug-and-Play — No external services required (embeddings run 100% locally)
- 💾 Persistent Storage — Data stored in
~/.local/share/opencode-personal-knowledge/ - 🔄 Automatic Indexing — Entries are vectorized on creation
🚀 Quick Start
Opencode Integration (Recommended)
Add to ~/.config/opencode/opencode.jsonc:
{
"mcp": {
"personal-knowledge": {
"type": "local",
"command": ["npx", "-y", "opencode-personal-knowledge"],
"enabled": true
}
}
}
Restart Opencode — the MCP tools will be available immediately.
Source Installation (Development)
git clone https://github.com/NocturnLabs/opencode-personal-knowledge.git
cd opencode-personal-knowledge
bun install
bun run mcp # Start MCP server
🛠️ MCP Tools
| Tool | Description |
|---|---|
store_knowledge |
Store a new knowledge entry with optional tags |
search_knowledge |
Semantic similarity search |
search_knowledge_text |
Keyword-based text search |
get_knowledge |
Retrieve entry by ID |
update_knowledge |
Update an existing entry |
delete_knowledge |
Delete an entry |
list_knowledge |
List entries with filters |
get_knowledge_stats |
Database statistics |
📖 Example Usage
Storing Knowledge
User: "store a knowledge entry about Opencode Features"
Agent: Researches and stores entry:
✅ Stored knowledge entry #2: "Opencode Features"
📊 Indexed for semantic search
Searching Knowledge
User: "@search_knowledge for opencode"
Agent: Returns semantic matches:
Found 1 similar entry:
### 1. Opencode Features (85% similar)
Opencode is an open source AI coding agent...
⚙️ Configuration
Data Location
By default, data is stored in:
~/.local/share/opencode-personal-knowledge/
├── knowledge.db # SQLite database
└── vectors/ # LanceDB vector store
Override with environment variable:
export OPENCODE_PK_DATA_DIR=/custom/path
Embedding Model
Uses Xenova/all-MiniLM-L6-v2 (~22MB, auto-downloads on first use).
🏗️ Technology Stack
- Runtime: Bun / Node.js
- Vector DB: LanceDB (embedded)
- Embeddings: Transformers.js
- MCP SDK: @modelcontextprotocol/sdk
- Database: SQLite (via Bun)
📄 License
MIT © NocturnLabs
Made with 🖤 for the Opencode ecosystem
Description
No description provided
aiembeddingsknowledge-managementlancedbmcpmodel-context-protocolopencodesemantic-searchvector-database
Readme
65 KiB
Languages
TypeScript
100%