Credits: Rafa Martins ( rafacpti@gmail.com | | ramelseg.com.br)
Website: synapselayer.org | Forge: forge.synapselayer.org/forge | GitHub: github.com/SynapseLayer/synapse-layer
Zero-Knowledge encrypted memory that persists across ALL Hermes channels. Context survives between sessions, Telegram/WhatsApp/CLI all share the same memory.
Add to ~/.hermes/config.yaml at the root level (same indentation as display:, mcp_servers:):
yaml
mcp_servers:
synapse-layer:
url: "https://forge.synapselayer.org/mcp"
headers:
Authorization: "Bearer ${SYNAPSE_TOKEN}"
timeout: 120
connect_timeout: 60
Add your Synapse Layer token to ~/.hermes/.env:
text
SYNAPSE_TOKEN=sk_connect_your_token_here
Get your token at: https://synapselayer.org/forge
The tool_progress feature shows tool names in Telegram when the model uses MCP tools. To prevent mcp_synapse_layer_search from appearing as a message in Telegram, add per-platform display config:
yaml
display:
tool_progress_command: false
tool_progress_overrides: {}
tool_preview_length: 0
tool_progress: all
platforms:
telegram:
tool_progress: off
bash
hermes restart
ToolPurposemcp_synapse_layer_recallRetrieve memories before responding (use at EVERY session start)mcp_synapse_layer_save_to_synapsePersist facts, preferences, decisions immediatelymcp_synapse_layer_searchFull-text cross-agent search across all memoriesmcp_synapse_layer_process_textAuto-detect milestones/decisions in free-form textmcp_synapse_layer_health_checkVerify connection and system status
Always call recall before generating any response. This is the #1 rule for memory to work:
text
mcp_synapse_layer_recall(query="contexto atual projetos usuario", agent_id="hermes-rafa")
This loads relevant memories automatically and saves tokens by avoiding reprocessing context.
text
mcp_synapse_layer_save_to_synapse(
content="User Rafa Martins preference: always respond in pt-BR with voice Thalita",
agent_id="hermes-rafa",
type="[MANUAL]",
importance=5,
tags=["preference", "user-profile"]
)
text
mcp_synapse_layer_search(query="dashboard git projetos", agent_id="hermes-rafa")
text
mcp_synapse_layer_process_text(
text="We decided to use Synapse Layer for memory. API endpoint is forge.synapselayer.org. Token stored in .env.",
agent_id="hermes-rafa"
)
Results from recall include a tq score (0.0 to 1.0). When multiple results match:
All project-related memories MUST be stored in Synapse Layer. Below is the canonical list of memory categories the agent must maintain:
Every active project the user works on must be stored with:
hermes auth list)Safe to store: user preferences, project decisions, environment facts, code patterns, tool quirks.
Synapse Layer pipeline on every save:
bash
# JSONRPC 2.0 format — list available tools
curl -X POST "https://forge.synapselayer.org/mcp" \
-H "Authorization: Bearer ${SYNAPSE_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
# Recall memories
curl -X POST "https://forge.synapselayer.org/mcp" \
-H "Authorization: Bearer ${SYNAPSE_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"recall","arguments":{"query":"your query","limit":3}}}'
Expected: Returns tools list with recall, save_to_synapse, search, process_text, health_check.
Symptom: Gateway logs show repeated Unknown SSE event: endpoint and GET stream disconnected, reconnecting in 1000ms every ~1 second.
Cause: Hermes uses an older MCP client library that doesn't handle the endpoint SSE event type that Synapse Layer's server sends during the MCP handshake.
Impact: MCP tools may not work reliably through the native MCP protocol. Direct REST API calls work perfectly.
Workaround: If MCP tools fail, fall back to direct REST API calls via curl (format below). This is what the model should do automatically when MCP recall fails.
When MCP is unstable, call Synapse Layer tools via REST:
bash
# JSONRPC 2.0 format required
curl -X POST "https://forge.synapselayer.org/mcp" \
-H "Authorization: Bearer ${SYNAPSE_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"recall","arguments":{"query":"your query","limit":3}}}'
Available methods: tools/call (for recall, save_to_synapse, search, process_text, health_check), tools/list
View and manage memories at: https://forge.synapselayer.org/forge
Created by: Rafa Martins (ramelseg.com.br | rafacpti@gmail.com | )
Last integrated: 17/04/2026 on server (Hermes with Nous Portal, Telegram bot: )