qutebrowser-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_tabsA | List all open tabs with indices, URLs, titles, and active state. Uses CDP for fresh title/URL data enriched with session file indices, falling back to session file only. |
| open_tabA | Open a new tab with the specified URL. Always opens in background (no focus change). |
| close_tabA | Close a tab by URL/title match via CDP (no focus change). Falls back to IPC index-based close. |
| focus_tabA | Switch to a specific tab by index (IPC only — this intentionally changes focus) |
| move_tabA | Move the current tab to a new position (IPC only) |
| navigateA | Navigate a tab to a URL. If 'tab' is specified, navigates that tab via CDP without changing focus. Otherwise navigates the current tab via IPC. |
| go_backA | Navigate back in browser history. If 'tab' is specified, operates on that tab via CDP without changing focus. |
| go_forwardA | Navigate forward in browser history. If 'tab' is specified, operates on that tab via CDP without changing focus. |
| reload_pageA | Reload a page. If 'tab' is specified, reloads that tab via CDP without changing focus. |
| screenshotA | Take a screenshot of a page. If 'tab' is specified, uses CDP to capture that specific tab without switching focus. Otherwise captures the currently focused tab via IPC. |
| execute_jsA | Execute JavaScript in a page. If 'tab' is specified, uses CDP to run in that tab and return the result (no focus change). Without 'tab', uses IPC on the current tab (fire-and-forget, no return value). |
| get_bookmarksA | List all bookmarks saved in qutebrowser |
| get_quickmarksA | List all quickmarks (named bookmarks) in qutebrowser |
| search_historyA | Search browsing history by URL or title |
| browser_fetchA | Make an authenticated HTTP request through a browser tab's session. Runs fetch() inside the page context of a tab matching the given domain, inheriting all cookies and auth tokens. Returns the response body. |
| browser_fetch_authA | Make an authenticated HTTP request using auth headers captured from a browser tab's network traffic. Reloads the tab to intercept fresh auth tokens, then makes the request server-side. Works for sites like Outlook that use Bearer tokens rather than cookies. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Each tool has a clearly distinct purpose: tab management, navigation, bookmarks/history, and fetch operations are all separate. Even the two fetch tools are differentiated by their auth mechanisms, and navigation tools like navigate, go_back, go_forward, and reload_page target different actions.
All tools follow a consistent lowercase snake_case verb_noun pattern (e.g., list_tabs, open_tab, close_tab, search_history). Even the phrasal go_back and go_forward fit the pattern, and browser_fetch/browser_fetch_auth are verb_noun compound names that remain consistent.
At 16 tools, the set is slightly over the ideal 3-15 range, but each tool serves a distinct function and covers a broad browser automation domain. The additional fetch and auth tools justify the count without feeling redundant.
The server covers core tab lifecycle, navigation, bookmarks/quickmarks, history search, screenshots, JS execution, and authenticated fetching. Minor gaps like missing tab pinning or direct URL retrieval are workable around via list_tabs, so the surface is strong overall.