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-bridgeParameters
| Name | Type | Required | Description |
|---|---|---|---|
| vpnConfig | textarea | Yes | — |
| sourceFormat | select | No | — |
| targetFormat | select | No | — |
| routingPolicy | textarea | No | — |
| profileName | text | No | — |
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"
}
}
}