关于 Markview
MarkView 是面向 macOS 的原生 Markdown 预览应用,并附带一个 MCP 服务,供 Claude Code 等客户端调用。它使用 Swift 和 SwiftUI 构建,不基于 Electron,适合需要实时查看 Markdown 渲染结果的开发者。
主要功能
- 01GFM 渲染,支持表格、任务列表和脚注
- 02Mermaid 图表与 Prism.js 语法高亮
- 03Finder 快速预览与 Open With 集成
- 04Markdown 语法检查,内置 9 条规则
- 05双栏编辑器与滚动同步
- 06导出为 HTML 和 PDF
适用场景
- 01在 Claude Code 中实时预览 Claude 生成的 Markdown 内容
- 02在原生窗口中查看并编辑本地 .md 文件
- 03在 Finder 中不打开应用直接预览文档
MCP 相关
该项目提供 MCP 服务,向客户端暴露 preview_markdown 工具(渲染 Markdown 字符串)和 open_file 工具(打开 .md 文件)。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MarkView
适用于 Claude Code 的原生 macOS Markdown 预览工具,带有 MCP 服务。Claude 编写 Markdown,MarkView 会在你工作时,在真正的原生窗口中实时渲染。
版本: macOS 应用(
app徽章)和 npm MCP 封装程序(npm徽章)的版本独立管理。Swift 二进制文件发生变化时发布应用新版本;MCP 服务改进时发布 npm 补丁版本。两个徽章始终显示各自的最新版本。

| 仅预览 | 编辑器 + 预览 |
|---|---|
![]() | ![]() |
快速开始 — Claude Code
只需一条命令,即可在每个 Claude Code 会话中配置 MarkView:
claude mcp add --transport stdio --scope user markview -- npx mcp-server-markview
就这么简单。现在,Claude 可以调用 preview_markdown,在原生 macOS 窗口中渲染任意 Markdown 字符串;也可以调用 open_file,直接打开任意 .md 文件。
| 工具 | 功能 |
|---|---|
preview_markdown | 在 MarkView 窗口中实时渲染 Markdown 内容 |
open_file | 在 MarkView 中打开现有的 .md 文件 |
Claude Desktop 设置
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"markview": {
"command": "npx",
"args": ["mcp-server-markview"]
}
}
}
注意: MCP 服务应配置在
~/.claude.json(Claude Code)或claude_desktop_config.json(Claude Desktop)中,而不是~/.claude/settings.json。
安装
Homebrew(推荐)
# 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
从源代码构建
前置条件: 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
在 /Applications 中创建 MarkView.app,并通过 Launch Services 注册,以便在 Finder 中右键点击文件后选择“打开方式” > “MarkView”。如果 Dock 中固定的图标指向 build/ 或仓库根目录下的 MarkView.app 路径(两者都是临时的开发产物),则安装会被拒绝,除非传入 --force。
安装 CLI
bash scripts/install-cli.sh
在 ~/.local/bin/ 中创建 mdpreview 和 md 符号链接。
用法
CLI
mdpreview README.md # Open a file
mdpreview # Open empty editor
Finder
右键点击任意 .md、.markdown、.mdown、.mkd 文件 > 打开方式 > MarkView
编程方式
open -a MarkView README.md
功能
- GitHub Flavored Markdown,由 swift-cmark 提供支持(表格、删除线、自动链接、任务列表、脚注)
- Mermaid 图表 — 流程图、时序图、甘特图、ER 图和饼图
- 通过 Prism.js 实现语法高亮(18 种语言)
- Quick Look 集成 — 在 Finder 中按空格键预览
.md文件,无需打开应用 - Markdown 检查,内置 9 条规则,并在状态栏显示诊断信息
- 实时分屏编辑器,通过 WKWebView 渲染并双向同步滚动
- 使用 DispatchSource监视文件 — 兼容 VS Code、Vim 等编辑器
- 本地图片渲染 — 正确内嵌
这样的相对路径 - 导出为 HTML 和 PDF
- HTML 净化器 — 移除脚本、事件处理程序和 XSS 攻击向量
- 拖放 — 将任意
.md文件拖到窗口中即可打开 - 查找和替换 — Cmd+F / Cmd+Option+F
- 保存时格式化 — 自动应用检查修复
- 自动保存、字数统计、行号、保留滚动位置
- 深色模式 — 提供系统、浅色和深色主题选项,以及 18 项可配置设置
架构
Sources/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
测试
swift run MarkViewTestRunner # 403 tests
python3 scripts/verify.py # Full verification (build + tests, writes stamp)
python3 scripts/verify.py --extended # + fuzz + differential
bash scripts/test-mcp.sh # MCP protocol tests
开发
swift build
swift run MarkView
swift run MarkView /path/to/file.md
支持
- GitHub Sponsors
- 为此仓库点星,帮助更多人找到它
许可证
MIT — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。

