112 lines
4.6 KiB
Markdown
112 lines
4.6 KiB
Markdown
---
|
|
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.
|