loading…
Search for a command to run...
loading…
Native macOS markdown preview app with MCP server. Open and render Markdown files in MarkView directly from AI assistants via npx mcp-server-markview.
Native macOS markdown preview app with MCP server. Open and render Markdown files in MarkView directly from AI assistants via npx mcp-server-markview.
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 (
appbadge) and the npm MCP wrapper (npmbadge) 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.

| Preview only | Editor + Preview |
|---|---|
![]() |
![]() |
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) orclaude_desktop_config.json(Claude Desktop), not~/.claude/settings.json.
# Full .app with Quick Look extension — Apple notarized, Gatekeeper approved
brew install --cask paulhkang94/markview/markview
# CLI only (builds from source)
brew tap paulhkang94/markview
brew install markview
Prerequisites: macOS 14+, Swift 6.0+ (Xcode Command Line Tools)
git clone https://github.com/paulhkang94/markview.git
cd markview
swift build -c release
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/.
mdpreview README.md # Open a file
mdpreview # Open empty editor
Right-click any .md, .markdown, .mdown, .mkd file > Open With > MarkView
open -a MarkView README.md
.md files in Finder without opening the app correctly.md file onto the window to openSources/MarkViewCore/ # Library (no UI, fully testable)
MarkdownRenderer.swift # cmark-gfm C API wrapper
FileWatcher.swift # DispatchSource file monitoring
MarkdownLinter.swift # 9-rule pure Swift linting engine
HTMLSanitizer.swift # XSS prevention
LanguagePlugin.swift # Plugin protocol + registry
Plugins/ # CSV, HTML, Markdown plugins
Sources/MarkView/ # SwiftUI app (macOS 14+)
ContentView.swift # Split-pane editor + preview
WebPreviewView.swift # WKWebView with Prism.js
ExportManager.swift # HTML/PDF export
Sources/MarkViewMCPServer/ # MCP server for AI tool integration
main.swift # stdio JSON-RPC (preview_markdown, open_file)
Tests/TestRunner/ # 403 standalone tests (no XCTest)
Tests/VisualTester/ # 5 visual regression tests + WCAG contrast
Tests/FuzzTester/ # 10K random input crash testing
Tests/DiffTester/ # Differential testing vs cmark-gfm CLI
See docs/ARCHITECTURE.md for full details.
swift run MarkViewTestRunner # 403 tests
bash verify.sh # Full verification (build + tests)
bash verify.sh --extended # + fuzz + differential
bash scripts/test-mcp.sh # MCP protocol tests
swift build
swift run MarkView
swift run MarkView /path/to/file.md
MIT — see LICENSE.
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"paulhkang94-markview": {
"command": "npx",
"args": []
}
}
}