LobeChat
LobeChat exposes MCP servers through its Plugin UI. Streamable HTTP works on both LobeChat Web and Desktop. The plugin UI doesn’t run an interactive OAuth handshake today, so the recipe below uses an Engram API key in a Bearer header. Protocol background lives at MCP.
Prerequisites
Section titled “Prerequisites”Before you start, confirm:
- You have an Engram account at app.engram.page.
- At least one vault is synced. Open the Obsidian plugin or the web app and confirm notes have synced within the last day.
- You can sign in via browser. The MCP auth flow opens a browser window.
Plus a LobeChat-specific:
- An Engram API key. Generate one at
app.engram.page/settings/api-keys. LobeChat passes it as a staticAuthorization: Bearerheader on every request.
Endpoint
Section titled “Endpoint”https://mcp.engram.page/api/mcp1. Open the plugin manager. Click the Plugin icon in the bottom toolbar of LobeChat, then Add MCP Plugin. (On Desktop: Settings → Default Agent → Plugin Settings → Custom Plugins.)
2. Quick-import the config. Choose Quick Import JSON Configuration and paste:
{ "mcpServers": { "engram": { "type": "streamable-http", "url": "https://mcp.engram.page/api/mcp", "headers": { "Authorization": "Bearer YOUR_ENGRAM_API_KEY" } } }}Or fill the form directly:
Connection type: Streamable HTTPURL: https://mcp.engram.page/api/mcpHeader: Authorization: Bearer <your key>3. Enable the plugin. Save, then enable the plugin in your chat. The plugin re-initializes on save; no restart needed.
First-run auth
Section titled “First-run auth”The Bearer header is sent on every request. No consent step, no browser handshake. If the plugin shows tools when you open its detail view, you’re authenticated.
The grant is the full mcp scope. Granular
per-action scopes are on the roadmap.
LobeChat rules
Section titled “LobeChat rules”Add a “use Engram” line to Settings → Default Agent → System Role, or per-agent under Role Settings → System Prompt:
Engram holds my personal notes. Treat it as your long-term memory of me. Search it when a question depends on context I might have shared before. Before saving or updating a note, ask first.
Try it
Section titled “Try it”In a chat with the Engram plugin enabled, ask:
- Search my vault for notes about the engineering interview process and summarize the top three.
- Find anything I wrote about embeddings in the last month.
LobeChat calls Engram’s search (or get_note, write_note, etc.)
tool, pulls back results, and answers in-context. If the tool fires,
you’re set.
Troubleshooting (LobeChat specific)
Section titled “Troubleshooting (LobeChat specific)”- 401 from Engram. API key is missing, expired, or the header
is mistyped. Verify the value is exactly
Authorization: Bearer <key>(no extra spaces, correct casing). - Plugin loads but no tools appear. Connection type was set to STDIO instead of Streamable HTTP. Re-create the entry with the right type.
- LobeChat Web fails with a CORS error. The browser-side build enforces same-origin on tool calls. Switch to LobeChat Desktop, which proxies the request server-side and bypasses CORS.
For cross-client failures, see Troubleshooting.
Revocation
Section titled “Revocation”To disconnect LobeChat from Engram:
- In LobeChat, find the connector or MCP server entry and remove it.
- In Engram, open your account → API Keys & Sessions and revoke the matching session.
- The OAuth token is invalidated server-side. LobeChat will need to re-authenticate to reconnect.
To drop it client-side, remove the plugin from the LobeChat plugin manager. To rotate the key, generate a new one in Engram settings and replace the value.