MCP.so
Sign In
T

TACIT: Tracked Agent Capabilities In Types MCP Server

@lampepfl

Basic information

Category

AI & Agents

Transports

stdio

Author

lampepfl

Submitted by

noti0na1

About TACIT: Tracked Agent Capabilities In Types MCP Server

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

TACIT: Tracked Agent Capabilities In Types MCP Server config

No standard config provided

This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.

Repository

TACIT: Tracked Agent Capabilities In Types MCP Server tools

6

`code`

-

`session_id`, `code`

-

`session_id`

-

Overview

What is TACIT?

TACIT is a safety harness for AI agents that uses Scala 3's capture checking type system to statically track capabilities and enforce safety. It provides an MCP interface for use by MCP-compatible agents like Claude Code, OpenCode, and GitHub Copilot.

How to use TACIT?

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.).

Key features of TACIT

  • 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

Use cases of TACIT

  • Sandbox agent code execution with compile-time capability enforcement
  • Granularly control file system, process, and network access per session
  • Prevent exfiltration of classified data (API keys, secrets) to cloud LLMs
  • Run multi-step agent tasks with persistent state across interactions

Frequently asked questions

1

What are the runtime requirements?

JDK 17+ is required. No local Scala installation needed—the server bundles the Scala 3 compiler and REPL.

2

How do I configure classified paths?

Use the `--classified-paths` CLI flag or the corresponding field in the JSON config file to specify comma-separated paths whose content becomes `Classified[String]`.

3

How does TACIT prevent data leakage?

The `Classified[T]` type enforces that only pure functions can transform classified data; any attempt to send it over the network or write it to an unclassified file is rejected at compile time.

4

Can I run multiple stateful sessions?

Yes. Use `create_repl_session` to get a session ID, then `execute_in_session` to run code in that session. Sessions persist until deleted with `delete_repl_session`.

5

How do I disable my agent's built-in tools?

Examples are provided for Claude Code (`--disallowedTools`), OpenCode (permission `"deny"`), and GitHub Copilot (VS Code settings). This forces all operations through TACIT's sandboxed REPL.

Comments

More AI & Agents MCP servers