Sign inSign up

nicholaswilde/adguardhome-mcp-rs

By nicholaswilde

•Updated 8 months ago

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

Image
Integration & delivery
API management
0

8.5K

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

8 months ago

docker pull nicholaswilde/adguardhome-mcp-rs