Skip to main content
Glama
SmartDogg

Mnela MCP Server

by SmartDogg

Mnela

Your second brain becomes an MCP server, in one click.

CI Release License: MIT Node 22 LTS TypeScript strict MCP

Install · Features · Quick start · Docs


What is Mnela?

Self-hosted personal-knowledge OS. Drop in your ChatGPT / Claude.ai exports, Obsidian vaults, voice notes, PDFs — Mnela parses them, links them into a knowledge graph, and exposes everything as an MCP server so Claude Code, Cursor, Cline, ChatGPT and any other MCP client can read and write into your second brain.

  • Postgres is the source of truth. A markdown vault is generated as an export.

  • AI calls route through a pluggable provider layer (ADR-0049). The built-in Claude Code (CLI) subprocess works out of the box with a Claude Max subscription — no API key required. Anthropic API and any OpenAI-compatible endpoint (OpenAI, DeepSeek, Grok, Gemini-via-OpenRouter, Ollama, LM Studio) can be added in /admin/system → AI Providers.

  • Falls back to Dumb Mode (FTS-only) if no provider is reachable, so the UI never goes dark.

Related MCP server: mybrain

Features

  • Drag-and-drop ingestion — ChatGPT/Claude.ai exports, Obsidian vaults, PDFs, Office docs, voice notes, images. Streaming ZIP parser handles multi-GB archives. Folder watcher picks up files dropped into ${MNELA_DATA_DIR}/dropbox/.

  • Auto knowledge graph — every document is enriched by your chosen LLM; entities, relationships, decisions, and confidence-scored link suggestions land in the graph. Low-confidence proposals queue in Review for human triage.

  • Ask Brain — chat over your vault with inline citations. SSE-streamed answer + tool-call timeline. Pin any Q&A turn to promote it to a Document and feed it back into enrichment.

  • Auto-suggested projects — post-ingest detector groups related documents into project candidates; accept or dismiss in /projects?status=suggested.

  • MCP server — bearer-token-authenticated MCP host (apps/mcp); connect from Claude Code, Cursor, Cline, ChatGPT, anything that speaks MCP.

  • Telegram bot — second canonical client. Multi-modal turn bundling: voice + photo + text in one TG thread becomes one /search/ask call.

  • One settings sheet/admin/system is the only admin page. Provider routing, ingestion limits, suggestion gates, Telegram config, API tokens — all hot-reloadable via Restart Services (no process restart).

Install (one command on a fresh VPS)

curl -fsSL https://raw.githubusercontent.com/SmartDogg/mnela/main/scripts/install.sh | sudo bash

The script auto-installs Docker if missing, asks for domain / IP / Cloudflare Tunnel choice, generates /opt/mnela/.env with random secrets, builds the six service images locally (sequentially, ~15–30 min on a 4-core VPS), applies Prisma migrations, brings the stack up, and offers an inline claude login for Claude Max users. For IP-mode installs it also mints a self-signed TLS cert into the Caddy volume before bringing Caddy up.

After install, open /setup, create the first admin, then walk through the wizard (config / Claude / modules / token). If you skipped Claude Max during install you can sign in later via docker exec -it mnela-orchestrator claude login, or add an API provider under /admin/system → AI Providers.

Backup / restore: mnela backup and mnela restore <file> round-trip everything including the encrypted provider keystore.

Full guide → DEPLOYMENT.md

Quick start (local dev)

git clone https://github.com/SmartDogg/mnela && cd mnela
cp .env.example .env       # edit POSTGRES_PASSWORD, REDIS_PASSWORD, COOKIE_SECRET
pnpm install
docker compose -f infra/docker/docker-compose.yml up -d postgres redis
pnpm --filter @mnela/db db:migrate
pnpm --filter @mnela/db db:seed
pnpm dev                   # api :3000 · web :3001 · worker · orchestrator
# open http://localhost:3001/setup

Requires Node 22 LTS, pnpm 10+, Docker. Optional: Claude Code CLI for the default built-in provider.

Configuration model

Two tiers, deliberately split:

Tier

Lives in

Hot-reloadable

Examples

Boot-critical secrets

.env (gitignored)

No

DATABASE_URL, REDIS_URL, COOKIE_SECRET, MNELA_PROVIDER_SECRET, MNELA_INTERNAL_TOKEN

User-tunable settings

SystemConfig registry — UI at /admin/system

Yes (per-subscriber ack)

enrichment.parallelism, search.fts.weight, transcription.enabled, telegram.enabled

Provider API keys and the Telegram bot token are AES-256-GCM-encrypted in the database — never put them in .env.

Architecture (one-line tour)

Service

Role

apps/api

NestJS HTTP API, SSE /search/ask, /admin/*, /projects

apps/web

Next.js 15 UI (/, /graph, /ask, /documents, /projects, /admin/system)

apps/worker

BullMQ ingestion pipeline (parsers, attachment promotion)

apps/orchestrator

Claude Code subprocess manager + enrichment + project suggestions

apps/mcp

MCP server (Streamable HTTP transport)

apps/tg-bot

Telegram frontend over /search/ask + /documents/upload

packages/llm-providers

The only place AI calls flow through

packages/mcp-tools

Shared tool registry for MCP host + in-process agent loop

Documentation

License

MIT — © 2026 SmartDogg

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SmartDogg/mnela'

If you have feedback or need assistance with the MCP directory API, please join our Discord server