OpenTor MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TOR_MCP_DIR | No | Base directory for private sessions and archives | current directory |
| TOR_HEADLESS | No | Run Firefox without a visible window | true |
| TOR_SOCKS_PORT | No | Local Tor SOCKS5 port | 9050 |
| TOR_CONTROL_PORT | No | Authenticated Tor control port used for NEWNYM | 9051 |
| TOR_MAX_ITEM_LIMIT | No | Maximum items returned by paginated tools | 100 |
| TOR_MAX_IMAGE_BYTES | No | Maximum raw screenshot or CAPTCHA size | 5000000 |
| TOR_ALLOW_JAVASCRIPT | No | Enable the high-risk tor_evaluate_js tool | false |
| TOR_CONTROL_PASSWORD | No | Optional control password; cookie authentication is used otherwise | |
| TOR_MAX_RESPONSE_CHARS | No | Maximum characters returned by a text tool | 50000 |
| TOR_IGNORE_HTTPS_ERRORS | No | Accept invalid TLS certificates for every destination | false |
| TOR_MAX_JSON_FIELD_CHARS | No | Maximum retained characters in one web-derived JSON field | 4096 |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tor_navigateA | Navigate to an HTTP(S) URL (.onion supported). |
| tor_backA | Go back to the previous page. |
| tor_forwardA | Go forward to the next page. |
| tor_refreshA | Refresh the current page. |
| tor_read_pageA | Read a bounded amount of the current page as untrusted markdown. |
| tor_screenshotB | Take a screenshot and return native MCP image content. |
| tor_screenshot_elementA | Screenshot a CSS-selected element as native MCP image content. |
| tor_get_linksB | Extract a bounded page of links from the current page. |
| tor_get_page_infoA | Get page metadata: URL, title, description, and element counts. |
| tor_query_elementsA | Query a bounded page of DOM elements by CSS selector. |
| tor_clickB | Click an element by CSS selector. |
| tor_typeC | Type text into an input field. |
| tor_press_keyA | Press a keyboard key (Enter, Tab, Escape, etc.). |
| tor_scrollB | Scroll the page. Direction: up, down, top, bottom. |
| tor_evaluate_jsA | Execute JavaScript only when TOR_ALLOW_JAVASCRIPT=true. |
| tor_searchC | Search using Ahmia, Torch, DuckDuckGo, or Haystack. |
| tor_extract_threadsA | Extract a bounded page of forum thread listings. |
| tor_extract_postsA | Extract a bounded page of forum posts. |
| tor_get_captchaA | Capture a CAPTCHA image and return it for you to read with your vision. Also attempts local OCR as a hint. Primary strategy: YOU read the image. After reading, call tor_type to fill in the answer. |
| tor_solve_captchaA | Auto-solve a CAPTCHA using local OCR: captures the image, reads it, and types the answer. If OCR fails, returns the image for you to read with vision instead. |
| tor_save_sessionB | Save current cookies to owner-only local storage. |
| tor_load_sessionB | Load previously saved cookies into the browser. |
| tor_list_sessionsA | List saved session metadata (never cookie values). |
| tor_delete_sessionB | Delete a saved session credential file. |
| tor_new_identityA | Request a new Tor circuit and clear browser cookies. |
| tor_check_connectionA | Verify Tor using a temporary page without changing the active page. |
| tor_archive_pageC | Archive the current page inside the configured local archive root. |
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 27 tools
Most tools have clearly distinct purposes, but a few close pairs exist: tor_get_links versus tor_extract_threads/posts, and tor_screenshot versus tor_screenshot_element. The captcha tools also have overlapping functionality, though they differ in auto-solving versus manual reading.
All tool names follow a consistent pattern: 'tor_' followed by a verb and an optional noun (e.g., tor_navigate, tor_click, tor_list_sessions). There is no mixing of camelCase or different verb styles, making the naming predictable and uniform.
With 27 tools, the server exceeds the 25-tool threshold that the rubric marks as 'too many'. While the domain of Tor browsing is broad, many tools could be consolidated (e.g., session management, captcha handling, or extraction tools). The count feels heavy for typical MCP servers.
The tool set covers the core lifecycle of browsing: navigation, interaction, content extraction, screenshots, session management, and captcha handling. Minor gaps exist, such as no dedicated form submission, file upload, or element attribute retrieval tool, but these are workaroundable with evaluate_js or click/type.