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_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. |
| technitium_statsC | Dashboard numbers: queries, blocked, cached, top charts. period: LastHour, LastDay, LastWeek, LastMonth, LastYear. |
| technitium_settings_getB | Read all server settings. |
| 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". |
| 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. |
| technitium_flush_cacheA | Clear the whole DNS cache. Ask the user first, then set confirm=true. |
| technitium_zonesA | List DNS zones. Give a zone name to list its records instead. |
| 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. |
| technitium_resolveB | Look up a name to test DNS, for example ha.mogie.io. server: this-server (default) asks Technitium itself. Or give another DNS server address. It only reads. Note that a cached answer can be returned. |
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 11 tools
The generic technitium_call can invoke any endpoint, which overlaps heavily with the specialized wrappers (settings_get/set, blocking, flush_cache, zones, records, stats, resolve), so an agent may struggle to choose between the guided tool and the raw call. technitium_endpoints vs technitium_endpoint_help are also adjacent (discovery vs parameter lookup), though their descriptions distinguish them reasonably well.
All tools share a clear technitium_ prefix in snake_case, which keeps them readable and grouped. However the suffix conventions are mixed: some use noun_verb ordering (endpoint_help, settings_get, settings_set) while others use verb_noun (flush_cache) or bare nouns (stats, zones, records).
11 tools is well within the ideal 3-15 range and each tool maps to a distinct area of DNS server management (settings, blocking, cache, zones, records, resolve, stats, discovery). The set is cohesive without obvious filler.
Core lifecycle coverage is strong: read/write settings, blocking toggle, cache flush, zone listing, record list/add/delete, resolution, and stats, plus a generic call and endpoint discovery as an escape hatch for uncovered APIs. The main gap is in-place record update (only delete+add is documented) and no explicit user/permission or DHCP management, though the raw call partly compensates.