go-tools

The Mirko Brombin / fabricators Go ecosystem — go-foundation (the shared base, 40+ pkg/ subpackages), go-slipstream, go-warp, and go-wormhole. The MCP server gives any AI client instant access to the full documentation.

📐 Design Principles

  • All modules are CGO_ENABLED=0 safe — no C dependencies
  • go-foundation is the only shared base; zero external dependencies, every other module depends on it
  • pkg/events (in-process, ephemeral) + pkg/relay (persistent, retryable) form a two-tier async pipeline — events for immediate side effects, relay for durable background work
  • go-warp syncbus supports multi-node cache consistency without changing application code — swap backend (InMemory, Mesh, Redis, NATS, Kafka)
  • pkg/srv + pkg/dispatcher replace the deprecated go-module-router/v2 in v1.1.0 — HTTP and named-action dispatch under one roof
  • pkg/saga is panic-safe: a panicking step triggers full LIFO rollback, never leaves partial state
  • pkg/app is the single entrypoint — orchestrates DI, HTTP, dispatch, and scheduling. pkg/hosting manages service lifecycle with health endpoints and graceful shutdown

🔗 Ecosystem Integration Pattern

User intent
    │
    ▼
pkg/app            — single entrypoint: DI, HTTP, dispatch, scheduling
    │
    ├── pkg/srv         — HTTP routing, binding, auth, validation, rate limit
    ├── pkg/dispatcher  — named action dispatch (GUI/TUI/CLI)
    ├── pkg/saga        — wraps multi-step logic in compensatable workflows
    ├── pkg/events      — emits completed action for in-process side effects
    └── pkg/relay       — enqueues durable background jobs
            │
            └── MemoryBroker (dev / single-node) — zero infrastructure

go-wormhole   — data access layer (EF-style ORM, Unit of Work, code-first migrations)
    └── providers: SQL (PostgreSQL, SQLite, MySQL, MSSQL) / MongoDB / go-slipstream / MemDoc

go-warp/v1    — caching + distributed cache invalidation
    └── sits between app logic and primary storage

go-slipstream — embedded Bitcask+Raft database
    └── used by go-wormhole (Slipstream provider) and go-warp (as L2 store)

📦 Module Quick Reference

Post-v1.1.0 consolidation: most former standalone modules (go-auth, go-relay, go-signal, go-revert, go-state-flow, …) are now pkg/ subpackages of go-foundation. Use search_modules to find the right one. The legacy standalone repos are still on GitHub but in maintenance mode.

ModuleImport pathPurpose
go-foundationgithub.com/mirkobrombin/go-foundationShared base — 40+ pkg/ subpackages: app, hosting, srv, bind, dispatcher, di, configuration, events, auth, guard, relay, saga, fsm, caching, scheduler, logger, metrics, httpx, resiliency, secrets, plugin, worker, validation, openapi, telemetry, health, …
go-slipstreamgithub.com/mirkobrombin/go-slipstreamEmbedded Bitcask-style WAL database with ACID transactions, secondary indexing, optional Raft
go-warp/v1github.com/mirkobrombin/go-warp/v1L1/L2 cache with configurable consistency, distributed invalidation, locking, leases, watch bus
go-wormholegithub.com/fabricatorsltd/go-wormholeEF-style ORM: pointer-tracking DSL, Unit of Work, code-first migrations, lifecycle hooks. SQL + MongoDB + Slipstream + MemDoc providers

🔧 Available Tools

list_modules
All top-level modules with import paths and one-line descriptions.
get_module(name)
Complete docs for a module — API reference, examples, integration notes.
search_modules(query)
Full-text search across all module documentation by keyword or concept.
get_ecosystem
Integration diagram and design principles — how all modules fit together.

🔌 Connect from an MCP Client

Add this to your MCP client configuration and you're ready to go.

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "go-tools": {
      "url": "https://go-tools.fabricators.ltd/mcp"
    }
  }
}

Edit ~/.cursor/mcp.json (or via Settings → MCP):

{
  "mcpServers": {
    "go-tools": {
      "url": "https://go-tools.fabricators.ltd/mcp"
    }
  }
}

Edit ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "go-tools": {
      "url": "https://go-tools.fabricators.ltd/mcp"
    }
  }
}

Edit ~/.copilot/mcp.json (or via the Copilot CLI settings):

{
  "mcpServers": {
    "go-tools": {
      "url": "https://go-tools.fabricators.ltd/mcp"
    }
  }
}

Edit .vscode/mcp.json in your workspace:

{
  "servers": {
    "go-tools": {
      "type": "http",
      "url": "https://go-tools.fabricators.ltd/mcp"
    }
  }
}

🏗️ Architecture

  • Transport Streamable HTTP — MCP 2025 standard, single POST /mcp endpoint.
  • Auth None — public documentation, no OAuth required.
  • Storage Index content is bundled into the Worker at deploy time. No external storage.
  • Runtime Cloudflare Workers + Durable Objects for per-connection MCP session state.