A bridge that exposes Varlink services as MCP (Model Context Protocol) tools for Claude Code.

Install:

nix profile install https://sources.profpatsch.de/Profpatsch.tar.gz#varlink-mcp-bridge

Configure (.mcp.json in your project):

{
  "mcpServers": {
    "my-service": {
      "command": "varlink-mcp-bridge",
      "args": [
        "--varlink-address=unix:/run/user/1000/my.service.Socket",
        "--interface=my.service.Interface"
      ]
    }
  }
}

Restart Claude Code to load the MCP server.

See man varlink-mcp-bridge for comprehensive documentation including:

Or view the manpage directly:

man ./varlink-mcp-bridge.1

  1. Connects to your Varlink service
  2. Introspects the interface definition
  3. Exposes each method as an MCP tool with auto-generated JSON Schema
  4. Translates tool calls ↔ Varlink method invocations
  5. Preserves documentation from Varlink interface comments

Example: A Varlink method GetLastPosition() -> (path: string, line: int) becomes an MCP tool GetLastPosition that Claude can invoke.

With Nix:

nix-build ~/kot/Profpatsch -A users.Profpatsch.varlink-mcp-bridge

With Go:

go build