Skip to content

v0.1.0 — Initial Release

Choose a tag to compare

@axeldunkel axeldunkel released this 02 Apr 18:11
· 99 commits to main since this release
fa4976c

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_code let 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.