Expand description
MCP (Model Context Protocol) server for browser automation.
Exposes stygian-browser capabilities as an MCP server over stdin/stdout
using the JSON-RPC 2.0 protocol. External tools (LLM agents, IDE plugins)
can acquire browsers, navigate pages, evaluate JavaScript, and capture
screenshots via the standardised MCP interface.
§Enabling
[dependencies]
stygian-browser = { version = "0.1", features = ["mcp"] }§Running the server
STYGIAN_MCP_ENABLED=true cargo run --example mcp_server -p stygian-browser§Protocol
The server implements MCP 2024-11-05 over JSON-RPC 2.0 on stdin/stdout. Supported methods:
| MCP Method | Description |
|---|---|
initialize | Handshake, return server capabilities |
tools/list | List available browser tools |
tools/call | Execute a browser tool |
resources/list | List active browser sessions as MCP resources |
resources/read | Read session state |
§Tools
| Tool | Parameters | Returns |
|---|---|---|
browser_acquire | – | session_id: String |
browser_open_page | session_id | page_url: String |
browser_navigate | session_id, url, timeout_secs? | title, url |
browser_eval | session_id, script | result: Value |
browser_screenshot | session_id | data: base64 PNG |
browser_content | session_id | html: String |
browser_release | session_id | success |
pool_stats | – | active, max, available |
Structs§
- Json
RpcError - A JSON-RPC 2.0 error object.
- Json
RpcRequest - A JSON-RPC 2.0 request.
- Json
RpcResponse - A JSON-RPC 2.0 response.
- McpBrowser
Server - MCP server that exposes
BrowserPoolover stdin/stdout JSON-RPC.
Functions§
- is_
mcp_ enabled - Returns
trueif the MCP server is enabled via theSTYGIAN_MCP_ENABLEDenvironment variable.