Technitium MCP
This MCP server lets Claude inspect and administer one or more Technitium DNS servers through their API, with safety-gated changes.
List configured servers and identify the cluster primary.
Search/describe the Technitium API endpoint catalog and call any endpoint.
View dashboard stats and read server settings.
Change settings, enable/disable/pause ad blocking, and flush the DNS cache.
List zones and list/add/delete DNS records.
Test DNS lookups, including comparing results across servers.
Use multi-server mode: read-only calls can target
all; changes/deletes require one named server.Apply safety controls: read calls run immediately; changes require confirmation; destructive actions require exact endpoint-path confirmation; tokens are not exposed.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Technitium MCP show my DNS query stats for the last 24 hours"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Technitium MCP
A small tool that lets Claude read and change a Technitium DNS Server through its API.
It runs on your own computer. Your token stays on your computer.
What Claude can do with it
Look at stats, settings, zones, logs, and users.
Turn ad blocking on, off, or pause it.
Flush the cache and refresh block lists.
Change settings and zones.
List, add and delete DNS records (technitium_records).
Test a lookup (technitium_resolve).
Work with several Technitium servers from one tool (see below).
Anything else in the Technitium API. 137 endpoints are in the catalog.
Related MCP server: MCP Cloudflare DNS Server
Safety
Every call has a safety level.
read: runs right away.
change: does not run until Claude asks you and sets
confirm.destructive: deleting, restoring, importing, password changes, disabling users, and changing ports or listeners. It also needs the exact endpoint path typed back.
Other protections:
Login and create-token calls are blocked. They would put a password in the chat.
The token is never printed. It is removed from error messages.
File downloads (backups, logs) are saved to a folder. They are not sent to chat. Default folder:
technitium-downloadsin your home folder.
Set up
1. Make an API token
Open the Technitium web page.
Go to the Administration part, then Sessions, then create an API token. Menu names can differ a little by version.
Best: make a separate user just for this, and make the token from that user. Then you can delete it on its own later.
Give the token a name, like
Claude.
Do not paste the token in a chat. Put it only in the config file below. If it ever lands in a chat, delete that token and make a new one.
2. Add the tool to Claude
Open the Claude desktop app settings and find the MCP servers config file.
Add the block from claude_desktop_config.example.json.
Change the address and token.
TECHNITIUM_URL: your server, likehttp://192.168.1.10:5380TECHNITIUM_TOKEN: your token
That file now holds a secret. Do not share it. Do not put it on GitHub.
The example uses uvx. If you do not have it, use Python instead:
pip install D:\GitHub-Projects\technitium-mcpThen use "command": "technitium-mcp" and no args.
Restart the Claude desktop app.
3. Try it
Ask Claude: "Show my Technitium stats for the last day."
Several servers in one tool
You can keep one server on its own entry (like ha-blue) and put a group of servers in a second entry. Both entries use the same code.
Example: a cluster with tech-master as the primary and two followers.
See claude_desktop_config.example.json for the full block.
TECHNITIUM_SERVERS: the names, separated by commas.TECHNITIUM_URL_<NAME>andTECHNITIUM_TOKEN_<NAME>: one pair per server.<NAME>is the name in capitals, with every other character turned into_.technitium-01becomesTECHNITIUM_URL_TECHNITIUM_01.TECHNITIUM_PRIMARY: the cluster primary. Changes on any other server get a warning that cluster-wide changes belong on the primary.Do not set plain
TECHNITIUM_URLorTECHNITIUM_TOKENin a group entry. They are ignored there, so one server's token can never go to another server.
How Claude uses it:
Every tool has a
serveroption. In a group, Claude must give a name.technitium_serverslists the names, addresses and the primary. No tokens.server: "all"works for read-only calls only. Good for comparing stats, settings or a lookup across all servers.Changes and deletes need exactly one server name. No "all".
Each server needs its own API token. A bad token breaks only that server.
If TECHNITIUM_SERVERS is not set, the tool works as before with one server.
Note: in technitium_resolve, the old server option (which DNS server to ask)
is now dns_server. server now means which Technitium server runs the lookup.
Other settings
TECHNITIUM_VERIFY_TLS=false: for an https address with a self-signed certificate.TECHNITIUM_TOKEN_IN_QUERY=true: for an old Technitium version that ignores the Bearer header. This puts the token in the URL, so avoid it if you can.TECHNITIUM_DOWNLOAD_DIR: where downloads are saved.TECHNITIUM_VERIFY_TLS_<NAME>: same as above, for one server in a group.
Test it
pip install mcp
python tests/test_server.py
python tests/test_multi.pyThe tests start fake Technitium servers and check every tool and every safety rule.
test_multi.py checks the several-server mode with three fake servers.
Limits
File uploads are not supported yet: zone import, settings restore, and app install from a file. Installing an app from a URL works.
Cluster options are in the catalog but not tested.
Tested against a fake server only. Not yet tested on a real one.
Credits
Endpoint list built from the official Technitium API docs. Technitium is made by Technitium. This project is not made by Technitium.
License
MIT. See LICENSE.
Available Tools
12 toolstechnitium_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.
Inputs: enable, server, confirm, minutes. Returns: result
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.
Inputs: endpoint (required), params, server, confirm, +2 more. Returns: result
technitium_endpoint_helpB
Show every parameter for one endpoint, for example /api/settings/set.
Inputs: path (required). Returns: result
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.
Inputs: group, query. Returns: result
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.
Inputs: server, confirm. Returns: result
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.
Inputs: zone (required), action (required), ttl, name, +6 more. Returns: result
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.
Inputs: name (required), type, server, dns_server. Returns: result
technitium_serversA
List the Technitium servers this tool can reach, and which is the cluster primary.
Shows names and addresses only. Never shows tokens.
Inputs: no named parameters. Returns: result
technitium_settings_getA
Read all server settings.
server: which Technitium server, when this tool has several. "all" works.
Inputs: server. Returns: result
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.
Inputs: settings (required), server, confirm, confirm_phrase. Returns: result
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.
Inputs: period, server. Returns: result
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.
Inputs: zone, server. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
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.
Maintenance
Related MCP Connectors
Plausible MCP server for ChatGPT, Claude and any AI agent: list sites, get site stats, get top pages, get traffic sources, create site, add goal, create shared link and invite guest in your own Plausible account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Plausible yourself; Cotlet does not store your password and you need no Plausible API key. About the official Plausible API: Plausible has an official API, but a limited one (checked 22 Oct 2026). The Stats API only reads data and needs the Business plan, the Sites API that creates sites, goals and shared links is Enterprise only, and there is no official MCP server. Setup and FAQ: https://cotlet.dev/integrations/plausible-api-mcp-server
Bandsintown MCP server for ChatGPT, Claude and any AI agent: add event, update event, delete event, send fan message, get fan stats and list upcoming events in your own Bandsintown account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Bandsintown yourself; Cotlet does not store your password and you need no Bandsintown API key. About the official Bandsintown API: Bandsintown has a public API, but it only reads: artist info and artist events (checked 11 Oct 2026). You cannot add, edit or delete events, post to followers or read Insights through it, and each API key is tied to one artist. Setup and FAQ: https://cotlet.dev/integrations/bandsintown-api-mcp-server
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Flickr MCP server for ChatGPT, Claude and any AI agent: list albums, upload photo, edit title and tags, move photos between albums, change privacy, reply to comment and add photo to group in your own Flickr account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Flickr yourself; Cotlet does not store your password and you need no Flickr API key. About the official Flickr API: Flickr has a full REST API with methods for photos, albums, comments, groups and uploads, but no official MCP server (checked 17 Oct 2026). Only Flickr Pro subscribers can request new API keys, and commercial use needs a separate commercial key, by prior arrangement with Flickr. Setup and FAQ: https://cotlet.dev/integrations/flickr-api-mcp-server
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to manage Cloudflare DNS records, including listing zones and records, and creating, updating, or deleting DNS records.23 npmMIT
- AlicenseAqualityBmaintenanceEnables AI agents to manage Cloudflare DNS records, including listing, creating, updating, and deleting records for your domains.814 npmGPL 3.0

Koru Shield MCP Serverofficial
AlicenseBqualityBmaintenanceEnables AI assistants to manage DNS filtering accounts by blocking or allowing domains, checking policies, reviewing blocked queries, and managing filter categories, schedules, and devices through natural language.1650 npm1MIT- AlicenseBqualityCmaintenanceEnables users to inspect and manage domains, DNS records (including A, AAAA, CNAME, MX, TXT and more), HTTP forwards, invoices and dynamic DNS through a hosting provider's API, with previewed change plans, conflict detection, backups and independent readback before writes. Offers DNS shortcuts such as website setup, verification records, bulk IP replacement, zone import/export and backup restore, exposed via local stdio or authenticated Streamable HTTP for a central gateway.27MIT