Ga naar hoofdinhoud
Neal Gysemans
Alle projecten
2026Gebouwd — interne infrastructuur & nog niet publiek

local-agent-mcp

Een MCP-server waarmee Claude Code werk kan doorgeven aan een model op je eigen machine — met een sandbox die strak genoeg is om dat ook echt te durven.

Rol
Solo-auteur — ontwerp, implementatie, tests
Stack
  • Python
  • MCP
  • Ollama
Architectuurdiagram: Claude Code geeft een taak door aan de local-agent-mcp-server, die een Ollama-model op je eigen machine draait achter drie guardrails — padresolutie, een limiet van drie beurten en een allowlist voor commando's.

Status

Nog niet uitgebracht. De broncode staat op GitHub.

Beslissingen

Los het pad op, vergelijk geen strings

Elk pad wordt opgelost met realpath op zowel de basis als de kandidaat, en daarna vergeleken met commonpath, zodat symlinks en ../-ontsnappingen opgelost worden vóór de controle in plaats van erna.

Een harde limiet van drie beurten

De agentloop stopt na drie beurten en geeft de controle altijd terug aan de aanroeper, of het lokale model nu denkt dat het klaar is of niet.

Een geparste allowlist, geen shell

Commando’s worden geparst in plaats van aan een shell gegeven, en gematcht op het programma in plaats van op de ruwe string. Dat verving een eerste versie die het hele commando met een glob matchte onder shell=True, waardoor een geketend commando erdoor glipte.

Wat het kostte

  • Padresolutie: trager dan een simpele prefixvergelijking.
  • Limiet van drie beurten: een taak die een vierde beurt nodig heeft, faalt, en de aanroeper moet ze opsplitsen.
  • Geen shell: geen pipes of redirects.