Tous les articles
AnthropicClaudeAItool use

Tool use Anthropic en local : tunnels pour Claude

Le tool use de Claude n'est pas un webhook. Votre backend envoie un message, Claude répond, éventuellement avec une demande d'appel d'outil, votre code exécute l'outil et renvoie le résultat. Tout en HTTPS sortant. Alors pourquoi un article sur les tunnels ?

Parce qu'au moment où vous construisez quelque chose de réel avec Claude — agent de code, automation support, serveur MCP, workflow long — vous commencez à avoir besoin de connectivité entrante.

Là où un tunnel aide

Frontends navigateur pour apps Claude

Même forme que le setup Realtime OpenAI. Le front ne peut pas porter votre clé API Anthropic — il parle à votre backend qui parle à Anthropic. HTTPS requis des deux côtés.

Serveurs MCP locaux

Le Model Context Protocol permet à Claude (et autres clients) de se connecter à des outils exposés en serveurs MCP. Pour les serveurs MCP en transport HTTP, le client doit joindre votre serveur. Pour prototyper un serveur MCP testé avec Claude Desktop, un tunnel est le chemin le plus simple.

Callbacks computer use

Si vous utilisez le computer use beta et le modèle interagit avec un service qui webhook-back vers votre machine, vous êtes en territoire webhook.

Ce qu'un tunnel ne fait pas

Pas besoin de tunnel pour appeler Claude depuis un script local. curl https://api.anthropic.com/v1/messages fonctionne. Tool use est une interaction sortante — Claude n'appelle pas votre machine.

  1. Votre code envoie un message utilisateur avec liste d'outils.
  2. Claude répond, éventuellement avec tool_use.
  3. Votre code exécute l'outil contre votre système.
  4. Votre code renvoie le résultat à Claude.
  5. Boucle jusqu'à fin.

Les cinq étapes dans un seul process Python ou TypeScript. Aucun trafic entrant.

La vraie raison du tunnel

Ce n'est pas le modèle. C'est tout l'écosystème autour : dashboard de progression de l'agent, frontend qui stream les outputs, serveur MCP exposé, webhook d'un outil tiers que l'agent invoque. L'agent déclenche une chaîne de réactions, et quelque part dans cette chaîne, un service externe veut joindre votre machine.

Setup MCP server

  1. Implémentez votre serveur MCP en transport HTTP.
  2. Lancez localement.
  3. npx portpreview 3000.
  4. Configurez Claude Desktop ou autre client MCP avec l'URL tunnel.
  5. Émettez des commandes. Observez la capture.

Serveur MCP en stdio : ne s'applique pas, communication via pipes process.

Streaming et tunnels

Claude stream en SSE. Le tunnel doit gérer la réponse longue durée sans buffering. PortPreview, Cloudflare, ngrok le font. Si le front reçoit tout d'un coup après une attente, le tunnel buffer — c'est un problème de tunnel, pas de Claude.

Déboguer la boucle agent

Le plus dur en tool use Claude n'est pas l'API mais comprendre la décision du modèle à chaque pas. Loggez chaque tool_use avant exécution. Loggez chaque résultat avant renvoi. Avec un tunnel front-backend, la capture sert aussi à rejouer des runs sans retaper les prompts.

La direction

L'écosystème Anthropic bouge vite — MCP, computer use, contextes longs, latence basse. Les patterns de debug webhook local et de vérification de signature s'appliquent dès qu'un outil externe webhook-back vers vous.

Rejoignez la waitlist PortPreview.

Questions fréquentes

Faut-il un tunnel pour utiliser tool use de Claude ?
Pas pour l'API core. Tool use est sortant — votre code appelle Anthropic, Claude répond avec des demandes d'outil, votre code exécute, vous renvoyez les résultats. Tout sortant. Tunnel nécessaire seulement quand des services externes appellent votre machine : front navigateur, serveurs MCP exposés à distance, ou outils tiers webhook-back.
Comment tester un serveur MCP avec Claude en local ?
Pour les serveurs MCP en transport HTTP, lancez le serveur localement et exposez-le via un tunnel. Configurez Claude Desktop avec l'URL tunnel. Les serveurs MCP stdio n'en ont pas besoin car ils communiquent via pipes.
Les tunnels cassent-ils le streaming Claude ?
La plupart des tunnels modernes gèrent SSE sans buffering. Si le front reçoit la réponse complète d'un coup après attente, le tunnel buffer. PortPreview et les tunnels récents évitent ça.