Markview

by paulhkang94

35 721 downloads Not rated yet MIT

About

Native macOS markdown preview + MCP server for Claude Code. Swift/SwiftUI, GFM, Mermaid, syntax highlighting. No Electron.

Details

License
MIT

Explore

- GitHub Flavored Markdown via swift-cmark (tables, strikethrough, autolinks, task lists, footnotes)
- Mermaid diagrams — flowcharts, sequence, Gantt, ER, and pie charts
- Syntax highlighting via Prism.js (18 languages)
- Quick Look integration — spacebar-preview .md files in Finder without opening the app
- Markdown linting with 9 built-in rules and status bar diagnostics
- Live split-pane editor with WKWebView rendering and bidirectional scroll sync
- File watching with DispatchSource — works with VS Code, Vim, and other editors
- Local image rendering — inlines relative paths like correctly
- Export to HTML and PDF
- HTML sanitizer — strips scripts, event handlers, and XSS vectors
- Drag and drop — drop any .md file onto the window to open
- Find & Replace — Cmd+F / Cmd+Option+F
- Format on save — auto-applies lint fixes
- Auto-save, word count, line numbers, scroll position preservation
- Dark mode — system/light/dark theme options, 18 configurable settings

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Markview
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

One command to wire MarkView into every Claude Code session:

claude mcp add --transport stdio --scope user markview -- npx mcp-server-markview

That's it. Claude can now call preview_markdown to render any markdown string in a native macOS window, or open_file to open any .md file directly.

| Tool | What it does |
|------|-------------|
| preview_markdown | Render markdown content in a live-reloading MarkView window |
| open_file | Open an existing .md file in MarkView |

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "markview": {
      "command": "npx",
      "args": ["mcp-server-markview"]
    }
  }
}

> Note: MCP servers belong in ~/.claude.json (Claude Code) or claude_desktop_config.json (Claude Desktop), not ~/.claude/settings.json.

brew install --cask paulhkang94/markview/markview

bash scripts/bundle.sh --install

Creates MarkView.app in /Applications and registers it with Launch Services for right-click > Open With in Finder.

bash scripts/install-cli.sh

Creates mdpreview and md symlinks in ~/.local/bin/.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "markview": {
            "markview": {
                "command": "npx",
                "args": [
                    "-y",
                    "mcp-server-markview"
                ]
            }
        }
    }
}

McpServers

{
    "markview": {
        "command": "npx",
        "args": [
            "-y",
            "mcp-server-markview"
        ]
    }
}

App
npm&color=green)
Glama

Native macOS markdown preview with MCP server for Claude Code. Claude writes markdown — MarkView renders it live, in a real native window, while you work.

> Versions: The macOS app (app badge) and the npm MCP wrapper (npm badge) are versioned independently. App releases happen when the Swift binary changes; npm patches happen for MCP server improvements. Both badges always show the latest of each.

MarkView demo

| Preview only | Editor + Preview |
|:---:|:---:|
| Preview | Editor + Preview |

Quick Start — Claude Code

One command to wire MarkView into every Claude Code session:

claude mcp add --transport stdio --scope user markview -- npx mcp-server-markview

That's it. Claude can now call preview_markdown to render any markdown string in a native macOS window, or open_file to open any .md file directly.

| Tool | What it does |
|------|-------------|
| preview_markdown | Render markdown content in a live-reloading MarkView window |
| open_file | Open an existing .md file in MarkView |

Claude Desktop Setup

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "markview": {
      "command": "npx",
      "args": ["mcp-server-markview"]
    }
  }
}

> Note: MCP servers belong in ~/.claude.json (Claude Code) or claude_desktop_config.json (Claude Desktop), not ~/.claude/settings.json.

Installation

Homebrew (recommended)

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.