TACIT: Tracked Agent Capabilities In Types
About
TACIT (Tracked Agent Capabilities In Types) is a safety harness for AI agents. Instead of calling tools directly, agents write code in Scala 3 with capture checking: a type system that statically tracks capabilities and enforces that agent code cannot forge access rights, cannot
Details
- Author
- lampepfl
- Downloads
- 387
- Categories
- AI, Security
Jump to
- Scala 3 compiler with capture checking in safe mode
- Local REPL for stateless or stateful code execution
- Capability-safe library for file, process, and network access
- Classified[T] type enforces pure-only access to sensitive data
- Dual LLM design: trusted local model processes classified content
- Tools: execute_scala, session management, show_interface
Download the prebuilt release JARs (or build from source with sbt), then configure your agent to run the server with java -jar TACIT.jar --library-jar /path/to/TACIT-library.jar. Optionally disable the agent's built-in tools to route all operations through TACIT. For stateful tasks, use session tools (create_repl_session, execute_in_session, etc.).
TACIT: Tracked Agent Capabilities In Types
Paper: Tracking Capabilities for Safer Agents (arXiv:2603.00991)
TACIT (Tracked Agent Capabilities In Types) is a safety harness for AI agents.
Instead of calling tools directly, agents write code in Scala 3 with capture checking: a type system that statically tracks capabilities and enforces that agent code cannot forge access rights, cannot perform effects beyond its budget, and cannot leak information from pure sub-computations.
It provides an MCP interface, so that it can be easily used by all MCP-compatible agents.

The framework has three main components:
- Scala 3 compiler. Agent-submitted code is validated and type-checked with capture checking enabled in safe mode, which enforces a capability-safe language subset.
- Scala REPL. A local REPL instance executes compiled code and manages state across interactions. Supports both stateless one-shot execution and stateful sessions.
- Capability safety library. A typed API that serves as the sole gateway through which agent code interacts with the real world: file system, process execution, network, and sub-agents. The library is extensible: add new capabilities by modifying only the library code, without changing the MCP server itself.
Quick Start
TACIT provides a standard MCP server that communicates via JSON-RPC over stdio. It works with any MCP-compatible agent, including Claude Code, OpenCode, GitHub Copilot, and others.
Requires JDK 17+
1. Download Prebuilt Release JARs (Recommended)
Use the release download script to get started quickly (no local build required).
It will download the latest server and library JARs from GitHub releases and place them in the current directory.
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.
