Skip to main content
Glama
mako10k

Web Proxy MCP Server

by mako10k

proxy_start_server

Start an HTTP/HTTPS proxy server to monitor and analyze traffic, with optional SSL bumping for HTTPS interception. Configure host, port, and SSL settings as needed.

Instructions

Start the proxy server with optional SSL bumping

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
enableSSLBumpingNoEnable SSL bumping for HTTPS traffic interception
hostNoHost to bind proxy server tolocalhost
portNoPort to run proxy server on

Implementation Reference

  • Handler logic for 'proxy_start_server' tool: checks if running, starts proxyServer with options, returns formatted status message.
    case 'proxy_start_server': if (this.proxyServer.isRunning()) { return { content: [{ type: "text", text: `Proxy server is already running on ${this.proxyServer.getAddress()}` }] }; } await this.proxyServer.start(args.port, args.host, { enableSSLBumping: args.enableSSLBumping }); const serverStatus = this.proxyServer.getStatus(); return { content: [{ type: "text", text: `🚀 Proxy server started!\n\nAddress: ${this.proxyServer.getAddress()}\nPAC URL: ${this.proxyServer.getAddress()}/proxy.pac\nCA Certificate: ${this.proxyServer.getAddress()}/ca.crt\nSSL Bumping: ${serverStatus.sslBumpingEnabled ? 'ENABLED' : 'DISABLED'}\nMonitoring: ${this.targetManager.getStats().enabled} domains${serverStatus.sslBumpingEnabled ? '\n\n⚠️ SSL Bumping is active - install CA certificate for HTTPS interception!' : ''}` }] };
  • Tool schema definition: name, description, inputSchema with port (default 8080), host (default localhost), enableSSLBumping (default false).
    proxy_start_server: { name: "proxy_start_server", description: "Start the proxy server with optional SSL bumping", inputSchema: { type: "object", properties: { port: { type: "number", description: "Port to run proxy server on", default: 8080 }, host: { type: "string", description: "Host to bind proxy server to", default: "localhost" }, enableSSLBumping: { type: "boolean", description: "Enable SSL bumping for HTTPS traffic interception", default: false } } } },
  • Core ProxyServer.start() method implementation: creates HTTP server, sets up request/connect/PAC handlers, listens on port/host.
    async start(port = 8080, host = 'localhost') { if (this.running) { throw new Error('Proxy server is already running'); } this.port = port; this.host = host; this.metrics.startTime = new Date(); this.server = http.createServer(); // Handle HTTP requests this.server.on('request', (req, res) => { this._handleHttpRequest(req, res); }); // Handle HTTPS CONNECT method for tunneling this.server.on('connect', (req, clientSocket, head) => { this._handleHttpsConnect(req, clientSocket, head); }); // Serve PAC file this.server.on('request', (req, res) => { if (req.url === '/proxy.pac') { this._servePacFile(req, res); return; } }); return new Promise((resolve, reject) => { this.server.listen(port, host, (error) => { if (error) { reject(error); } else { this.running = true; console.log(`🚀 Proxy server started on ${host}:${port}`); resolve(); } }); }); }

Latest Blog Posts

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/mako10k/mcp-web-proxy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server