---
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.
