save_conversationLABSCO SUMMARY
The decisions made in chat, filed where the PM tool never sees them.
Teams decide things in Slack and standups and then nothing reaches the tracker. Extracting typed chunks — decision, blocker, scope change — is what makes those recoverable later, and semantic search finds the right one even when the words have changed.
What it is
A single Go binary that captures conversations, extracts structured project artifacts, and makes them searchable by semantic embedding. The vector store and the embedding model are both embedded in the binary, so there is no Ollama, no Docker and no external process.
What you get
- 10 tools once connected:
save_conversation,remember,search,recall,observe_turn,list_chunks,update_status,delete_chunk,list_actions,consolidate_memory - Chunk types that match how project talk actually breaks down —
decision,action_item,blocker,requirement,scope_change,context,research_finding,status_update recallreturns a bounded context packet with memory IDs and source references, so an LLM pulls only what it needs- Working, episodic, semantic and procedural memory in isolated namespaces, each with provenance, confidence, importance and a validity window
list_actionsfor everything still pending, andupdate_status/delete_chunkso the knowledge base stays current- An HTTP API on port 8420 as an alternative to MCP stdio, plus a memory proxy for providers that do not speak MCP at all
Requirements
Go 1.22+ with CGO enabled to build from source; then add the binary to your client with --mcp for stdio mode. On first run it downloads the embedding model (all-MiniLM-L6-v2, about 80MB) into ./data/models/. DATA_DIR sets where the SQLite database, model files and vector index live. Automatic consolidation of episodic memory is optional and only runs when MEMORY_LLM_BASE_URL points at an OpenAI-compatible endpoint. It runs on a 2GB VPS.
Setup effort
Build from source — git clone https://github.com/HugoluizMTB/bulhufas.git
USE CASES
Recovering a decision nobody wrote down
Paste the conversation once, then ask about it later by meaning rather than keyword.
Knowing what is still outstanding
List the pending action items and close the ones that are done.
Giving an LLM only the context it needs
Pull a bounded, namespace-scoped context packet instead of the whole store.
Capturing as you go rather than in a batch
Learn meaningful turns automatically and promote episodic memory into durable knowledge.
10 tools
Listed in project docs. Your client may show a different list.
remembersearchrecallobserve_turnlist_chunksupdate_statusdelete_chunklist_actionsconsolidate_memoryBEFORE YOU INSTALL
What to know first
Tools you get
10 tools named in the project's documentation. action_item, decision, blocker and similar names are chunk types, not tools; remember, search and recall are the memory tools.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/HugoluizMTB/bulhufas.git
cd bulhufas
make build
claude mcp add --transport stdio --scope user bulhufas -- <YOUR_PATH_TO_BULHUFAS>/bin/bulhufas --mcpMCP Clients
Claude Code
claude mcp add --transport stdio --scope user bulhufas -- <YOUR_PATH_TO_BULHUFAS>/bin/bulhufas --mcp