Elysia Tools Docs
EN
Language
ZHESPTRUFRDEEN
Back to site
Browse tools

Format Conversion

WireGuard/OpenVPN to Clash and sing-box Config Bridge

Convert pasted WireGuard or OpenVPN client text into Mihomo/Clash YAML or sing-box JSON with secret-field diagnostics; do not share private keys

text· Text resultOpen tool

Quick start

Call this tool from your code in three languages.

cURL
curl -X POST 'https://api.elysiatools.com/en/api/tools/wireguard-openvpn-to-clash-singbox-bridge' \
  -H 'Content-Type: application/json' \
  -d '{"vpnConfig":"[Interface]\nPrivateKey = client-private\nAddress = 10.0.0.2/32\nDNS = 1.1.1.1\n\n[Peer]\nPublicKey = server-public\nAllowedIPs = 0.0.0.0/0\nEndpoint = vpn.example.com:51820","sourceFormat":"auto","targetFormat":"mihomo-yaml","routingPolicy":"[{\"kind\":\"domain-suffix\",\"value\":\"corp.example\",\"outbound\":\"Office VPN\"}]","profileName":"Office VPN"}'

API reference

Send a POST request with your inputs as JSON. File parameters require a separate upload first.

Endpoint

HTTP
POST https://api.elysiatools.com/en/api/tools/wireguard-openvpn-to-clash-singbox-bridge

Parameters

NameTypeRequiredDescription
vpnConfigtextareaYes—
sourceFormatselectNo—
targetFormatselectNo—
routingPolicytextareaNo—
profileNametextNo—

Response format

MCP integration

Add this tool to your Model Context Protocol server so AI agents can list and call it.

Server configuration

Add this block to your MCP client configuration:

mcp.json
{
  "mcpServers": {
    "elysiatools-wireguard-openvpn-to-clash-singbox-bridge": {
      "name": "wireguard-openvpn-to-clash-singbox-bridge",
      "description": "Convert pasted WireGuard or OpenVPN client text into Mihomo/Clash YAML or sing-box JSON with secret-field diagnostics; do not share private keys",
      "baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=wireguard-openvpn-to-clash-singbox-bridge",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

List available tools

After connecting to the SSE endpoint, list the exposed tools:

tools/list
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

Call this tool

Invoke the tool by its id, passing arguments built from its parameters:

tools/call
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "wireguard-openvpn-to-clash-singbox-bridge",
    "arguments": {
  "vpnConfig": "[Interface]\nPrivateKey = client-private\nAddress = 10.0.0.2/32\nDNS = 1.1.1.1\n\n[Peer]\nPublicKey = server-public\nAllowedIPs = 0.0.0.0/0\nEndpoint = vpn.example.com:51820",
  "sourceFormat": "auto",
  "targetFormat": "mihomo-yaml",
  "routingPolicy": "[{\"kind\":\"domain-suffix\",\"value\":\"corp.example\",\"outbound\":\"Office VPN\"}]",
  "profileName": "Office VPN"
}
  }
}

© 2026 Elysia Tools. Developer documentation.

Back to siteBrowse tools

Text result

JSON
{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
Chain multiple tools in one session with a comma-separated toolId list, e.g. /mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp (max 20).

Questions or issues? Contact [email protected]

Browse tools
Open tool