html-mcp-web
Review AI-generated HTML slides or reports in the browser, anchor comments to specific passages, and have the agent fix them via MCP, with tools for inspection, commenting, layout checking, and export to PDF/PPTX.
README
html-mcp-web
Review an AI agent's HTML slides or report from the rendered page while Claude Code or Codex edits the source.

You open the artifact in a local review page, select rendered text, and comment on it. The agent reads the comment over MCP, edits the HTML, and replies in the same thread. Because you point at the rendered page, you never hunt for the source, and saving a file refreshes only the artifact frame, so your scroll position and drafts stay put.
you: select text on the page -> write a comment
|
agent: read comments -> edit HTML -> reply or resolve
|
you: read the refreshed page -> comment again
Requirements
- Python 3.10 or newer.
- Firefox, only for PDF or PPTX export.
Install
git clone https://github.com/MiiKiyoshi/html-mcp-web.git
cd html-mcp-web
python -m venv .venv
.venv/bin/pip install -e '.[mcp]'
Register the MCP server once, using the executable inside the venv so it resolves without activation. Run this from the repository directory:
Claude Code:
claude mcp add --scope user html-mcp -- "$PWD/.venv/bin/html-mcp"
Codex:
codex mcp add html-mcp -- "$PWD/.venv/bin/html-mcp"
The html-mcp-web command (project setup) is also in .venv/bin; activate the venv or call it by that path.
Quickstart
cd examples
# Start Claude Code or Codex here, with the html-mcp server enabled.
Ask the agent to call inspect(). The review page opens at http://localhost:8766, with tabs for the neutral slides and report examples. Select some text, press Comment, and ask the agent to process the comments.
Set up your own artifact
In the directory that holds your artifact, create one project and pick a layout:
html-mcp-web init --layout slides --main artifact.html
Then ask the agent to call inspect(); the same session starts the review page at the configured port. init writes .html-mcp-web.yaml:
artifacts:
slides:
label: Slides
layout: slides
main: artifact.html
watch: ['*.html', '*.css', '*.js', '*.svg', '*.png', '*.jpg', '*.jpeg', '*.gif', '*.webp']
ignore: []
port: 8765
artifacts maps an id to its label, layout (slides is 16:9, report is A4), and main file, where every section.page is one printed page. watch refreshes on save, ignore is checked first, and port is the local address. Agent sessions that find the same config share one server, comments, and revisions.
Use it
Select text and press Comment; the anchor reattaches to the quote after edits. Use + Note for a whole-artifact comment, the Pages tab to jump between pages, and the Edit link to fix your own message in place. Resolve and Dismiss close a comment in one click. Then ask the agent:
Process the open html-mcp-web comments.
The agent reads the comments, edits the source, and replies or resolves each one. The review page also flags anything off the page, clipped SVG drawings, and overlapping labels at the artifact's fixed size, and reports them to the agent so it can fix them. Comments are stored in .html-mcp-web/comments/<artifact>.json, which holds selected text, so whether to track it in git is a privacy choice.
Templates
A template compiles a small content file into the artifact, so you edit content while the cover, bars, and page numbers stay consistent:
html-mcp-web init --layout slides --main slides.html --template neutral-slides --content content.html
The build reruns on every content save. This repo ships templates/neutral-slides/ and templates/neutral-report/; the content format is in templates/README.md. Your own templates go in ~/.config/html-mcp-web/templates/<name>/ and stay out of this repository.
Export
The topbar exports each artifact as a file. PDF prints every page at the layout's fixed size through headless Firefox. PPTX (slides only) builds an editable deck: text stays editable text, tables stay tables, inline SVG stays vector, and math becomes an image. A skin can name TrueType files to embed the deck font; see templates/README.md.
Configuration
html-mcp-web config # print the whole config
html-mcp-web config artifacts.slides.layout report # change one value
html-mcp-web config port 8766
html-mcp-web config watch '*.html,assets/**'
init also takes --port and, for a templated artifact, --template <name> --content <file>. Config changes apply on the next save; a port change takes effect when the agent restarts.
Security
An agent-generated artifact runs JavaScript with the local page's privileges, so html-mcp-web is for trusted local artifacts and binds to 127.0.0.1 only.
Acknowledgements
MIT licensed; see LICENSE. Full-screen wheel navigation adapts the intent-detection strategy from Swiper's Mousewheel module by Vladimir Kharlampidi and the Swiper contributors, under the MIT license.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。