surge-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@surge-mcp-serverEnable MITM in Surge"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Surge MCP Server
A Model Context Protocol (MCP) server for controlling Surge proxy via its HTTP API.
Features
This MCP server provides comprehensive control over Surge proxy through the following tool categories:
Features Toggle
Get and toggle MITM, Capture, Rewrite, and Scripting features
Outbound Mode
Get and set outbound mode (direct, proxy, rule)
Proxy Policies
List all available policies
Get policy group details
Test policies with specific URLs
Set selected policy for policy groups
Request Management
List recent and active requests
Kill specific active requests
Profile Management
Get current profile information
Reload profile
DNS
Flush DNS cache
Modules
List all available modules
Enable/disable specific modules
Scripting
List all scripts
Evaluate scripts with mock environment
Device Management (Mac Only, Surge 4.0.6+)
List all active and saved devices
Modify device properties (name, IP address, Surge handling)
Related MCP server: OpenRemote MCP Server
Prerequisites
Surge installed and running
HTTP API enabled in Surge configuration
Node.js 18+ installed
Surge Configuration
Add the following to your Surge configuration file:
[General]
http-api = YOUR_API_KEY@127.0.0.1:6171Replace YOUR_API_KEY with a secure API key of your choice.
For TLS support (optional):
http-api-tls = true
http-api-web-dashboard = trueInstallation
Clone this repository:
git clone https://github.com/DLYZZT/surge-mcp-server.git
cd surge_mcpInstall dependencies:
npm installBuild the project:
npm run buildConfiguration
Set the following environment variables:
export SURGE_HOST=127.0.0.1 # Default: 127.0.0.1
export SURGE_PORT=6171 # Default: 6171
export SURGE_API_KEY=YOUR_API_KEY # Required: Your Surge API keyUsage with Claude Desktop
Add the following to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Option 1: Using npx (Recommended)
{
"mcpServers": {
"surge": {
"command": "npx",
"args": ["-y", "surge-mcp-server"],
"env": {
"SURGE_HOST": "127.0.0.1",
"SURGE_PORT": "6171",
"SURGE_API_KEY": "YOUR_API_KEY"
}
}
}
}Option 2: Using local installation
{
"mcpServers": {
"surge": {
"command": "node",
"args": ["/path/to/surge_mcp/dist/index.js"],
"env": {
"SURGE_HOST": "127.0.0.1",
"SURGE_PORT": "6171",
"SURGE_API_KEY": "YOUR_API_KEY"
}
}
}
}Replace /path/to/surge_mcp with the actual path to this project and YOUR_API_KEY with your Surge API key.
Available Tools
Feature Management
surge_get_feature_status- Check status of featuressurge_toggle_feature- Enable/disable features
Outbound Mode
surge_get_outbound_mode- Get current modesurge_set_outbound_mode- Set mode (direct/proxy/rule)
Policy Management
surge_list_policies- List all policiessurge_get_policy_group- Get policy group detailssurge_test_policy- Test policies with URLsurge_set_policy_group- Set policy for group
Request Management
surge_list_requests- List recent/active requestssurge_kill_request- Kill active request
Profile Management
surge_get_profile- Get current profilesurge_reload_profile- Reload profile
DNS
surge_flush_dns- Flush DNS cache
Module Management
surge_list_modules- List all modulessurge_toggle_module- Enable/disable module
Script Management
surge_list_scripts- List all scriptssurge_evaluate_script- Evaluate script with mock environment
Device Management (Mac Only, Surge 4.0.6+)
surge_list_devices- List all active and saved devicessurge_modify_device- Modify device properties
Example Usage in Claude
Once configured, you can ask Claude to control Surge:
"What's the current outbound mode in Surge?"
"Enable MITM in Surge"
"List all proxy policies"
"Set the proxy group 'Proxy' to use 'US Server'"
"Show me recent requests"
"Flush DNS cache"
"Reload Surge profile"
"List all devices in Surge" (Mac only)
"Rename the device with MAC address XX:XX:XX:XX:XX:XX to 'My iPhone'" (Mac only)
Development
Run in development mode with auto-rebuild:
npm run devTroubleshooting
Connection Issues
Ensure Surge is running
Verify HTTP API is enabled in Surge configuration
Check that the API key matches
Confirm the port number is correct
Authentication Errors
Double-check your API key is set correctly
Ensure the API key in Surge config matches the environment variable
Security Notes
Keep your API key secure and never commit it to version control
The API key grants full control over Surge
Consider using
http-api-tls = truefor encrypted communicationRestrict the API to localhost (
127.0.0.1) unless remote access is needed
Reference
Based on the official Surge HTTP API documentation: https://manual.nssurge.com/others/http-api.html
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables controlling and querying Home Assistant devices and services via natural language. Supports state retrieval, listing states, and calling any Home Assistant service.132765MIT

OpenRemote MCP Serverofficial
Alicense-qualityDmaintenanceEnables interaction with an OpenRemote instance through its service API, allowing management of assets, users, and other resources via natural language.AGPL 3.0- Alicense-qualityCmaintenanceEnables interaction with Home Assistant through the REST API, allowing users to query states, call services, and manage entities via natural language.MIT
- AlicenseBqualityCmaintenanceEnables AI agents to manage Nginx Proxy Manager (reverse proxies, streams, redirects, and Let's Encrypt certificates) through natural language commands.3038MIT
Related MCP Connectors
Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/DLYZZT/surge-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server