
KitchenSink4Web
io.github.nometalalchemist由 GitHub 账号 nometalalchemist 发布v1.0.2更新于 Oct 11, 2026
Browser MCP server: budgeted page reads, honest unread accounting, structured extraction.
概览
让助手在令牌预算内读取网页、提取表格与文本,并可选地在本机浏览器中点击、输入和填写表单。
- 可以做什么
- KitchenSink4Web 在本机驱动浏览器,把页面作为带预算的分区地图返回,并说明哪些内容未读以及深入读取的代价。它可提取表格、列表、链接和文章正文,导出 CSV 或 JSON,截图和导出 PDF,还能只读取自上次读取以来的变化。能力包可增加网络请求查看、保存已登录会话、文件下载与上传、页面 JavaScript、录制工作流回放以及无障碍检查。除非在启动时启用,点击、输入和提交表单的工具不会出现在工具列表中。
- 适用场景
- 当助手需要读取或提取真实网站内容(包括组件构建的页面),或需要控制令牌开销时适用,因为读取有预算且增量读取成本低。也适合可重复的浏览器任务和无障碍抽查。它不用于破解验证码或机器人拦截,遇到时会如实报告而非绕过。
- 运行要求
- 需要本地 MCP 客户端,如 Claude Desktop、Claude Code、Codex CLI 或 Copilot CLI。需要 Python 3.12 或更高版本,以及 uv 或 pip;包名为 kitchensink4web。可能需要下载浏览器和可选依赖,首次启动需要网络连接。图像文字识别使用 Windows OCR。未声明账户、API 密钥或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 KitchenSink4Web,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
🌿 KitchenSink4Web
[Tests] [PyPI] [License: AGPL-3.0]
Read websites and extract data with your AI assistant. Read-only by default, with clicking and typing only when you allow it.
KitchenSink4Web is an MCP server that lets Claude Code, the Codex CLI, Copilot CLI, Claude Desktop and other local MCP clients read web pages through a browser on your computer. It returns each page within a size budget you choose, says what it left unread, and exports tables to CSV or JSON. It starts read-only: clicking, typing and form filling exist only when you switch them on. This is the free Community edition, licensed under the AGPL-3.0.
Product page · llms.txt · Changelog
Platform: Windows, macOS and Linux. Reading text from images uses Windows OCR. The first run may download a browser and some optional dependencies.
Install
The package needs Python 3.12 or newer. Run the commands below in PowerShell or a terminal, not in an AI chat.
Claude Code or Codex CLI. Install uv, run the line for your app, and start a new session:
Claude Desktop. Install uv and restart Claude Desktop. Download the .mcpb file from the latest release, then open Settings > Extensions > Advanced settings > Install extension and choose the file. The install screen lets you choose whether to allow clicking and typing, and which capability packs to load. The first launch downloads the Python package, so it needs a network connection.
Any other local MCP client. Use uvx as the command and kitchensink4web as its argument, or install the package and run kitchensink4web as the server command:
What it can do
- Read a page within a size budget and see what was left unread.
- Open one section or find one element without fetching the whole page again.
- Extract tables, lists and article text, and export them as CSV or JSON.
- Take screenshots or save a page as PDF.
- Read only what changed since your last read of a page.
- Watch a page for changes while the server runs.
- Click, type and fill in forms, once you allow it.
- Record a multi-step browser task and replay it with checks.
- Run automated accessibility checks (optional extra).
The read-only startup set has 12 tools, 20 with clicking and typing allowed, and 53 with every pack enabled.
The first read
get_page_view returns the shape of a page: what it is, what each section contains, what each section would cost to open, and a sensible next call. You set the budget and the read never exceeds it. Every read ends with a completeness block that names what was left out and what it would cost to get it. The budget ladder has 16 rungs.
From there, reading gets cheaper. Open one region instead of raising the budget. Pass the token a read returns, and the next read covers only what changed. Elements come back as short-lived references your assistant can act on, and searches by text and role keep working after the page re-renders.
Open shadow roots are read and can be acted on like the rest of the page, which makes component-based sites readable. Closed shadow roots cannot be reached by any tool, so they are counted and reported. Same-origin iframes are read and searched like the page around them, each labeled with its origin; cross-origin frames are named but never entered.
An example. A raw dump of the Treaty of Versailles article on Wikipedia costs 33,073 tokens. The first read through get_page_view costs 4,445, and a delta read after one click costs 82.
Capability packs
The server starts with reading, navigation and session management. Packs are chosen at launch and stay fixed for the session, so a pack you did not load is absent, not just switched off.
Tool definitions cost about 4.1k tokens for the read-only startup set, 6.9k with clicking and typing allowed, and 17.9k with every pack.
Browsers
By default the server drives its own bundled Chromium. It never touches your browser or your profile: each session starts in a fresh profile that is deleted on close, unless you explicitly save signed-in state to a file.
You can also choose a browser you already have installed (Chrome, Edge or Firefox). It still runs with its own separate profile, never yours. Some sites respond differently to different browsers, and manage_session(action='status') reports which browsers are installed and which one it recommends for the current page. It never switches for you. The server does not disguise what it is, and it reports bot checks and CAPTCHAs rather than trying to solve them.
Signed-in sessions are saved with save_auth_state and reloaded with auth_state= when you open a session. The saved file records when its cookies expire, and loading an expired one says so instead of letting the login fail without explanation.
Safety model
A browser holds your logins and your accounts, so safety is built into how the tools are offered.
Read-only unless you choose otherwise. By default, the tools that click, type and submit are not in the tool list at all, so no instruction on a web page can lead your assistant to use them. One setting at install (allow acting in the Claude Desktop bundle, KS4WEB_ALLOW_ACTING=true elsewhere) adds them.
Passwords stay out of the conversation. The server never reads what is typed into password fields. Secrets found in cookies and site storage are redacted before any text leaves the server.
Hidden text is treated as evidence, not instructions. Text a page hides from people is a common way to slip instructions to an AI. The server removes it from what your assistant reads, reports how much it removed, and labels everything a page says with where it came from.
Confirmation for consequential actions. Form submissions, payments and page scripts stop and ask you first, through your client's own confirmation prompt, and go ahead only when you choose Allow. An empty or automatic answer counts as no. Clients that cannot show the prompt refuse those actions instead of going ahead. The only exceptions are routine actions you have approved in advance through the consent scope, KS4WEB_PREAUTH, or the optional 30-minute Remember box.
Refusals that explain themselves. When something cannot be done, whether a login wall, a bot check or a page that crashed, the answer names what stood in the way and what to try next.
Two kinds of permission prompt
Your MCP client's own prompt names a tool (for example mcp__web__type_text). Approving the read-only tools there is safe and removes most prompts. A KitchenSink4Web confirmation describes the action itself ("submitting this form sends a password") and cannot be pre-approved for payments, credentials, posts, deletions or legal agreements.
Consent scope
The default scope is research: reading and navigation are free, search-style submissions (a search box) go ahead, and everything else asks first. The full scope lets ordinary form submissions go ahead without asking. Payments, credentials, posts, deletions and legal agreements ask under every scope.
Under full, a submit button whose wording the server does not recognize in any supported language is not gated. If that matters to you, stay on research.
Client compatibility
Privacy
The server runs on your computer. KitchenSink4AI never receives your files, pages or usage data. The browser connects to the websites you ask it to use, and those sites see ordinary browsing requests. Your AI app may send prompts, page contents and tool results to its own provider under that app's settings and terms. A missing tokenizer table may be downloaded once; the text being measured is never sent. The optional update check contacts PyPI and sends nothing beyond the request itself. The Privacy Policy covers the product, purchases and support.
Configuration
Packs and read-only mode are chosen at launch with --packs, KS4WEB_MODE and KS4WEB_ALLOW_ACTING, and apply to every connection to the running server.
Update check. The server compares its version with PyPI only when you call manage_session(action='status'), never at startup or in the background, at most once every seven days, with a two-second timeout. The request sends no identifier, usage data, page content or session state, and the server never installs anything. KS4WEB_UPDATE_CHECK=off turns it off (KS4WEB_NO_UPDATE_CHECK=1 also works).
Fewer permission prompts: in Claude Desktop's tool permissions for this server, set the read-only tools to Always Allow. They cannot change anything on any page.
Subagents: tool results are capped more tightly inside a subagent, so start reads there at budget_tokens=2500.
Known limits
- Cross-origin iframes are never entered; the completeness block names each one.
- Closed shadow roots cannot be reached by any tool. They are counted, so you can tell a component-heavy page from an empty one.
- Bot walls and CAPTCHAs are reported, never solved or evaded.
sendBeaconand ping requests bypass network routing rules, a limit of the underlying Playwright library.- Accessibility checks find a minority of real-world issues. Deque, who build the axe-core engine, publish 57% as the share of issues their own automated tooling finds. A clean report means the automated checks passed, not that the page is accessible, and there is deliberately no score.
- Monitors run only while the server runs. MCP clients do not yet deliver messages a server starts, so you ask the monitor report what happened. A monitor watches one URL for one defined change, checks no more often than every five minutes, cannot get past a login or bot wall, and pauses itself if it keeps failing.
content_hashis noisy on pages with clocks or counters, and a change that appears and reverts between checks is not seen. Everything stays on your machine. - Session handoff works within one running server. A handle moves a live session to another conversation in the same running KitchenSink4Web. It is the same browser, so references from before may be stale, and the report says which. Handles work once, expire in an hour, and do not survive a restart.
- Each extra identity is another browser process and profile, so it uses real memory. The action budget is shared across identities, so a second identity does not double what a session may do.
- The browser choice list records which sites this computer visited with which browser (host names and dates only, nothing typed, no page content) so a site that refused one browser can be read with another. It stays on this machine, learning can be turned off, and one call erases it.
Testing
The suite has more than 2,000 tests, about 700 of which drive a real browser. Tests that need saved pages use small synthetic fixtures. Each release also re-runs regression tests for prompt injection through page content, hidden-text smuggling, credential theft, confirmation bypasses, workflow replay tampering and resource abuse.
Reporting problems
Please open an issue with the page (if it is public), what you asked for and what happened. The output of manage_session(action='status') is designed to be safe to share. For security issues, follow SECURITY.md.
Business edition
The Business edition pairs these tools with a Windows installer, a signed update channel and support under the Business terms. Update checks tell you when a covered release is available, and nothing installs on its own. See pricing. The Community edition stays free under the AGPL, including business use that meets its terms.
Contributing
Bug reports, fixes, tests and documentation are welcome. See CONTRIBUTING.md; first-time contributors agree to the Contributor License Agreement.
License
KitchenSink4Web is dual-licensed.
- AGPL-3.0. Free for anyone, including businesses, for any use that complies with the AGPL. Its terms include sharing your source code, with your modifications, when you distribute the software or make it available over a network.
- Commercial license. For organizations that want to build KitchenSink4Web into their own products or services without the AGPL's source-sharing obligations. Contact [email protected].
Copyright (c) 2026 Alvut Consulting, LLC. KitchenSink4AI is a product line of Alvut Consulting, LLC. KitchenSink4AI tools are built with the help of AI coding assistants, and every release goes through the full test suite before it ships.
Not affiliated with or endorsed by Google, Mozilla, Microsoft, or any website this server visits. Chrome, Chromium, Firefox and Edge are trademarks of their respective owners, named only to identify the browsers this server can drive.
来源:README.md,提交 3906f20
工具
0版本历史
2- v1.0.2最新Sep 20, 2026
- v1.0.1Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分