Communitygithub.com

ShristiLabs/madhyamas

Proxy HTTP léger avec interface web

Qu'est-ce que madhyamas ?

Madhyamas est un proxy de débogage HTTP/HTTPS open source, léger et performant, développé en Rust. Il permet de capturer, inspecter et manipuler le trafic réseau entre les clients et les serveurs. Ce skill est particulièrement utile pour les agents IA et les développeurs qui ont besoin d'analyser le trafic, de simuler des réponses, de débugger des API ou de tester des conditions réseau défavorables. Il prend en charge plusieurs interfaces : un serveur MCP (pour une intégration native avec des agents comme Claude Desktop, Windsurf, Cursor), une API REST complète, et une CLI puissante. Madhyamas expose plus de 67 outils MCP et 130 endpoints REST, couvrant des fonctionnalités avancées comme l'inspection gRPC, le scripting JavaScript/TypeScript, la gestion de sessions, l'export HAR, et la simulation de latence.

Compatible avec✓Claude Code~Codex CLI✓Cursor✓OpenCode✓Windsurf
npx skills add ShristiLabs/madhyamas

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Proxy Madhyamas — Guide pour agents IA

Madhyamas est un proxy de débogage HTTP/HTTPS open source développé en Rust. Il capture, inspecte et manipule le trafic entre les clients et les serveurs. Le binaire unifié madhyamas fournit un serveur proxy, une interface web, un serveur MCP et une CLI.

Démarrage rapide

# 1. Installation (choisir une méthode)
cargo install madhyamas                          # depuis crates.io
cargo build --release -p madhyamas               # depuis les sources
# Ou télécharger un binaire pré-construit depuis GitHub Releases

# 2. Démarrer le serveur proxy
madhyamas serve
# Le proxy écoute sur :8888, l'API/interface web sur :3001

# 3. Vérification
curl http://localhost:3001/api/health
# Retourne : OK

Configurez les clients pour utiliser le proxy localhost:8888. Pour l'interception HTTPS, installez le certificat CA depuis ~/.madhyamas/certs/madhyamas-ca.pem (ou téléchargez-le via GET /api/cert/ca).

Consultez references/setup.md pour une installation, configuration et configuration du certificat CA détaillées.

Choisir une interface

Madhyamas expose trois interfaces. Utilisez celle qui est disponible dans votre contexte :

InterfaceQuand l'utiliserConfigurationRéférence
Outils MCPDans des agents compatibles MCP (Claude Desktop, Windsurf, etc.)madhyamas mcp (transport stdio)references/mcp-tools.md
Commandes CLIAccès shell, scripts, agents en terminalmadhyamas <commande> <sous-commande>references/cli-commands.md
API RESTContrôle fin, scripts personnalisés, HTTP directcurl http://localhost:3001/api/...references/rest-api.md

Les trois interfaces exposent les mêmes fonctionnalités sous-jacentes. Les outils MCP et les commandes CLI sont des wrappers autour de l'API REST.

Concepts clés

  • Ports du proxy : Proxy sur :8888 (trafic HTTP/HTTPS), API/interface sur :3001
  • Certificat CA : Généré automatiquement dans ~/.madhyamas/certs/. Installez-le dans le magasin de confiance du système pour l'interception HTTPS
  • Sessions : Organisez le trafic en sessions nommées. Une session par défaut est créée automatiquement
  • Mode de capture : Enregistrement (par défaut) capture le trafic ; Passage en transit transfère sans enregistrer
  • Ordre du pipeline d'interception : Réécritures (priorité 10) → Simulations (20) → Points d'arrêt (30) → Limitation (40)
  • Répertoire de données : ~/.madhyamas/ contient certs/, logs/, traffic.db (SQLite)
  • Serveur MCP : Exécutez madhyamas mcp pour un transport MCP basé sur stdio. Définissez MADHYAMAS_API_URL pour vous connecter à une instance proxy en cours d'exécution

Flux de travail principaux

Flux de travailDescriptionRéférence
ConfigurationInstaller, configurer, connecter des clients, installer le certificat CAsetup.md
Inspecter le traficLister, filtrer, rechercher, analyser le trafic HTTP/HTTPS capturétraffic-inspection.md
Simuler des réponsesCréer des règles de simulation pour intercepter et renvoyer des réponses facticesmocking.md
Points d'arrêtMettre en pause les requêtes/réponses pour inspection et modificationbreakpoints.md
RéécrituresModifier les URL, en-têtes, corps du trafic correspondantrewrites.md
LimitationSimuler des conditions réseau lentes/instablesthrottling.md
RejeuRé-exécuter des requêtes capturées avec des modificationsreplay.md
SessionsCréer, changer, exporter, importer des sessions de débogagesessions.md
Inspection gRPCInspecter les connexions, flux, trames gRPC (expérimental)grpc.md
ScriptingAutomatiser la manipulation du trafic avec des scripts JS/TS (expérimental)scripting.md
PluginsGérer les plugins Rust pour des fonctionnalités étendues (expérimental)plugins.md
WebSocketsInspecter le trafic et les messages des connexions WebSocketwebsockets.md
Export/ImportExport HAR, export cURL, persistance des règlesexport-import.md
DépannageErreurs de certificat, conflits de ports, verrous de base de données, échecs TLStroubleshooting.md
Configuration de l'environnementConfigurer MCP pour Claude, Windsurf, Cursor, etc.harness-setup.md

Index des références

FichierQuand le lire
references/setup.mdConfiguration initiale, installation, certificat CA, configuration client
references/mcp-tools.mdRéférence complète des 67 outils MCP avec paramètres
references/cli-commands.mdRéférence complète des 58 sous-commandes CLI avec drapeaux
references/rest-api.mdRéférence complète des 130+ endpoints de l'API REST
references/traffic-inspection.mdFiltrage, recherche, analyse du trafic capturé
references/mocking.mdCréation et gestion de réponses simulées
references/breakpoints.mdMise en pause et modification du trafic
references/rewrites.mdRègles de réécriture d'URL/en-têtes/corps
references/throttling.mdSimulation de conditions réseau
references/replay.mdRejeu et enregistrement de requêtes
references/sessions.mdGestion des sessions
references/grpc.mdInspection du trafic gRPC
references/scripting.mdScripting JavaScript/TypeScript
references/plugins.mdGestion des plugins
references/websockets.mdInspection du trafic WebSocket
references/export-import.mdExport HAR/cURL, persistance
references/troubleshooting.mdProblèmes courants et solutions
references/harness-setup.mdConfiguration MCP par environnement

Configuration du serveur MCP

Exécutez le serveur MCP pour l'intégration avec les agents IA :

madhyamas mcp                    # transport stdio, se connecte à localhost:3001
MADHYAMAS_API_URL=http://hôte:3001 madhyamas mcp  # URL API personnalisée

Ajoutez à la configuration MCP de votre agent :

{
  "mcpServers": {
    "madhyamas": {
      "command": "/chemin/vers/madhyamas",
      "args": ["mcp"],
      "env": { "MADHYAMAS_API_URL": "http://127.0.0.1:3001" }
    }
  }
}

Consultez references/harness-setup.md pour une configuration spécifique à chaque environnement (Claude Desktop, Windsurf, Cursor, OpenCode, CommandCode, Devin).

Schémas courants

Déboguer des appels API échoués :

  1. Démarrer le proxy : madhyamas serve
  2. Configurer le client pour utiliser le proxy
  3. Reproduire le problème
  4. Inspecter le trafic : madhyamas traffic list --status 500 ou MCP madhyamas_get_traffic avec status=500
  5. Obtenir les détails : madhyamas traffic get <id> ou MCP madhyamas_get_traffic_entry

Simuler un point de terminaison API :

  1. Créer une simulation : madhyamas mocks create --url-pattern "*/api/auth*" --status-code 200 --body '{"token":"fake"}'
  2. Ou MCP : madhyamas_create_mock avec url_pattern="*/api/auth*", status_code=200, body='{"token":"fake"}'
  3. Tester le point de terminaison simulé depuis votre client

Tester sous réseau lent :

  1. Activer la limitation : madhyamas throttle set --download-bps 50000 --delay-ms 200 && madhyamas throttle enable
  2. Ou MCP : madhyamas_set_throttle avec download_bps=50000, delay_ms=200, enabled=true
  3. Reproduire votre flux de travail pour observer le comportement en conditions lentes

Skills associés