PluginBench
MCP Server
Active
MIT

TrueNAS SCALE MCP Server

io.github.cedricziel/truenas-mcp

What is the TrueNAS SCALE MCP server?

Inspect and manage TrueNAS SCALE storage, shares, apps and system state with your own API key

How to install TrueNAS SCALE

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • TRUENAS_MCP_TARGET
    required

    TrueNAS host to manage, optionally `host:port`. Requires TrueNAS SCALE 25.04 or later.

  • TRUENAS_MCP_ALLOW_PLAINTEXT

    Serve MCP without TLS. Set here because the listener is published on loopback only; drop it and supply TRUENAS_MCP_TLS_CERT/KEY if the port is reachable from elsewhere.

  • TRUENAS_MCP_TARGET_INSECURE

    Accept the TrueNAS certificate unverified while keeping the connection encrypted. TrueNAS ships a self-signed certificate for `CN=localhost`, so no address you can reach it by will validate.

  • TRUENAS_MCP_ENABLE_WRITES

    Expose the mutating tools. Read-only by default; unrecoverable operations stay unreachable either way.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "truenas-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/cedricziel/truenas-mcp:0.4.2",
        "--publish",
        "127.0.0.1:8080:8080"
      ],
      "env": {
        "TRUENAS_MCP_TARGET": "<YOUR_TRUENAS_MCP_TARGET>",
        "TRUENAS_MCP_ALLOW_PLAINTEXT": "<YOUR_TRUENAS_MCP_ALLOW_PLAINTEXT>",
        "TRUENAS_MCP_TARGET_INSECURE": "<YOUR_TRUENAS_MCP_TARGET_INSECURE>",
        "TRUENAS_MCP_ENABLE_WRITES": "<YOUR_TRUENAS_MCP_ENABLE_WRITES>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "truenas-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/cedricziel/truenas-mcp:0.4.2",
        "--publish",
        "127.0.0.1:8080:8080"
      ],
      "env": {
        "TRUENAS_MCP_TARGET": "<YOUR_TRUENAS_MCP_TARGET>",
        "TRUENAS_MCP_ALLOW_PLAINTEXT": "<YOUR_TRUENAS_MCP_ALLOW_PLAINTEXT>",
        "TRUENAS_MCP_TARGET_INSECURE": "<YOUR_TRUENAS_MCP_TARGET_INSECURE>",
        "TRUENAS_MCP_ENABLE_WRITES": "<YOUR_TRUENAS_MCP_ENABLE_WRITES>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "truenas-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/cedricziel/truenas-mcp:0.4.2",
        "--publish",
        "127.0.0.1:8080:8080"
      ],
      "env": {
        "TRUENAS_MCP_TARGET": "<YOUR_TRUENAS_MCP_TARGET>",
        "TRUENAS_MCP_ALLOW_PLAINTEXT": "<YOUR_TRUENAS_MCP_ALLOW_PLAINTEXT>",
        "TRUENAS_MCP_TARGET_INSECURE": "<YOUR_TRUENAS_MCP_TARGET_INSECURE>",
        "TRUENAS_MCP_ENABLE_WRITES": "<YOUR_TRUENAS_MCP_ENABLE_WRITES>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "truenas-mcp": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/cedricziel/truenas-mcp:0.4.2",
        "--publish",
        "127.0.0.1:8080:8080"
      ],
      "env": {
        "TRUENAS_MCP_TARGET": "<YOUR_TRUENAS_MCP_TARGET>",
        "TRUENAS_MCP_ALLOW_PLAINTEXT": "<YOUR_TRUENAS_MCP_ALLOW_PLAINTEXT>",
        "TRUENAS_MCP_TARGET_INSECURE": "<YOUR_TRUENAS_MCP_TARGET_INSECURE>",
        "TRUENAS_MCP_ENABLE_WRITES": "<YOUR_TRUENAS_MCP_ENABLE_WRITES>"
      }
    }
  }
}
Claude Code
claude mcp add truenas-mcp --env TRUENAS_MCP_TARGET=<YOUR_TRUENAS_MCP_TARGET> --env TRUENAS_MCP_ALLOW_PLAINTEXT=<YOUR_TRUENAS_MCP_ALLOW_PLAINTEXT> --env TRUENAS_MCP_TARGET_INSECURE=<YOUR_TRUENAS_MCP_TARGET_INSECURE> --env TRUENAS_MCP_ENABLE_WRITES=<YOUR_TRUENAS_MCP_ENABLE_WRITES> -- docker run -i --rm ghcr.io/cedricziel/truenas-mcp:0.4.2 --publish 127.0.0.1:8080:8080

Related MCP servers

Aha.io

Active

Search, read and update Aha.io ideas, features, epics, releases, goals and comments

6
TypeScript
MIT
View repository →