Repository navigation
v0.1.0 — Initial Release
The first public release of ToolMesh — a Go middleware that orchestrates, authorizes, and secures tool calls between AI agents and backend infrastructure.
Every call passes through a fail-closed pipeline: AuthZ → Credentials → Gate → Backend → Gate → Audit.
Core
- MCP Server — Streamable HTTP transport with multi-backend aggregation and automatic tool prefixing
- Code Mode —
list_tools+execute_codelet LLMs write JavaScript instead of JSON tool calls - Authorization — Fine-grained access control via OpenFGA (User → Plan → Tool)
- Output Gate — Pre/post-execution JavaScript policies via goja. Ships with 7 example policies
- Audit — Structured logging with trace IDs. Pluggable stores: slog or SQLite
- Credential Store — Runtime injection via env vars. Secrets never leak into prompts or logs
DADL — Dunkel API Definition Language
Connect any REST API without writing an MCP server. YAML-based definitions with automatic pagination, response transformation (JSONPath/jq), retry, file handling, and composite tools. Includes lint-dadl CLI for security linting.
Pre-built integrations: GitHub, GitLab, Vikunja, Shelly Cloud, DokuWiki.
Authentication & Security
- OAuth 2.1 with PKCE S256, Dynamic Client Registration, API key auth
- CallerID spoofing prevention, caller-origin tracking with trust classes
- PII filtering with role-based field filtering
Extension Model
Registry pattern for Credential Stores, Tool Backends, and Gate Evaluators. Enterprise extensions (Infisical, Vault/OpenBao, Compliance-LLM) via Go build tags.
Deployment
Scratch-based Docker image, multi-platform (amd64 + arm64), Docker Compose with optional OpenFGA, KeyDB, and Caddy.