Technitium MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TECHNITIUM_URL | Yes | Your Technitium DNS server address, for example http://172.16.90.10:5380. | |
| TECHNITIUM_TOKEN | Yes | Your Technitium API token. Keep this secret and never paste it into chat. | |
| TECHNITIUM_VERIFY_TLS | No | Set to false for an https address with a self-signed certificate. | true |
| TECHNITIUM_DOWNLOAD_DIR | No | Where file downloads such as backups and logs are saved. | technitium-downloads |
| TECHNITIUM_TOKEN_IN_QUERY | No | Set to true for an old Technitium version that ignores the Bearer header. This puts the token in the URL, so avoid it if you can. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| technitium_serversA | List the Technitium servers this tool can reach, and which is the cluster primary. Shows names and addresses only. Never shows tokens. |
| technitium_endpointsA | Find Technitium API endpoints and see their parameters and safety level. query: words to look for in the path or title (for example "blocking" or "zone"). group: part of a group name (for example "Settings" or "DHCP"). Safety level: read runs at once. change and destructive need the user's yes. |
| technitium_endpoint_helpB | Show every parameter for one endpoint, for example /api/settings/set. |
| technitium_callA | Call any Technitium API endpoint, for example /api/dashboard/stats/get. Reads run at once. Anything that changes things is NOT run until you set confirm=true, and you must first tell the user what will change and get a clear yes. Risky calls (deleting, restoring, importing, changing ports or listeners, disabling users, password changes) also need confirm_phrase set to the exact endpoint path. Never guess parameters: use technitium_endpoint_help. The token is added automatically. Do not pass a token or a password unless the user asked for a password change. server: which Technitium server, when this tool has several (see technitium_servers). Use "all" for read-only calls. |
| technitium_statsA | Dashboard numbers: queries, blocked, cached, top charts. period: LastHour, LastDay, LastWeek, LastMonth, LastYear. server: which Technitium server, when this tool has several. "all" works. |
| technitium_settings_getA | Read all server settings. server: which Technitium server, when this tool has several. "all" works. |
| technitium_settings_setA | Change server settings. Send only the settings that should change. Example: {"enableBlocking": true}. Check names with technitium_endpoint_help on /api/settings/set. Read the settings first and tell the user what will change. Needs confirm=true after the user says yes. Port, listener, DNS over HTTPS/TLS, recursion and forwarder changes need confirm_phrase "/api/settings/set". server: which Technitium server, when this tool has several. One name only. Cluster-wide settings belong on the cluster primary. |
| technitium_blockingA | Turn ad blocking off for some minutes, or turn it on or off for good. minutes: pause blocking for this many minutes. enable: true or false to switch blocking for good. Ask the user first, then set confirm=true. server: which Technitium server, when this tool has several. One name only. |
| technitium_flush_cacheA | Clear the whole DNS cache. Ask the user first, then set confirm=true. server: which Technitium server, when this tool has several. One name only. |
| technitium_zonesA | List DNS zones. Give a zone name to list its records instead. server: which Technitium server, when this tool has several. "all" works. |
| technitium_recordsA | List, add or delete DNS records in a zone. action: list, add or delete. zone: the zone name, for example mogie.io. name: the full record name, for example ha.mogie.io. Leave empty for the zone itself. type: A, AAAA, CNAME, PTR, NS, TXT, MX, DNAME or ANAME. value: the address or target (for MX, the mail server). ttl: seconds (add only). preference: MX only. list runs at once. add needs confirm=true after the user says yes. delete needs confirm=true and confirm_phrase "/api/zones/records/delete". To change a record, delete the old one and add the new one. server: which Technitium server, when this tool has several. list accepts "all". add and delete need one name. Zones belong on the cluster primary. |
| technitium_resolveA | Look up a name to test DNS, for example ha.mogie.io. dns_server: this-server (default) asks that Technitium itself. Or give another DNS server address. It only reads. A cached answer can be returned. server: which Technitium server runs the lookup, when this tool has several. "all" runs it on every server, which is a good way to compare answers. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
The generic technitium_call can invoke any endpoint, so it functionally overlaps with technitium_stats, technitium_settings_get/set, technitium_blocking, technitium_flush_cache, technitium_zones, and technitium_records, leaving the agent to guess whether to use the specific wrapper or the generic call. The two discovery tools (technitium_endpoints and technitium_endpoint_help) are close cousins but distinguishable as search vs. detail. The dedicated wrappers themselves are otherwise clearly scoped by resource and action.
All names share the technitium_ prefix and snake_case, which is very predictable. The suffixes mix noun-style (technitium_stats, technitium_zones, technitium_records) with verb-style (technitium_flush_cache, technitium_resolve) and a _get/_set pair, but each name is still immediately readable and no convention is violated.
Twelve tools is a good fit for a DNS server admin surface, covering the common operations plus discovery and a generic escape hatch. The call/endpoint_help/endpoints trio adds some redundancy on top of the specific wrappers, but nothing feels bloated or thin enough to hurt.
Core lifecycle is well covered: server listing, stats, settings read/write, blocking toggle, cache flush, zone listing, record list/add/delete (with a documented delete+add workaround for edits), and resolution testing. Zone create/delete and areas like query logs or DHCP are not dedicated tools but remain reachable through technitium_call, so there are no hard dead ends.