Create new upk MCP server for user-global knowledge management using
the kglib shared library. upk stores conversations, learnings, and
insights at ~/.upk/knowledge.db with federation to project KGs.
Features:
- User-global knowledge storage (separate from project KGs)
- Custom entity types: conversation, person, learning, insight, topic
- Custom relation types: DISCUSSED_IN, LEARNED_FROM, APPLIES_TO, etc.
- 3 MCP tools for Claude integration:
* add_conversation - Record conversations with topics/participants
* add_learning - Record learnings and insights
* search_knowledge - Keyword search across user knowledge
CLI commands:
- upk init - Initialize ~/.upk/ directory and config
- upk search - Search user knowledge from command line
- upk server --stdio - Run MCP server for Claude
Architecture:
- Uses kglib for all knowledge graph operations
- Stores data at ~/.upk/knowledge.db (user-global)
- Config at ~/.upk/config.json (project federation list)
- Built with Cobra CLI framework
- Single binary, CGO-enabled (for KuzuDB)
Tested:
- upk builds successfully
- upk init creates config
- MCP server initializes and lists tools
- add_learning tool creates entities
- search command finds results
Next steps (future):
- Federation with project KGs
- Additional MCP tools (link_to_project, etc.)
- Project management commands
Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>