Technitium DNS Server MCP Server and Agent for Agentic AI!
Project description
Technitium DNS MCP Server & Agent
An ultra-premium, production-grade Model Context Protocol (MCP) server and graph-based Pydantic AI agent integration for Technitium DNS Server. Exposes comprehensive, 100% covered REST API endpoints for user SSO, analytics metrics, authoritative zones, DNSSEC, and dynamic DNS record operations.
🚀 Key Features
- 100% API Coverage: Complete mapping of Technitium User/SSO, Dashboard Analytics, Zone Management, DNSSEC, and Record Actions.
- FastMCP Protocol Integration: Dynamically registers stdio and streamable-http endpoints for large-scale AI tool discovery.
- Autonomous Agent Layer: Bundled with a Pydantic AI Agent that operates natively using advanced instruction graphs and local toolchains.
- Strict Compliance: Designed in accordance with standard codebase-wide architectural patterns (
agent-packages).
🛠️ Installation & Setup
Install package in editable mode with all optional dependencies:
pip install -e .[all]
Environment Variables
Configure .env using .env.example as a template:
# Server Endpoint & TLS
TECHNITIUM_DNS_URL=http://localhost:5380
TECHNITIUM_DNS_SSL_VERIFY=True
# Credentials / API Tokens
TECHNITIUM_DNS_TOKEN=your-secure-token
⚙️ Dynamic Tool Selection & Visibility
This MCP server supports dynamic toolset selection and visibility filtering at runtime. This allows you to restrict the set of exposed tools in order to prevent blowing up the LLM's context window.
You can configure tool filtering via multiple input channels:
- CLI Arguments: Pass
--toolsor--toolsets(or their disabled counterparts--disabled-toolsand--disabled-toolsets) during startup. - Environment Variables: Define standard environment variables:
MCP_ENABLED_TOOLS/MCP_DISABLED_TOOLSMCP_ENABLED_TAGS/MCP_DISABLED_TAGS
- HTTP SSE Request Headers: Pass custom headers during transport initialization:
x-mcp-enabled-tools/x-mcp-disabled-toolsx-mcp-enabled-tags/x-mcp-disabled-tags
- HTTP SSE Request Query Parameters: Append query parameters directly to your transport connection URL:
?tools=tool1,tool2?tags=tag1
When query strings or parameters are supplied, an LLM-free Knowledge Graph resolution layer (using DynamicToolOrchestrator) matches query intents against known tool tags, names, or descriptions, with safe fallback and automated 24-hour background cache refreshing.
🖥️ Running the Servers
Run MCP Server (stdio by default)
technitium-dns-mcp
Or start a streamable HTTP server:
TRANSPORT=streamable-http HOST=0.0.0.0 PORT=8000 technitium-dns-mcp
Run Pydantic AI Agent
technitium-dns-agent --mcp-url http://localhost:8000
🧪 Running Tests
Ensure high reliability across all components with standard test suites:
pytest -v tests/
Version: 0.29.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file technitium_dns_mcp-0.29.0.tar.gz.
File metadata
- Download URL: technitium_dns_mcp-0.29.0.tar.gz
- Upload date:
- Size: 25.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5263382b1159d4ba0e1b5e1a8613588177cf54bd2edac65648b74ce18cb369b5
|
|
| MD5 |
5025549b1990256a36bc45aa7a1e195e
|
|
| BLAKE2b-256 |
b1d442b508746309fe105f4893bd6034cc73cd8961cd891d2cc81f02245162d4
|
File details
Details for the file technitium_dns_mcp-0.29.0-py3-none-any.whl.
File metadata
- Download URL: technitium_dns_mcp-0.29.0-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bacffa20e60608fccdf3437dcefc743c659d69fc93ad1b3b7ea42043e6008c19
|
|
| MD5 |
d84f799c12702740184579b10788c1d2
|
|
| BLAKE2b-256 |
37f2315672c9c2c971a31c2fc83e7513fe693b4a57d39480aa9523d709103a4d
|