nicholaswilde/adguardhome-mcp-rs

By nicholaswilde

Updated 5 months ago

Rust-based Model Context Protocol (MCP) server for monitoring and managing AdGuard Home filtering.

Image
Integration & delivery
API management
0

2.7K

nicholaswilde/adguardhome-mcp-rs repository overview

🛡️AdGuard Home MCP Server (Rust)🤖

A Rust implementation of an AdGuard Home MCP (Model Context Protocol) server. This server connects to an AdGuard Home instance and exposes tools to monitor and manage filtering via the Model Context Protocol.

✨ Features

  • Multi-Transport Support:
    • Stdio: Default transport for local integrations (e.g., Claude Desktop).
    • HTTP/SSE: Network-accessible transport for remote clients.
  • Lazy Mode: Initially exposes a minimal toolset to save AI context tokens, loading more tools on demand.
  • Comprehensive Tools:
    • System: Status, version info, and updates.
    • Protection: Global protection state, Safe Search, Parental Control, etc.
    • Filtering: Filter list management (add, remove, toggle) and custom rules.
    • DNS: Rewrites, upstream configuration, and cache management.
    • Analytics: Top blocked domains, client activity reports, and statistics.
    • Clients: Full CRUD operations for network clients.
    • DHCP: Lease management and static assignments.
    • Query Log: Search and filter DNS query logs.

🚀 Usage

Docker
Run with Stdio (Default)
docker run --rm -i \
  -e ADGUARD_HOST="192.168.1.10" \
  -e ADGUARD_USERNAME="admin" \
  -e ADGUARD_PASSWORD="yourpassword" \
  nicholaswilde/adguardhome-mcp-rs
Run with HTTP/SSE
docker run --rm -it \
  -p 3000:3000 \
  -e ADGUARD_HOST="192.168.1.10" \
  -e ADGUARD_USERNAME="admin" \
  -e ADGUARD_PASSWORD="yourpassword" \
  -e ADGUARD_MCP_TRANSPORT="http" \
  -e ADGUARD_HTTP_PORT="3000" \
  -e ADGUARD_HTTP_AUTH_TOKEN="your-secure-token" \
  nicholaswilde/adguardhome-mcp-rs
Docker Compose
services:
  adguardhome-mcp:
    image: nicholaswilde/adguardhome-mcp-rs:latest
    environment:
      ADGUARD_HOST: "192.168.1.10"
      ADGUARD_USERNAME: "admin"
      ADGUARD_PASSWORD: "yourpassword"
      ADGUARD_MCP_TRANSPORT: "http"
      ADGUARD_HTTP_PORT: "3000"
      ADGUARD_HTTP_AUTH_TOKEN: "your-secure-token"
    ports:
      - "3000:3000"
    restart: unless-stopped

⚙️ Configuration

VariableDescriptionDefault
ADGUARD_HOSTAdGuard Home instance host(Required)
ADGUARD_PORTAdGuard Home instance port3000
ADGUARD_USERNAMEAdGuard Home username-
ADGUARD_PASSWORDAdGuard Home password-
ADGUARD_MCP_TRANSPORTTransport mode (stdio or http)stdio
ADGUARD_HTTP_PORTPort for HTTP transport3000
ADGUARD_HTTP_AUTH_TOKENBearer token for HTTP security-
ADGUARD_LAZY_MODEEnable token-optimized lazy loadingfalse
ADGUARD_LOG_LEVELLog level (info, debug, etc.)info

Tag summary

Content type

Image

Digest

sha256:5c1046e7b

Size

8.9 MB

Last updated

5 months ago

docker pull nicholaswilde/adguardhome-mcp-rs