ProxyHub-MCP-resultaten opslaan als IP:Port-bestand
Lees de JSON-respons van list_proxies, handel fouten af en maak een schoon HTTP-proxybestand zonder data-export met livecontroles te verwarren.
Wil je uit ProxyHub MCP één IP:port per regel maken, begin dan met de volledige JSON-RPC-respons, niet met een gekopieerd tekstblok uit de chat.
- Roep
list_proxiesaan via je MCP-client mettypeingesteld ophttp. - Sla de volledige respons op als
mcp-response.json. - Sla de onderstaande converter, die de standaardbibliotheek gebruikt, op als
mcp-to-file.pynaast die respons.
import json
from ipaddress import IPv4Address
from pathlib import Path
reply = json.loads(
Path("mcp-response.json").read_text(encoding="utf-8")
)
if "error" in reply:
raise RuntimeError("MCP returned a JSON-RPC error")
result = reply["result"]
if result.get("isError"):
raise RuntimeError("The proxy tool reported an error")
data = result["structuredContent"]
endpoints = []
seen = set()
for row in data["proxies"]:
if row["type"] != "http":
continue
host = str(IPv4Address(row["ip"]))
port = row["port"]
if type(port) is not int or not 1 <= port <= 65535:
raise ValueError("Invalid proxy port")
endpoint = f"{host}:{port}"
if endpoint not in seen:
seen.add(endpoint)
endpoints.append(endpoint)
text = "\n".join(endpoints)
Path("http-proxies.txt").write_text(
text + ("\n" if text else ""),
encoding="utf-8",
)
print(f"Saved {len(endpoints)} HTTP endpoints")
Voer hem in die map uit:
uv run --no-project python mcp-to-file.py
Controleer het afgedrukte aantal en http-proxies.txt. De oorspronkelijke respons blijft bewaard. JSON-RPC-fouten en isError-responsen op toolniveau geven fouten; een geslaagde respons zonder treffers schrijft een leeg bestand en meldt nul. De tool geeft maximaal 100 items per aanroep. De uitvoer is dus die teruggegeven selectie, niet noodzakelijk de hele HTTP-proxylijst.
De converter accepteert alleen rijen met het gerapporteerde type http en controleert IPv4-syntaxis en poortbereik, passend bij het IPv4-formaat van de huidige verzamelaar. Bewaar bij een ander protocol die informatie of gebruik een apart bestand. Een eenvoudig gemengd IP:port-bestand vertelt de ontvangende client niet welke handshake hij moet gebruiken.
Een geëxporteerde rij blijft data. updated_at registreert de bijwerktijd van opgeslagen gegevens, niet een liveverzoek vanuit je netwerk. Test gekozen endpoints met een begrensd verzoek via een HTTP-proxy naar de benodigde bestemming. Mislukte de MCP-aanroep, onderzoek dan het ophalen van data; mislukt later een verzoek via een geëxporteerd endpoint, onderzoek dan die afzonderlijke proxyverbinding.