Pywebview
БесплатноНе проверенPlaywright-style MCP server for pywebview apps that lets AI assistants see, control, and debug Python desktop web UIs without modifying source code.
Описание
Playwright-style MCP server for pywebview apps that lets AI assistants see, control, and debug Python desktop web UIs without modifying source code.
README
Playwright-style MCP server for pywebview apps — lets AI assistants see, control, and debug your Python desktop web UI without modifying your app's source code.
AI assistant → MCP tools → pywebview-mcp server → HTTP bridge → pywebview app
Features
- Screenshot the webview page via CDP (edgechromium/qt)
- Inspect the full DOM tree (tag, id, role, text, bounds)
- Click, type, scroll, press keys — full page interaction
- Find elements by CSS selector, text, role, or tag
- call_api — invoke
js_apimethods directly from Python (skip DOM when the app exposes an API) - eval_js / eval_python — run code in the page or app process
- Read Python logs captured from the app
- Launch and stop the app directly from Claude
Zero changes to your app's source code required.
Requirements
- Python 3.11+
- pywebview 6.0+
- uv (recommended)
- Windows (tested with WebView2), Linux/macOS (should work with supported renderers)
Installation
| Component | Where it runs | Needs pywebview? |
|---|---|---|
MCP server (pywebview-mcp) |
AI client's MCP process | No |
Bridge (via launch_app) |
Inside your pywebview app | Uses project's existing pywebview |
No changes to the target project. launch_app(cwd=…) runs
uv run --with pywebview-mcp@git python -m pywebview_mcp main.py — the bridge
is injected at runtime; nothing is added to pyproject.toml.
MCP server — Cursor
Add to %USERPROFILE%\.cursor\mcp.json or project .cursor/mcp.json:
{
"mcpServers": {
"pywebview": {
"command": "uvx",
"args": ["--from", "git+https://github.com/com55/pywebview-mcp", "pywebview-mcp"]
}
}
}
Local development:
{
"mcpServers": {
"pywebview": {
"command": "uv",
"args": ["run", "--directory", "/path/to/pywebview-mcp", "pywebview-mcp"]
}
}
}
Optional custom port:
"env": { "PYWEBVIEW_MCP_PORT": "7891", "PYWEBVIEW_MCP_CDP_PORT": "9222" }
MCP server — Claude Code
claude mcp add -s user pywebview -- uvx --from git+https://github.com/com55/pywebview-mcp pywebview-mcp
Or install the plugin (MCP + skill):
claude plugin install github:com55/pywebview-mcp
Running your app with the bridge
From MCP (recommended — zero project setup):
launch_app(cwd="/path/to/project") # main.py at root
launch_app(cwd="/path/to/project", script="app.py") # other name at root
launch_app(cwd="/path/to/project", script="backend/gui.py") # entry in subfolder
get_launch_help() # full script decision guide
cwd is the project root (pyproject.toml). script is the entry .py relative to cwd.
Manual equivalent:
cd your-pywebview-project
uv run --with "pywebview-mcp @ git+https://github.com/com55/pywebview-mcp" \
python -m pywebview_mcp main.py
Standard workflow
launch_app(cwd="/path/to/project")screenshot()+get_dom_tree()- Interact via
click,type_text, orcall_api("get_ui_state") get_logs()/get_app_output()to debug
Ports
| Env var | Default | Purpose |
|---|---|---|
PYWEBVIEW_MCP_PORT |
7891 | HTTP bridge (differs from pyside6-mcp's 7890) |
PYWEBVIEW_MCP_CDP_PORT |
9222 | Chrome DevTools for screenshots |
Limitations
- Screenshots require
edgechromiumorqtrenderer (CDP). Set automatically by the launcher. - Native file dialogs block automation — use
call_apito set paths instead. - Element IDs reset on every app restart — call
get_dom_tree()again. - uvx cache — after updating the package, clear uv cache or use a local path.
Architecture
pywebview_mcp/server.py— FastMCP stdio server (no pywebview dependency)pywebview_mcp/bridge.py— in-process HTTP bridgepywebview_mcp/__main__.py— monkey-patcheswebview.startfor zero-config injection
License
MIT
Установка Pywebview
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/com55/pywebview-mcpFAQ
Pywebview MCP бесплатный?
Да, Pywebview MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Pywebview?
Нет, Pywebview работает без API-ключей и переменных окружения.
Pywebview — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Pywebview в Claude Desktop, Claude Code или Cursor?
Открой Pywebview на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Pywebview with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
