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.
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
- 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
{
"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.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"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
{
"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
{
"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
{
"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.