Hey ๐ just open-sourced tsk, a tool I built for the agents-touching-real-APIs problem.
tsk is a local MCP server that sits between your agent and external APIs. credentials live in ~/.tsk/.secrets, outside any project directory. The agent process never reads them. You write a rules.yaml listing which API calls the agent is allowed to make; tsk exposes those as MCP tools, injects the credential at call time, scrubs configured patterns (credit cards, IBANs, custom regex) from responses before the model sees them, and writes every call to a local SQLite db. tsk logs --tail 20 shows exactly what your agent actually did.
Built it because the .env setup felt wrong for anything past throwaway scripts: a prompt injection or a hallucinated tool call hits the live API at full privilege and the audit trail is whatever your app happens to log.
Single Go binary, Apache 2.0, no daemon / no cloud / no account. stdio MCP.
โ https://github.com/tesserakdev/tsk
Keen on feedback re: the rules schema (examples/rules.yaml) and what scrubbing patterns should be in defaults.