osesantos/gomind
If you are the rightful owner of gomind and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
GoMind is a lightweight, modular MCP server designed for private retrieval-augmented generation using local LLMs and personal data.
š§ GoMind
A lightweight, modular MCP (Multi-Component Protocol) server written in Go, focused on Private RAG (Retrieval-Augmented Generation) powered by local LLMs and your personal data.
⨠What is GoMind?
GoMind is a brain orchestrator that sits between a user interface (like LibreChat) and multiple intelligent agents or plugins. It:
- Receives natural language questions
- Orchestrates calls to various data sources (Obsidian notes, local vector DBs, etc.)
- Uses Hermes as a message bus to communicate with agents
- Assembles the full context and sends it to a local LLM (via Ollama)
- Returns the response to the user
Think of it as a LangChain killer ā 100% private, no dependencies, fast and fully owned by you.
š§© Architecture Overview
[LibreChat or CLI]
ā
ā¼
[ GoMind ] āāāāāāāāāāāāāāāāāāāāāāāā
ā ā
ā ā
āāāā Receives natural language question (e.g. "What is GoMind?")
ā ā
āāāā Parses question and identifies required data sources
ā ā
ā āāāā [Obsidian Reader Agent] (MCP Core)
ā ā
ā āāāā [Vector Search Agent] (MCP Core)
ā ā
ā āāāā [Other Agents]
(MCP Core) ā
ā ā
āāāā Publishes requests via Hermes ("query.obsidian", "query.search", ...)
ā ā
āāāā Receives responses via Hermes (with correlation ID)
ā ā
āāāā Assembles context + sends prompt to LLM (Ollama)
ā
ā¼
[ Local Response ]
š§ Tech Stack
- Go 1.22+
- Hermes (lightweight pub/sub message bus)
- Ollama (local LLM runner, e.g. Mistral)
- Meilisearch or Chroma (for vector search)
- Markdown file support (e.g. Obsidian vaults)
- JSON-based message protocol with correlation ID
š¦ Features
- š§ Private RAG from your local knowledge base
- šŖ Plugin-based architecture using Hermes
- ā” Fast and lightweight (no LangChain or Python overhead)
- š§° Extensible with
hermes-go-sdk
for writing new agents - ā±ļø Timeouts, fan-out/fan-in orchestration, modular pipeline
š§ Status
MVP in progress ā building core functionality first:
ā Ollama connector
ā Obsidian reader agent
ā Basic message bus with Hermes
š Plugin protocol schema + timeout management
š Agent discovery + CLI mode
š Getting Started
git clone https://github.com/osesantos/gomind
cd gomind
go run src/main.go
# Test with curl
curl -X POST http://localhost:4433/ask \
-H "Content-Type: application/json" \
-d '{"question": "What is GoMind?"}'
Make sure you have:
- Hermes running (or embedded mode)
- Ollama installed and serving a model (e.g.
ollama run mistral
) - Some markdown notes to test against
š License
MIT ā made with ā¤ļø and caffeine.
š Credits
Inspired by:
- LangChain (but better)
- Personal RAG workflows
- Modular AI design
Built by osesantos