Koskamo

HydraDNS MCP

HydraDNS is a self-hosted DNS firewall that includes a built-in Model Context Protocol (MCP) server. This allows AI agents to manage the DNS firewall directly via 14 tools, including blocking/unblocking domains, managing policies, reading query logs, and accessing metrics. It serves as an API-first alternative to Pi-hole with native AI agent support.

Package and access

Local package with source-attributed installation metadata. Koskamo does not execute packages during review.

HydraDNS MCP logo, by hydradnsCommunity listingLocal stdioSource reviewed; not executedPublished by hydradns
Vendor documentation

What you can do with it

  • Block or unblock specific domains via AI agent
  • Manage DNS policies through API or UI
  • Read DNS query logs and metrics
  • Explain network anomalies detected by the firewall

Source and maintenance

Community listingRegistry 0.1.0
Maintenance checked

Packages and installation

Source-provided package data. Koskamo has not executed or live-probed this package.

ghcr.io/hydradns/hydra-cli:0.1.0

ocidocker
ghcr.io/hydradns/hydra-cli:0.1.0 package definition
{
  "transport": "stdio",
  "identifier": "ghcr.io/hydradns/hydra-cli:0.1.0",
  "runtimeHint": "docker",
  "registryType": "oci",
  "packageArguments": [
    {
      "type": "positional",
      "value": "mcp",
      "valueHint": "mcp"
    }
  ],
  "environmentVariables": [
    {
      "name": "HYDRA_API_URL",
      "default": "http://host.docker.internal:8080",
      "isRequired": true,
      "description": "Base URL of the HydraDNS controlplane API. Inside a container, 'localhost' means the container itself, not the host running the controlplane. On Docker Desktop (Mac/Windows) the default below resolves automatically. On plain Docker Engine (Linux) either run the container with --add-host=host.docker.internal:host-gateway, or use --network host with http://localhost:8080 instead. Full instructions: docs/mcp.md in the repo, 'Running it -> As the container image'."
    },
    {
      "name": "HYDRA_TOKEN",
      "isRequired": true,
      "description": "Bearer token for the HydraDNS API, obtained via `hydra login` or the setup wizard. Grants whatever access the token's account has; MCP_ROLE narrows what the MCP tool layer will call, not what the token itself can do against the API directly."
    },
    {
      "name": "MCP_ROLE",
      "default": "admin",
      "description": "Permission scope for this MCP session: admin (default, every tool), operator (every mutating tool except toggle_engine), or reporter (read-only tools only). Any unrecognized value safe-defaults to reporter."
    }
  ]
}

Tools

Reported by the attributed source; not independently observed by Koskamo.

No tool definitions available.

Connect from your client

Each snippet configures the same source-provided package; replace placeholders before use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Cursor

Merge this local stdio configuration, replace every placeholder environment value, and restart Cursor. Koskamo has not executed this package.
Cursor configuration
{
  "mcpServers": {
    "hydradns-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "HYDRA_API_URL=<YOUR_HYDRA_API_URL>",
        "-e",
        "HYDRA_TOKEN=<YOUR_HYDRA_TOKEN>",
        "-e",
        "MCP_ROLE=<YOUR_MCP_ROLE>",
        "ghcr.io/hydradns/hydra-cli:0.1.0",
        "mcp"
      ],
      "env": {
        "HYDRA_API_URL": "<YOUR_HYDRA_API_URL>",
        "HYDRA_TOKEN": "<YOUR_HYDRA_TOKEN>",
        "MCP_ROLE": "<YOUR_MCP_ROLE>"
      }
    }
  }
}

Cline

Merge this local stdio configuration, replace every placeholder environment value, and restart Cline. Koskamo has not executed this package.
Cline configuration
{
  "mcpServers": {
    "hydradns-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "HYDRA_API_URL=<YOUR_HYDRA_API_URL>",
        "-e",
        "HYDRA_TOKEN=<YOUR_HYDRA_TOKEN>",
        "-e",
        "MCP_ROLE=<YOUR_MCP_ROLE>",
        "ghcr.io/hydradns/hydra-cli:0.1.0",
        "mcp"
      ],
      "env": {
        "HYDRA_API_URL": "<YOUR_HYDRA_API_URL>",
        "HYDRA_TOKEN": "<YOUR_HYDRA_TOKEN>",
        "MCP_ROLE": "<YOUR_MCP_ROLE>"
      }
    }
  }
}

VS Code

Merge this local stdio configuration, replace every placeholder environment value, and restart VS Code. Koskamo has not executed this package.
VS Code configuration
{
  "servers": {
    "hydradns-mcp": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "HYDRA_API_URL=<YOUR_HYDRA_API_URL>",
        "-e",
        "HYDRA_TOKEN=<YOUR_HYDRA_TOKEN>",
        "-e",
        "MCP_ROLE=<YOUR_MCP_ROLE>",
        "ghcr.io/hydradns/hydra-cli:0.1.0",
        "mcp"
      ],
      "env": {
        "HYDRA_API_URL": "<YOUR_HYDRA_API_URL>",
        "HYDRA_TOKEN": "<YOUR_HYDRA_TOKEN>",
        "MCP_ROLE": "<YOUR_MCP_ROLE>"
      }
    }
  }
}

Claude Desktop

Merge this local stdio configuration, replace every placeholder environment value, and restart Claude Desktop. Koskamo has not executed this package.
Claude Desktop configuration
{
  "mcpServers": {
    "hydradns-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "HYDRA_API_URL=<YOUR_HYDRA_API_URL>",
        "-e",
        "HYDRA_TOKEN=<YOUR_HYDRA_TOKEN>",
        "-e",
        "MCP_ROLE=<YOUR_MCP_ROLE>",
        "ghcr.io/hydradns/hydra-cli:0.1.0",
        "mcp"
      ],
      "env": {
        "HYDRA_API_URL": "<YOUR_HYDRA_API_URL>",
        "HYDRA_TOKEN": "<YOUR_HYDRA_TOKEN>",
        "MCP_ROLE": "<YOUR_MCP_ROLE>"
      }
    }
  }
}

Let your agent find its tools

Find servers like HydraDNS MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.