KitchenSink4Web
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KS4WEB_MODE | No | Sets the server mode / consent scope. Example values: 'research' (default) or 'full'. | |
| KS4WEB_ALLOW_ACTING | No | Set to 'true' to enable acting (clicking/typing) tools. Default is false, which runs the server in read-only mode. | |
| KS4WEB_UPDATE_CHECK | No | Set to 'off' to disable the periodic update check. Default is on. | |
| KS4WEB_NO_UPDATE_CHECK | No | Legacy spelling to disable the update check. Set to '1' to turn it off. Overrides KS4WEB_UPDATE_CHECK if both are present. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_page_viewA | Read a page as an ORIENTATION, not a transcript, under a token budget
it never exceeds whatever the page size. Returns identity, landmark
regions each priced with the cost to expand it, the interactive surface
with refs you can act on, a digest or app skeleton, form and table
inventories, an account of what was NOT read and why, and the next call
for anything unexpanded. |
| find_elementsA | Find elements by text, role plus accessible name, natural-language
description, CSS, or XPath, and get back refs you can act on plus a note
on what was not searched. |
| get_textA | Extract readable prose from a page or one region of it, paginated by
|
| navigateA | Go to a URL, or go back, forward, reload, or stop, and wait for the
load state you name. Can be the FIRST call: with no |
| scrollA | Scroll by an amount, to a named element, to the end, or inside a specific container, plus a next-chunk mode that remembers position across calls so a long page is walked without re-reading it. Reports how much content is now reachable and how much remains below, and names virtualized containers where the DOM holds far fewer rows than the page claims, rather than presenting a partial list as complete. |
| wait_forA | Wait for text to appear or disappear, an element to reach a state, a
URL to match, or a JS predicate to hold. EVERY condition is checked
against the current state first and returns immediately when it already
holds, so a wait issued after the thing already happened costs nothing
instead of timing out (the field's URL wait expired on a navigation
that had finished before the call). A |
| manage_tabsA | List, open, select, or close tabs, report which is focused, and
capture pages a click opened in a popup. Mints and returns the explicit
page handles every other tool accepts, which is how browser state
survives across calls without relying on protocol sessions. Closing a
page invalidates its refs and its delta read tokens, and the result says
so rather than leaving a later failure to explain it. On a session with
more than one cookie jar, |
| manage_sessionA | One session is one browser. |
| get_auditA | Read the action log. Returns one record per call, paginated, carrying the timestamp, lane, page, URL, resolved target with its human label, redacted arguments, outcome, any rebind, any confirmation decision, and the budget counters at that moment. This is an operational record for the user, so you can always know exactly what was done even where a web action cannot be undone. It is not forensic and not evidence. |
| get_workflowsC | Get recipes for this server: the cheap-read-then-act pattern, the auth workflow (headed handoff plus saved state), reading strategy, budgeting, troubleshooting a page that will not read, the subagent budget setting, lanes, what each capability pack contains with the exact launch flag that loads it, what a site profile is and where it lives, and how to record and replay a multi-step flow. Packs are chosen at launch rather than at runtime, so this is where you learn which flag you need before restarting. Tool availability reflects the packs this server was started with. |
| monitorA | Watches one URL for one deterministic change while this server runs. Four conditions: content_hash, text_appears, text_gone, selector_count; the same page state always answers the same way. Nothing is pushed anywhere: report is how you ask what happened, and check_now forces a check. A monitor that could not check reports stale with the failure, never unchanged. Checks run in a dedicated headless session, never the caller's. There is a floor on the interval and caps on monitors and daily checks; a 429 is honored rather than retried; a monitor that keeps failing pauses itself. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |