surge-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SURGE_HOST | No | Host for Surge HTTP API | 127.0.0.1 |
| SURGE_PORT | No | Port for Surge HTTP API | 6171 |
| SURGE_API_KEY | Yes | API key for Surge HTTP API |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| surge_get_feature_statusA | Get the status of a Surge feature (MITM, Capture, Rewrite, or Scripting) |
| surge_toggle_featureC | Enable or disable a Surge feature (MITM, Capture, Rewrite, or Scripting) |
| surge_get_outbound_modeB | Get the current outbound mode |
| surge_set_outbound_modeB | Set the outbound mode (direct, proxy, or rule) |
| surge_list_policiesA | List all available proxy policies |
| surge_get_policy_groupB | Get details about a specific policy group |
| surge_test_policyC | Test policies with a specific URL |
| surge_set_policy_groupC | Set the selected policy for a policy group |
| surge_list_requestsC | List recent or active requests |
| surge_kill_requestB | Kill an active request by ID |
| surge_get_profileA | Get current profile information |
| surge_reload_profileC | Reload the current profile |
| surge_flush_dnsC | Flush DNS cache |
| surge_list_modulesB | List all available modules |
| surge_toggle_moduleC | Enable or disable a module |
| surge_list_scriptsC | List all scripts |
| surge_evaluate_scriptC | Evaluate a script with mock environment |
| surge_list_devicesA | List all active and saved devices (Mac only, requires Surge 4.0.6+) |
| surge_modify_deviceA | Modify device properties including name, IP address, and whether it should be handled by Surge (Mac only, requires Surge 4.0.6+) |
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 19 tools
Every tool has a clearly distinct purpose, with paired get/set or list/toggle operations for different features, policies, requests, modules, scripts, and devices. No overlapping functionality.
All tools follow a consistent 'surge_verb_noun' pattern using snake_case. Verbs like get, set, list, toggle, kill, reload, flush, evaluate, and modify are used predictably.
19 tools cover the essential operations of the Surge proxy client without being excessive. Each tool addresses a specific aspect of the domain, making the scope well-balanced.
The set covers core CRUD-like operations for features, modes, policies, requests, profiles, DNS, modules, scripts, and devices. Minor gaps like profile import/export or policy group creation exist but are not critical for common usage.