$ claude mcp add brimkern -- brimkern mcp
Un worker GPU local pour votre agent de code
Votre agent principal (Claude Code, Cursor, Windsurf…) garde la conception et les décisions. Les sous-tâches mécaniques, une première relecture, un brouillon de tests, un titre de commit, partent vers un modèle qui tourne sur votre propre GPU, par MCP, par la CLI ou par un skill. Rien ne quitte la machine, rien n’est facturé.
Comment la délégation marche
L’agent voit Brimkern comme une liste d’outils. Quand il juge une sous-tâche routinière, il en appelle un ; le serveur MCP fait tourner le modèle sur le GPU et rend du texte, que l’agent lit, vérifie et utilise.
Claude Code (cloud : planifie, décide, édite) │ │ tools/call brimkern_review { code, file_path } ▼ brimkern mcp (stdio, JSON-RPC 2.0) │ modèle chargé une fois, appels en file un par un ▼ votre GPU (WebGPU, kernels WGSL écrits à la main) │ └─▶ texte rendu à l’agent, qui le vérifie
Ce qui s’y prête
Premières relectures, brouillons de tests, titres de commit, regex, renommages et autres réécritures mécaniques.
À garder sur l’agent principal
L’architecture, le code critique pour la sécurité, tout ce qui demande le dépôt entier en contexte. Un modèle de 4B aide ; il ne tranche pas.
Serveur MCP
La CLI installée, une commande l’enregistre dans Claude Code :
claude mcp add brimkern -- brimkern mcp --model=coder
Pour Claude Desktop, Cursor et les autres clients, le même serveur dans leur config JSON :
{
"mcpServers": {
"brimkern": {
"command": "brimkern",
"args": ["mcp", "--model=coder"]
}
}
}Ci-dessous, un vrai échange avec le serveur : la poignée de main, la liste des outils, puis un appel de statistiques (qui ne charge pas le modèle, d’où la réponse immédiate).
→ initialize { protocolVersion: "2025-06-18" } ← { "protocolVersion": "2025-06-18", "capabilities": { "tools": {} }, "serverInfo": { "name": "brimkern", "version": "0.1.0" } } → tools/list ← brimkern_ask · brimkern_review · brimkern_generate_tests · brimkern_stats → tools/call brimkern_stats ← { "model": "Qwen 3 4B (BRIK int4)", "loaded": false, "callsServed": 0, "totalTokensServed": 0, "estimatedSavingsUsd": 0 }
Capturé le 24/09/2026 depuis brimkern mcp ; la liste des outils n’est montrée que par leurs noms.
Les quatre outils
Chaque appel est indépendant : aucune mémoire des précédents, une revue ne voit donc jamais une question antérieure.
brimkern_askprompt, model?, mode?, max_tokens?brimkern_reviewcode, file_path?, max_tokens?brimkern_generate_testscode, test_framework?, max_tokens?brimkern_stats—Les blocs de réflexion (<think>…</think>) sont retirés de chaque réponse : l’agent ne reçoit que le résultat.
Le skill
Un skill est un fichier Markdown qui dit à Claude Code quand confier du travail à Brimkern et comment (quelles commandes, quelles options). Il est livré avec la CLI ; copiez-le dans un projet pour l’y activer.
mkdir -p .claude/skills cp -r ~/.brimkern/skills/brimkern-worker .claude/skills/
--- name: brimkern-worker description: Offload routine sub-tasks (exploratory tests, syntax transformations, code reviews, repetitive drafting) to local WebGPU Brimkern workers… --- # Brimkern Worker … brimkern -q "…" # réponse seule, pour les scripts brimkern --json "…" # charge utile structurée claude mcp add brimkern -- brimkern mcp
Scripts & JSON
Sans MCP, tout agent capable de lancer une commande shell peut déléguer : -q imprime la réponse seule, --json une charge utile structurée avec le nombre de tokens, la vitesse et la durée.
git diff | brimkern --json "Draft a conventional commit title"{
"ok": true,
"content": "The conventional commit title for the provided diff could be:\n\n`feat(auth): add passkey registration support`\n\n…",
"tokens": 48,
"elapsedMs": 4735,
"tokPerSec": 10.1,
"model": "Qwen 3 4B (BRIK int4)",
"backend": "Dawn (Metal)",
"savedUsd": 0.00158
}Sortie réelle, coder (Qwen 3 4B), Dawn natif sur Mac série M. savedUsd est une estimation de ce qu’une API payante aurait facturé, pas une mesure.
Limites
Une génération à la fois
Les appels d’outils parallèles sont mis en file : le modèle est chargé une fois et les sert à tour de rôle.
Mémoire
Le modèle par défaut occupe environ 2,5 Go de mémoire GPU tant que le serveur tourne.
Premier appel
Le premier appel télécharge puis charge le modèle ; les suivants le réutilisent.
Brimkern : moteur WebGPU open, conçu par Romain Khanoyan. IA locale, WebGPU, moteurs on-device.