Skip to main content
Glama

Doc77 — Local Document Preview & Management · Markdown · PDF · MCP Server · LAN Sharing

Document viewer | Document manager | Markdown reader | PDF viewer | Code viewer | Knowledge base | Local document server

Open-source · Free · Cross-platform · Mobile-ready · Zero-config · 📦 Desktop app

Doc77 is a lightweight local document previewer, MCP file-operation bridge, and AI conversation-driven document management agent. Your browser is the workbench — supports Windows / macOS / Linux / WSL. Also available as an Electron desktop app for non-technical users, double-click to use. Can be safely exposed to the internet with password protection.

In read-only mode it's a multi-project showcase; in write mode it's an intelligent steward that asks for your approval — every file operation is confirmed by you before execution, backed by built-in security review, atomic transaction rollback, and cross-drive fault tolerance.

Preview

Dashboard

Document Preview

Dashboard

Preview

Login

Mobile

Login

Mobile

Related MCP server: mcp-dev-tools

Use Cases

Scenario

Description

📚 Personal Knowledge Base

Point to a local folder and browse it like a knowledge base. A lightweight alternative to Obsidian / Notion, with your files always under your control

📝 Technical Writing

Write Markdown with instant preview. TTS read-back for proofing. MDX and Mermaid diagram support — a documentation engineer's tool

🎓 Academic Research

Manage papers (PDF) + notes (MD) + experimental code in one project directory. AI summarization for quick literature scanning

🏠 NAS / Home Server

Run doc77 on your NAS, access your document library from any device in the house. Password-protected. Unified entry for photos, docs, e-books

💼 Remote Work

VPN into your office computer and browse documents from a browser — no remote desktop needed. Bandwidth-efficient, memory-light

🔧 Ops Troubleshooting

View logs and config files on a server. With MCP, let AI assist in diagnostics. The approval mechanism ensures no accidental damage

🎤 Technical Interviews

Share a code or design doc link with candidates in one click. Their browser renders it directly — no screen sharing required

🐳 Docker Deployment

Mount a document volume and start the container. CI/CD artifact docs become instantly previewable

📡 LAN Meeting Sharing

One person runs doc77 start --bind 0.0.0.0, everyone on the LAN opens it in their browser. Review requirements docs or design proposals on your own device

📱 Mobile Access

Phone/tablet adaptive UI — browse project docs during commutes or at client sites. Responsive design, consistent experience across desktop and mobile

🔄 Win+WSL Hybrid

Write code in WSL, work in Windows. Skip SSH or terminal lessdoc77 start --bind 0.0.0.0 and preview from your Windows browser or phone

🤖 Agent / MCP Development

Built-in MCP Server (stdio + HTTP) with 8 tools exposing filesystem capabilities. Debug agents while watching file changes and approving write operations from the Web UI

🪟 Windows Productivity

Completely free document preview tool. Markdown, PDF, Office, code highlighting all in one place

🗄️ Multi-project Management

Register once, remember forever. Dashboard for unified switching. Favorites, recent files, global search, directory tree — browse local docs like an IDE

🔒 Secure Team Sharing

One-click LAN sharing + password protection. Documents stay on your device, never land on anyone else's. Approval workflow keeps write operations under control

⚡ Zero-config Document Portal

npm install -gdoc77 register → open browser. No nginx, no Apache, three minutes to your own private document portal

Current Focus

Doc77 prioritizes preview experience, complemented by lightweight editing. Text files can be quickly edited and saved in-page (with external change conflict detection); heavy editing launches VS Code or your system editor with one click. Current focus:

  • 🚀 Performance — Instant startup, smooth with large files

  • 🐛 Stability — Multi-platform compatibility, eliminate experience bugs

  • Preview Quality — Format support, reading tools, AI assistance pushed to the limit

Capabilities

Module

Details

Multi-format Preview

Markdown (GFM/KaTeX/Mermaid/PlantUML/Footnotes/Admonitions), PDF, Word/Excel, 44+ code languages with syntax highlighting, image Lightbox, JS/Python sandbox execution

Reading Tools

TTS read-aloud, auto-scroll, reading progress, in-doc search (Ctrl+F), global search, outline panel, bookmarks, recent files

Multi-tab & Editing

Multiple document tabs (LRU render cache), drag-and-drop temp file preview, lightweight text editing (external change conflict detection), one-click VS Code launch

AI Assistant

Natural language conversation (SSE streaming), doc summarization, smart categorization, batch operation planning. Supports DeepSeek/OpenAI/Qwen/Kimi/Doubao/GLM and custom endpoints

MCP & Approval

MCP Server (stdio + HTTP) with 8 tools exposing filesystem; all write operations queued for approval, CLI and Web dual-channel

Transaction Rollback

Pre-flight check + Shadow backup + reverse-order rollback. Failed batch operations auto-recover, orphaned shadow GC

Export & Share

Self-contained HTML export (inline styles and images, preserves light/dark theme), LAN read-only sharing links (with TTL, QR code, one-click revoke)

Offline Translation

Opus-MT ONNX models fully local (en↔zh), auto-language detection, translate-on-select + long-doc segment translation, no data leaves your machine

Multilingual UI

English / 简体中文 built-in, auto-detects browser and system language, extensible via ~/.doc77/locales/<lang>.json — add any language

Project Import

Obsidian vault ([[wikilink]] resolution), Git project batch scan, VS Code workspace import, tech-stack tag recognition

Mobile Companion

Scan QR code from Dashboard to open mobile view, mDNS LAN discovery, adaptive mobile UI

Electron Desktop

Windows / macOS / Linux one-click install, native file dialogs, system tray, vendor resources built-in (default port 28888)

Modular Plugins

AI / MCP / Translation optional installation (doc77 i ai / doc77 i translate), lightweight by default, expand on demand

Security

Path sandboxing, sensitive file filtering, envelope encryption (DEK), 10 one-time recovery codes, brute-force protection, session management, audit logging, password-protected external exposure

Offline-ready

doc77 vendor-install caches all CDN dependencies locally, fully functional without internet

Installation

Double-click to install, desktop shortcut launches the app. Native file dialog to select folders, ready out of the box.

npm install -g idoc77                # Install
doc77 register ./my-docs --name "My Docs"   # Register a project
doc77 start                          # Start (127.0.0.1:27777)
doc77 start --bind 0.0.0.0           # Or allow LAN access

Command Reference

Core Commands

Command

Description

doc77 start [--port <n>] [--bind <addr>]

Start Web Dashboard (default port 27777; desktop 28888)

doc77 register <path> [--name <n>]

Register a project directory

doc77 list [--json]

List all registered projects

doc77 remove <id>

Remove a project by ID (does not delete source files)

doc77 update <id> [--name <n>] [--path <p>]

Update project name or path

doc77 status

Check service status

Configuration

Command

Description

doc77 config set <key> <value>

Set a config value

doc77 config get <key>

Get a config value

doc77 config list

List all config

doc77 config set-password

Set an access password (first time)

doc77 config change-password

Change access password

doc77 config reset-password

Reset password using recovery code

doc77 config reset-password --force

Force reset (clears encrypted config)

doc77 config recovery-codes

Regenerate recovery codes

Common config keys:

Key

Description

Default

ai.enabled

Enable AI assistant

false

ai.token

AI API token

ai.base_url

AI API base URL

https://api.deepseek.com

ai.model

Model name

deepseek-v4-pro

editor.default

Default editor

vscode

locale.language

UI/AI/CLI global language (empty = auto-detect)

translate.enabled

Enable offline translation

true

translate.mirror

Mirror download for models (hf-mirror.com)

false

export.share.ttl_hours

Share link TTL (hours)

24

MCP Service

Command

Description

doc77 mcp serve [--http] [--port <n>]

Start MCP service (stdio or HTTP transport)

Task Approval

Command

Description

doc77 approve --list

List pending approval tasks

doc77 approve --accept <task_id>

Approve a task

doc77 approve --reject <task_id>

Reject a task

doc77 approve --accept --all

Batch approve all

doc77 approve --reject --all

Batch reject all

Lock Management

Command

Description

doc77 lock status

View active project locks

doc77 lock release <project_id>

Manually release a project lock

Offline Support

# Download all CDN resources locally (~16MB)
doc77 vendor-install

# Skip Pyodide (Python runtime), save ~12MB
doc77 vendor-install --no-pyodide

# Download offline translation models (en↔zh, ~80MB each)
doc77 vendor-install --translate en-zh
doc77 vendor-install --translate zh-en

Resources are cached in ~/.doc77/vendor/ and auto-detected on restart. Re-running skips already-downloaded files.

Supported Formats

Format

Extensions

Read Mode

Markdown

.md .mdx .markdown

✅ TTS/Search/Outline/Progress

Mermaid

.mermaid .mmd

Code (~44 langs)

.ts .js .py .go .rs .java .c .cpp .html .css .json

✅ Syntax highlighting

PDF

.pdf

✅ Browser-native + fullscreen

Images (9 types)

.png .jpg .gif .svg .webp .avif .bmp .ico

✅ Lightbox zoom/nav

Word

.docx

✅ mammoth.js rendering

Excel

.xlsx .xls

✅ SheetJS + tab switching

JavaScript

.js

✅ Sandbox execution

Python

.py

✅ Pyodide WASM execution

Unsupported

.mp4 .zip .exe .shp .psd

❌ File info card + show in folder

Markdown Features

Feature

Example

Status

Headers / Bold / Italic / Strikethrough

# H1, **b**, *i*, ~~del~~

✅ GFM

Lists (nested / ordered / unordered)

1., - , indent

✅ GFM

Task lists

- [x] - [ ]

✅ GFM

Tables (with alignment)

`

:---

Blockquotes / Horizontal rules

> quote, ---

✅ GFM

Images / Links / Image links

![alt](url), [text](url)

✅ Local paths auto-rewrite to API

Code blocks + syntax highlighting

```python

✅ highlight.js (44+ languages)

Copy-to-clipboard button

hover top-right

Math (inline / block)

$E=mc^2$, $$\int$$

✅ KaTeX

Mermaid diagrams

```mermaid

✅ Flow / Sequence / Gantt / Class / State / Pie

PlantUML diagrams

```plantuml

✅ kroki.io (offline falls back to source)

Emoji shortcuts

:smile: :rocket: :heart:

Highlight marks

==highlight==

<mark>

Footnotes

[^1] [^2]

GitHub admonitions

> [!NOTE] > [!WARNING]

Collapsible sections

<details><summary>

✅ Native HTML

Heading anchors

## My Heading#my-heading

Raw HTML

<kbd>, <sup>, <audio>, <video>

✅ Browser-native

Definition lists

Term : definition

Auto TOC

[TOC]

⚠️ Outline panel replaces this

Offline Availability

Doc77 uses a vendor system for CDN → local fallback. doc77 vendor-install downloads resources to ~/.doc77/vendor/. The Electron desktop build bundles vendor resources at build time (extraResources).

Feature

Library

CLI vendor-install

Electron Built-in

Offline Fallback

Tailwind CSS

tailwind.js

3s timeout → unstyled

highlight.js

highlight.min.js

Code blocks lose highlighting

Mermaid

mermaid.min.js

Shows source

KaTeX

katex.min.js

Shows LaTeX source

XLSX

xlsx.mini.min.js

.xlsx not previewable

DOCX

mammoth.browser.min.js

.docx not previewable

Python

pyodide.js + wasm

⚠️ ~12MB extra

❌ Not bundled

.py not executable

PlantUML

kroki.io

❌ Needs internet

❌ Needs internet

Shows source

One-Command Restart

./scripts/restart.sh              # Default port 27777
./scripts/restart.sh --port 8080  # Custom port

To bind 0.0.0.0 for external access, use doc77 start --bind 0.0.0.0 (a password will be required).

Design Philosophy

  1. Documents stay where they are — never copy or upload user files, read-only access to local paths

  2. Preview ≠ Edit — let professional tools (VS Code / Typora) handle editing, let Doc77 handle preview

  3. Register once, manage forever — register a project directory once, it's remembered permanently

  4. Lightweight first — single process, SQLite, zero-config, out of the box

  5. Conversation-driven — natural language interaction, AI-assisted planning, human final decision

Documentation

Document

Description

System Architecture

Complete design document

Architecture Review

Tech stack verification & architecture review

Implementation Plan

40 tasks, 9 phases detailed plan

Implementation Status

Real-time development progress

Changelog

Version history

Tech Stack

Component

Choice

Runtime

Node.js >= 22.x

Language

TypeScript ^5.8

Web Framework

Express 5.x

Database

SQLite (sql.js)

MCP Protocol

@modelcontextprotocol/sdk

Frontend

Vanilla HTML + CSS + JS (marked, Mermaid, highlight.js) + browser-native PDF / HTML preview

Build

tsup + pnpm workspaces

Test

Vitest

Project Structure

doc77/
├── packages/
│   ├── core/          # @doc77/core  Preview engine + FS abstraction + Express Server
│   ├── mcp/           # @doc77/mcp   MCP service layer + security guard + transaction system
│   ├── ai/            # @doc77/ai    AI provider + Agent core + Chat API
│   ├── cli/           # doc77 CLI    Command-line entry
│   ├── electron/      # Desktop shell (tray / native dialogs / port 28888)
│   └── doc77/         # idoc77 meta-package for npm publishing
├── docs/
│   ├── design/        # Design docs
│   ├── analysis/      # Analysis reports
│   └── planning/      # Implementation planning
├── scripts/           # Tool scripts
├── CLAUDE.md          # Project conventions
└── README.md          # This file

Privacy & Security

  • All data stored locally in ~/.doc77/

  • AI tokens encrypted in SQLite

  • No file content sent to external servers (unless you manually enable AI features)

  • Password-protected access supported

License

MIT License

F
license - not found
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
32Releases (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.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • AI document editing for agents: draft, edit, export .docx/PDF. 37 MCP tools; agent self-signup.

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • MCP-native collaborative markdown editor with real-time AI document editing

View all MCP Connectors

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/xyy277/doc77'

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