daily auto-sync 2026-06-17
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
---
|
||||
Date: 2026-06-17
|
||||
Author: Hermes
|
||||
Tags: [project, second-brain, para, mcp, obsidian, gitea, server]
|
||||
---
|
||||
|
||||
# PARA Brain MCP Server
|
||||
|
||||
## Purpose
|
||||
Explore running a lightweight, open-source MCP/server layer over the Reyna family brain so Hermes and other AI tools can safely read, search, and update the existing PARA markdown vault from multiple computers.
|
||||
|
||||
The current brain source of truth is the local markdown vault at `~/brain`, backed by the Gitea remote `https://git.reynafamily.com/adolforeyna/FamReynaBrain.git`.
|
||||
|
||||
## Current Sync Direction
|
||||
Recommended direction:
|
||||
- Use Git/Gitea as the canonical sync layer for the brain.
|
||||
- Clone `~/brain` on each computer from Gitea.
|
||||
- Use Nextcloud only as optional read-only export/backup, not as the main bidirectional live vault sync.
|
||||
|
||||
Reason: combining live Git edits and bidirectional Nextcloud sync can create conflicts, especially with Obsidian/mobile edits.
|
||||
|
||||
## Candidate: MCPVault
|
||||
Repository: https://github.com/bitbonsai/mcpvault
|
||||
|
||||
MCPVault looks like the lightest first test.
|
||||
|
||||
Why it fits:
|
||||
- Node-based MCP server.
|
||||
- Runs directly with `npx`.
|
||||
- No Obsidian desktop app required.
|
||||
- No Obsidian plugin required.
|
||||
- No database required.
|
||||
- No vector index required.
|
||||
- No Docker required.
|
||||
- Works directly against a local folder/vault.
|
||||
- Focuses on safe Obsidian-style markdown access and avoiding YAML frontmatter corruption.
|
||||
|
||||
Known dependencies from package metadata:
|
||||
- `@modelcontextprotocol/sdk`
|
||||
- `gray-matter`
|
||||
- `trash`
|
||||
- `yaml`
|
||||
|
||||
Requirement note:
|
||||
- README mentions Node 18+, but package metadata says Node `>=20.0.0`; treat Node 20+ as required.
|
||||
|
||||
Example direct run:
|
||||
```bash
|
||||
npx @bitbonsai/mcpvault@latest /home/adolforeyna/brain
|
||||
```
|
||||
|
||||
Possible Hermes MCP config:
|
||||
```yaml
|
||||
mcp_servers:
|
||||
brain:
|
||||
command: "npx"
|
||||
args:
|
||||
- "-y"
|
||||
- "@bitbonsai/mcpvault@latest"
|
||||
- "/home/adolforeyna/brain"
|
||||
```
|
||||
|
||||
## Other Open-Source Options
|
||||
- Obsidian Local REST API with MCP: https://github.com/coddingtonbear/obsidian-local-rest-api
|
||||
- Mature REST/MCP interface, but requires Obsidian running with plugin enabled.
|
||||
- obsidian-mcp-server: https://github.com/cyanheads/obsidian-mcp-server
|
||||
- Featureful Obsidian vault MCP server; may depend on the Local REST API plugin depending on mode.
|
||||
- engraph: https://github.com/devwhodevs/engraph
|
||||
- Local knowledge API over markdown/Obsidian vaults with MCP, REST, hybrid semantic/full-text/graph search, temporal scoring.
|
||||
- NeuroStack: https://github.com/raphasouthall/neurostack
|
||||
- Reads existing markdown, builds searchable knowledge graph, MCP tools, read-only indexing by default with optional writes.
|
||||
- brain.md: https://github.com/mi4uu/brain.md
|
||||
- Local-first second brain app with Obsidian-compatible markdown, semantic search, and streamable HTTP MCP server.
|
||||
- Open Second Brain: https://github.com/itechmeat/open-second-brain
|
||||
- Obsidian-native agent memory layer, explicitly mentions Hermes Agent; likely more memory-layer focused than general PARA vault management.
|
||||
- Zettelkasten MCP: https://github.com/entanglr/zettelkasten-mcp
|
||||
- Useful for atomic note/graph workflows, less directly aligned with the current PARA vault.
|
||||
|
||||
## Proposed Architecture
|
||||
Phase 1: Safe shared brain
|
||||
- Keep `~/brain` as plain markdown.
|
||||
- Use Gitea for sync between computers.
|
||||
- Run MCPVault against `/home/adolforeyna/brain` on the server.
|
||||
- Enforce brain rules:
|
||||
- preserve YAML frontmatter
|
||||
- use PARA folders
|
||||
- append unless explicit rewrite
|
||||
- journals go to `journals/YYYY-MM-DD.md`
|
||||
- never write to Nextcloud
|
||||
|
||||
Phase 2: Smarter search
|
||||
- Add engraph or NeuroStack for semantic/graph search.
|
||||
- Keep the markdown files and Gitea repo as the source of truth.
|
||||
- Treat indexes/databases as rebuildable cache, not canonical storage.
|
||||
|
||||
Phase 3: Web/API access
|
||||
- Optionally run a web UI or HTTP MCP endpoint for other computers/tools.
|
||||
- Connect Hermes, Gemini CLI, Claude Code, Cursor, and other tools to the same server-side brain interface.
|
||||
|
||||
## Open Questions
|
||||
- Should MCPVault be run as a long-lived service, or launched on demand by Hermes via stdio MCP?
|
||||
- Should write access be allowed immediately, or should the first test be read-only/search-only?
|
||||
- How should Git commits/pushes be automated after MCP writes?
|
||||
- Should the server auto-pull from Gitea only when the working tree is clean?
|
||||
- Do we want semantic search now, or keep the first implementation intentionally simple?
|
||||
|
||||
## Next Steps
|
||||
- Confirm Node 20+ on the server.
|
||||
- Test MCPVault with `/home/adolforeyna/brain` using the MCP inspector or Hermes MCP config.
|
||||
- Verify it can list/search/read notes without corrupting frontmatter.
|
||||
- Decide whether to enable write tools and how to pair them with Git commit/push automation.
|
||||
Reference in New Issue
Block a user