Skip to main content
Glama
Proxychains MCP Server

Proxychains MCP Server

by schwarztim

Proxychains MCP Server

MCP License: MIT TypeScript

MCP server for proxychains-ng (proxychains4) - route commands through proxy chains via SSH to a remote Linux host (e.g., Kali Linux).

Overview

This MCP server provides tools to manage and use proxychains configurations dynamically. It executes commands through SSH on a remote host where proxychains4 is installed, allowing AI assistants to route network traffic through proxy chains for privacy, security testing, or accessing geo-restricted resources.

Related MCP server: SSH MCP Server

Features

Tool

Description

proxychains_run

Execute commands through the configured proxy chain

proxychains_config

Get, set, or reset the full configuration

proxychains_add

Add a proxy to the chain (SOCKS4, SOCKS5, HTTP, RAW)

proxychains_remove

Remove a proxy by index or host:port

proxychains_mode

Set chain mode (strict, dynamic, random, round_robin)

proxychains_dns

Configure DNS handling mode

proxychains_test

Test proxy chain connectivity and latency

proxychains_list

List all configured proxies

proxychains_import

Import proxies from file or URL

proxychains_export

Export configuration in various formats

Installation

Prerequisites

  • Node.js 18+

  • SSH access to a Linux host with proxychains4 installed

  • The SSH host should be configured in ~/.ssh/config or accessible by hostname

Setup

# Clone the repository
git clone https://github.com/schwarztim/sec-proxychains-mcp.git
cd sec-proxychains-mcp

# Install dependencies
npm install

# Build
npm run build

MCP Configuration

Add to your Claude Desktop or MCP client configuration:

{
  "mcpServers": {
    "proxychains": {
      "command": "node",
      "args": ["/path/to/sec-proxychains-mcp/dist/index.js"],
      "env": {
        "PROXYCHAINS_KALI_HOST": "kali",
        "PROXYCHAINS_SSH_TIMEOUT": "30000"
      }
    }
  }
}

Configuration

Environment Variables

Variable

Default

Description

PROXYCHAINS_KALI_HOST

kali

SSH hostname for the remote host

PROXYCHAINS_SSH_TIMEOUT

30000

SSH command timeout in milliseconds

PROXYCHAINS_CONFIG_DIR

~/.proxychains-mcp

Local config storage directory

Chain Modes

Mode

Description

strict_chain

All proxies must work, used in order specified

dynamic_chain

Skip dead proxies, at least one must work

random_chain

Random proxy selection for each connection

round_robin_chain

Rotate through proxies sequentially

Proxy Types

Type

Description

socks5

SOCKS5 proxy (recommended)

socks4

SOCKS4 proxy

http

HTTP CONNECT proxy

raw

Raw TCP forwarding

DNS Modes

Mode

Description

proxy_dns

Route DNS through proxy (recommended, prevents leaks)

proxy_dns_old

Legacy mode using proxyresolv

proxy_dns_daemon

Daemon-based DNS resolution

none

No DNS proxying (may leak DNS queries)

Usage Examples

Basic Setup

// Add a SOCKS5 proxy (e.g., Tor)
proxychains_add({ type: "socks5", host: "127.0.0.1", port: 9050 })

// Add an authenticated HTTP proxy
proxychains_add({
  type: "http",
  host: "proxy.example.com",
  port: 8080,
  user: "admin",
  pass: "secret"
})

// Set dynamic chain mode (skip dead proxies)
proxychains_mode({ mode: "dynamic_chain" })

Testing the Chain

// Test connectivity
proxychains_test({ verbose: true })

// Test against specific target
proxychains_test({ target: "https://api.ipify.org" })

Running Commands

// Check your proxied IP
proxychains_run({ command: "curl https://httpbin.org/ip" })

// Run nmap through proxies
proxychains_run({ command: "nmap -sT -Pn target.com" })

// Custom timeout for long operations
proxychains_run({ command: "wget https://example.com/large-file", timeout: 120000 })

Importing Proxies

// Import from URL
proxychains_import({
  source: "https://raw.githubusercontent.com/example/proxies/main/list.txt",
  defaultType: "socks5"
})

// Import from file on remote host
proxychains_import({ source: "/tmp/proxies.txt" })

Exporting Configuration

// Export as proxychains.conf format
proxychains_export({ format: "proxychains" })

// Export as JSON
proxychains_export({ format: "json" })

// Export as simple ip:port list
proxychains_export({ format: "ip:port" })

Remote Host Setup

The remote host (e.g., Kali Linux) needs proxychains4 installed:

# Debian/Ubuntu/Kali
sudo apt update
sudo apt install proxychains4 curl

# Verify installation
proxychains4 --version

Ensure SSH access works without password prompts:

# Test SSH connection
ssh kali "echo 'Connection successful'"

Security Considerations

  • SSH Keys: Use SSH key authentication instead of passwords

  • DNS Leaks: Use proxy_dns mode to prevent DNS leakage

  • Proxy Trust: Only use trusted proxies; traffic is visible to proxy operators

  • Authentication: Proxy credentials are stored locally in ~/.proxychains-mcp/config.json

Architecture

┌─────────────────┐     SSH      ┌─────────────────┐     Proxies     ┌─────────────┐
│   MCP Client    │─────────────▶│   Remote Host   │────────────────▶│   Target    │
│  (Claude, etc)  │              │   (Kali Linux)  │                 │             │
└─────────────────┘              │   proxychains4  │                 └─────────────┘
                                 └─────────────────┘

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add some amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Available Tools

10 tools
proxychains_addB

Add a proxy to the chain. Supports SOCKS4, SOCKS5, and HTTP proxies.

Inputs: host (required), port (required), type (required), pass, +2 more.

proxychains_configA

Get or set the current proxychains configuration including chain mode, DNS settings, and proxy list.

Inputs: action (required), config.

proxychains_dnsA

Configure DNS handling. proxy_dns (recommended): DNS through proxy. proxy_dns_old: legacy mode. proxy_dns_daemon: daemon mode. none: no DNS proxying.

Inputs: mode (required).

proxychains_exportC

Export current proxy configuration to a file.

Inputs: format.

proxychains_importB

Import proxies from a file or URL. Supports common proxy list formats.

Inputs: source (required), format, defaultType.

proxychains_listA

List all proxies currently configured in the chain.

Inputs: no named parameters.

proxychains_modeB

Set the chain mode. strict_chain: all proxies must work. dynamic_chain: skip dead proxies. random_chain: random order. round_robin_chain: rotate through proxies.

Inputs: mode (required), chainLen.

proxychains_removeB

Remove a proxy from the chain by index or by host:port.

Inputs: host, port, index.

proxychains_runB

Run a command through the proxy chain on Kali Linux. The command will be routed through all configured proxies.

Inputs: command (required), timeout.

proxychains_testA

Test the proxy chain by checking connectivity and measuring latency. Optionally test against a specific target.

Inputs: target, verbose.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: running commands, managing proxies, configuring modes, DNS, and testing. No overlaps.

    Naming Consistency5/5

    All tools follow a consistent 'proxychains_verb' snake_case pattern, making them predictable and easy to use.

    Tool Count5/5

    10 tools is well-scoped for managing proxychains – covers all essential operations without bloat or gaps.

    Completeness5/5

    Covers CRUD for proxies, configuration, execution, testing, import/export, and DNS – no obvious missing functionality.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to perform autonomous penetration testing on any Linux distribution via SSH with persistent tmux sessions, supporting interactive tools like Metasploit, reverse shells, and complex multi-step security workflows.
      18
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to securely execute commands, transfer files, and manage port forwarding on remote servers via SSH.
      158 npm
      38
      Apache 2.0
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI to execute commands on remote hosts via SSH, supporting password and key authentication.
      -