Skip to main content
Glama

master-mcp

Ein einziger MCP-Server (stdio, TypeScript) für die Admin-Verwaltung von:

  • Cloudflare (Zonen, DNS, Cache, Firewall/WAF, Custom Hostnames, Zone-Settings, Analytics)

  • Porkbun (Domains, DNS, URL-Forwarding, Nameserver, SSL-Bundle, Pricing)

  • Docker (Container, Images, Volumes, Netzwerke, Stats, Logs - lokaler Socket oder Remote-TCP)

  • Proxmox VE (Nodes, VMs/LXCs, Snapshots, Backups, Storage, Cluster, Tasks)

  • Nginx Proxy Manager / NPMPlus (Proxy-Hosts, Redirects, Streams, Access-Lists, Zertifikate, Users)

  • Uptime Kuma (Monitore, Heartbeats, Wartungsfenster, Status-Pages, Notifications)

  • Authentik (Users, Gruppen, Applications, Providers, Outposts, Flows, Events, Invitations)

  • Coolify (Applications, Deployments, Datenbanken, Services, Server, Projekte, Teams)

Alle Aktionen im Detail

Der Server exponiert selbst nur drei MCP-Tools (list_services, list_actions, execute_action - siehe Architektur). Die eigentlichen ~150 Aktionen sind serverseitig in einem Katalog organisiert; hier die vollständige Liste je Dienst. Jede Aktion wird über execute_action mit service, action, optional instance und den unten genannten Parametern aufgerufen. ⚠️ markiert destruktive Aktionen (Löschen/Stop/Prune/... - irreversibel oder zustandsändernd mit Risiko).

Cloudflare (21 Aktionen)

Aktion

Beschreibung

list_zones

Zonen (Domains) im Account auflisten, optional nach Name gefiltert

get_zone

Details einer einzelnen Zone per ID

list_dns_records

DNS-Records einer Zone auflisten, optional nach Typ/Name gefiltert

create_dns_record

Neuen DNS-Record (A, AAAA, CNAME, TXT, MX, ...) anlegen

update_dns_record ⚠️

Felder eines bestehenden DNS-Records ändern

delete_dns_record ⚠️

DNS-Record löschen

purge_cache ⚠️

Edge-Cache einer Zone leeren (bestimmte Dateien oder alles)

list_firewall_rules

(Legacy) Firewall-Regeln einer Zone auflisten

get_zone_settings

Alle Zone-Settings lesen (SSL-Modus, Always-Online, Minify, ...)

update_zone_setting ⚠️

Ein Zone-Setting ändern (z.B. ssl, security_level, min_tls_version)

list_page_rules

Page Rules einer Zone auflisten

create_page_rule

Page Rule mit Ziel-URL-Muster und Aktionen anlegen

delete_page_rule ⚠️

Page Rule löschen

list_ip_access_rules

IP/Land/ASN-Zugriffsregeln (Block/Challenge/Whitelist) auflisten

create_ip_access_rule

IP/IP-Range/Land/ASN-Zugriffsregel anlegen

delete_ip_access_rule ⚠️

IP-Zugriffsregel löschen

list_certificate_packs

SSL/TLS-Zertifikatspakete einer Zone auflisten

list_custom_hostnames

Custom Hostnames (SSL for SaaS) auflisten

create_custom_hostname

Custom Hostname anlegen

delete_custom_hostname ⚠️

Custom Hostname löschen

list_zone_analytics

Analytics-Dashboard-Summen (Requests, Bandbreite, Threats) für einen Zeitraum

Porkbun (13 Aktionen)

Aktion

Beschreibung

ping

API-Erreichbarkeit prüfen, liefert die öffentliche IP zurück - guter Smoke-Test

list_domains

Alle Domains im Account auflisten (paginiert, optional mit Labels)

get_dns_records

DNS-Records einer Domain abrufen (per ID, per Typ+Subdomain, oder alle)

create_dns_record

Neuen DNS-Record anlegen

edit_dns_record ⚠️

Bestehenden DNS-Record ändern

delete_dns_record ⚠️

DNS-Record löschen

update_nameservers ⚠️

Autoritative Nameserver einer Domain ändern (wirkt global auf die Auflösung)

get_ssl_bundle

Kostenloses SSL-Zertifikatsbündel (Chain, Private Key, Public Key) abrufen

get_url_forwarding

Bestehende URL-Weiterleitungen einer Domain auflisten

add_url_forwarding

URL-Weiterleitung für Domain/Subdomain anlegen

delete_url_forwarding ⚠️

URL-Weiterleitung löschen

get_nameservers

Aktuelle Nameserver einer Domain abrufen

check_domain_pricing

Porkbuns TLD-Preisliste abrufen (Registrierung, Verlängerung, Transfer)

Docker (25 Aktionen)

Aktion

Beschreibung

list_containers

Container auflisten (per Default nur laufende, all=true inkl. gestoppter)

inspect_container

Vollständige Inspect-Details (Config, State, Mounts, Netzwerk) eines Containers

start_container

Gestoppten Container starten

stop_container ⚠️

Laufenden Container stoppen, optional mit Grace-Timeout

restart_container ⚠️

Container neu starten, optional mit Grace-Timeout

remove_container ⚠️

Container entfernen, optional forciert + inkl. Volumes

container_logs

Aktuelle stdout/stderr-Logs (mit Zeitstempeln) abrufen

list_images

Vorhandene Images auf dem Host auflisten

pull_image

Image (optional bestimmter Tag) aus der Registry ziehen

list_volumes

Volumes auf dem Host auflisten

list_networks

Netzwerke auf dem Host auflisten

docker_info

Kompakte Host-Zusammenfassung (Container-/Image-Zahlen, Version, OS, CPU, RAM)

rename_container ⚠️

Container umbenennen

container_stats

Momentaufnahme der Ressourcennutzung (CPU %, Speicher, Netzwerk-I/O)

container_processes

Laufende Prozesse in einem Container auflisten (wie docker top)

create_container

Neuen Container aus einem Image anlegen, optional sofort starten

prune_containers ⚠️

Alle gestoppten Container entfernen

remove_image ⚠️

Image entfernen, optional forciert

tag_image

Neues repo:tag auf ein bestehendes Image anwenden

prune_images ⚠️

Ungenutzte Images entfernen (per Default nur dangling)

create_network

Netzwerk anlegen (Default-Driver: bridge)

remove_network ⚠️

Netzwerk entfernen

create_volume

Volume anlegen (Default-Driver: local)

remove_volume ⚠️

Volume entfernen, optional forciert

prune_volumes ⚠️

Alle ungenutzten Volumes entfernen

Proxmox VE (19 Aktionen)

Aktion

Beschreibung

list_nodes

Cluster-Nodes mit Status, CPU, Memory, Uptime auflisten

list_guests

VMs (qemu) und/oder LXC-Container auflisten, pro Node oder Cluster-weit

get_guest_status

Aktuellen Status (running/stopped, CPU, Mem, Uptime) einer VM/eines LXC abrufen

start_guest

Gestoppte VM/LXC starten

stop_guest ⚠️

VM/LXC hart stoppen (wie Stromstecker ziehen) - Datenverlust bei ungesichertem Zustand möglich

shutdown_guest ⚠️

VM/LXC per ACPI/Agent-Signal sauber herunterfahren

reboot_guest ⚠️

VM/LXC sauber neu starten

list_storage

Storage-Pools auflisten (pro Node oder Cluster-Konfiguration)

cluster_status

Cluster-Status: Member-Nodes, Quorum, Cluster-Info

get_guest_config

Konfiguration (Cores, Memory, Disks, Netzwerk, ...) einer VM/eines LXC abrufen

update_guest_config ⚠️

Konfiguration (Cores, Memory, Beschreibung) einer VM/eines LXC ändern

list_snapshots

Snapshots einer VM/eines LXC auflisten

create_snapshot

Neuen Snapshot anlegen

delete_snapshot ⚠️

Snapshot löschen

rollback_snapshot ⚠️

VM/LXC auf einen Snapshot zurücksetzen, verwirft den aktuellen Zustand

list_backups

Backup-Archive auf einem Node auflisten (bestimmter Storage oder alle)

get_node_status

Detaillierten Node-Status abrufen (Uptime, Load, Memory, CPU)

list_users

Proxmox-Zugriffskontroll-Benutzer auflisten

get_task_status

Status eines Background-Tasks per UPID abfragen (z.B. laufenden Start/Stop/Snapshot-Task pollen)

Nginx Proxy Manager / NPMPlus (19 Aktionen)

Aktion

Beschreibung

list_proxy_hosts

Alle Proxy-Hosts auflisten, inkl. Owner/Access-List/Zertifikat-Details wenn unterstützt

create_proxy_host

Neuen Reverse-Proxy-Host anlegen (Domain(s) → Forward-Ziel, SSL/Caching/Security-Optionen)

update_proxy_host ⚠️

Forward-Ziel, Domains, SSL oder Security-Einstellungen eines Hosts ändern

delete_proxy_host ⚠️

Proxy-Host löschen

enable_proxy_host

Deaktivierten Proxy-Host aktivieren

disable_proxy_host ⚠️

Proxy-Host deaktivieren - nimmt die dahinterliegende Seite offline

list_redirection_hosts

Konfigurierte Redirection-Hosts (Domain-Weiterleitungen) auflisten

list_streams

Konfigurierte TCP/UDP-Streams auflisten

list_access_lists

Konfigurierte Access-Lists (Basic-Auth/Allow-Deny-Regeln) auflisten

list_certificates

Bekannte SSL-Zertifikate auflisten

list_users

NPM/NPMPlus-Benutzer auflisten

create_user

Neuen NPM-Benutzer anlegen und Passwort setzen (zweistufig: User anlegen, dann Auth setzen)

update_user ⚠️

Name/Nickname/E-Mail/Admin-Rolle/Disabled-Status eines Benutzers ändern

delete_user ⚠️

NPM-Benutzer löschen

list_dead_hosts

Konfigurierte 404/Catch-all-("Dead")-Hosts auflisten

list_settings

Alle NPM/NPMPlus-Anwendungseinstellungen auflisten

update_setting ⚠️

Eine Anwendungseinstellung per ID ändern (z.B. default-site)

request_letsencrypt_certificate

Neues Let's-Encrypt-Zertifikat für eine oder mehrere Domains anfordern

delete_certificate ⚠️

SSL-Zertifikat löschen

Uptime Kuma (11 Aktionen)

Aktion

Beschreibung

list_monitors

Alle Monitore (ID, Name, Typ, URL/Hostname, Aktiv-Status, Check-Intervall) auflisten

get_monitor_beats

Historische Heartbeats (Up/Down über die Zeit) für einen Monitor, über einen Zeitraum in Stunden

pause_monitor ⚠️

Monitor pausieren - stoppt Checks und Alerting bis zur Wiederaufnahme

resume_monitor

Pausierten Monitor wieder aktivieren

delete_monitor ⚠️

Monitor und dessen Historie dauerhaft löschen

add_http_monitor

Neuen HTTP(s)-Monitor anlegen, der eine URL periodisch auf Erreichbarkeit prüft

edit_monitor ⚠️

Name/URL/Check-Intervall/Retry-Intervall/Resend-Intervall/Aktiv-Status eines Monitors ändern

list_notifications

Konfigurierte Notification-Provider (E-Mail, Discord, Telegram, ...) auflisten

list_maintenance

Konfigurierte Wartungsfenster auflisten

add_maintenance

Wartungsfenster anlegen, optional auf bestimmte Monitore beschränkt, unterdrückt Alerts währenddessen

list_status_pages

Öffentliche Status-Pages auflisten, keyed nach Slug

Hinweis: Accounts mit 2FA werden nicht unterstützt (Login schlägt mit klarer Fehlermeldung fehl, statt hängenzubleiben).

Authentik (16 Aktionen)

Aktion

Beschreibung

list_users

Authentik-Benutzer auflisten, optional nach Suchtext/Aktiv-Status gefiltert

get_user

Details eines einzelnen Benutzers per ID

create_user

Neuen Benutzer anlegen (Username, Name, E-Mail, optionale Gruppenmitgliedschaften)

update_user ⚠️

Name/E-Mail/Aktiv-Status eines bestehenden Benutzers ändern

delete_user ⚠️

Benutzer löschen

set_user_password ⚠️

Passwort eines Benutzers setzen/zurücksetzen

list_groups

Gruppen auflisten, optional nach Suchtext gefiltert

create_group

Neue Gruppe anlegen, optional mit Superuser-Rechten

add_user_to_group ⚠️

Benutzer einer Gruppe hinzufügen

remove_user_from_group ⚠️

Benutzer aus einer Gruppe entfernen

list_applications

Applications auflisten, optional nach Suchtext gefiltert

list_providers

Alle Provider auflisten (OAuth2, SAML, Proxy, LDAP, ... - alle Typen kombiniert)

list_outposts

Outpost-Instanzen (Proxy/LDAP/RADIUS-Deployments) und deren Health auflisten

list_flows

Flows (Login, Enrollment, Recovery, ...) auflisten, optional nach Suchtext gefiltert

list_events

Audit-Log-Events auflisten, standardmäßig neueste zuerst

create_invitation

Enrollment-Einladung anlegen, optional mit vorausgefüllten Daten und Ablaufdatum

Coolify (27 Aktionen)

Aktion

Beschreibung

list_applications

Alle Applications über alle Projekte/Server auflisten

get_application

Vollständige Details einer Application per UUID

start_application

Gestoppte Application starten

stop_application ⚠️

Laufende Application stoppen

restart_application ⚠️

Application neu starten

deploy

Deployment anstoßen (per Application/Resource-UUID oder Tag), optional erzwungener No-Cache-Rebuild

get_application_logs

Aktuelle Logs einer Application abrufen

list_application_envs

Umgebungsvariablen einer Application auflisten

create_application_env ⚠️

Umgebungsvariable einer Application anlegen/überschreiben

delete_application_env ⚠️

Umgebungsvariable einer Application per Key löschen

list_deployments

Aktuell laufende/wartende Deployments auflisten

get_deployment

Details/Status eines Deployments per UUID

list_databases

Alle Coolify-verwalteten Datenbanken auflisten

get_database

Vollständige Details einer Datenbank per UUID

start_database

Gestoppte Datenbank starten

stop_database ⚠️

Laufende Datenbank stoppen

restart_database ⚠️

Datenbank neu starten

list_services

Alle Services auflisten (One-Click-App-Stacks wie Plausible, Ghost, ...)

get_service

Vollständige Details eines Service per UUID

start_service

Gestoppten Service starten

stop_service ⚠️

Laufenden Service stoppen

restart_service ⚠️

Service neu starten

list_servers

Alle mit dieser Coolify-Instanz verbundenen Server auflisten

get_server

Vollständige Details eines Servers per UUID, inkl. Erreichbarkeits-/Nutzbarkeits-Status

list_projects

Alle Projekte auflisten

get_project

Vollständige Details eines Projekts per UUID, inkl. Environments/Ressourcen

list_teams

Alle Teams auflisten, auf die dieser API-Token Zugriff hat

Related MCP server: InfraOps MCP Server

Architektur

Token-effizientes Search+Execute-Pattern statt eines Tools pro Aktion: der Server exponiert nur drei MCP-Tools (list_services, list_actions, execute_action); die eigentlichen 151 Aktionen (siehe Alle Aktionen im Detail) liegen serverseitig in einem Katalog und werden erst bei Bedarf per Freitextsuche gefunden.

Jeder Dienst kann mehrere benannte Instanzen mit eigenen Zugangsdaten/Zielen haben (z.B. zwei Docker-Hosts oder zwei Proxmox-Nodes) - siehe .env.example.

src/
  core/
    types.ts       - ActionDef/ServiceModule/InstanceConfig Interfaces
    instances.ts    - Multi-Instanz-Discovery aus ENV-Variablen
    registry.ts     - Katalog, Suche, Instanz-Auflösung
    http.ts         - axios-Client-Helper
  services/
    cloudflare.ts, porkbun.ts, docker.ts, proxmox.ts, npm.ts, uptimeKuma.ts, authentik.ts, coolify.ts
    index.ts        - Aggregiert alle ServiceModules
  index.ts           - MCP-Server-Wiring (stdio)

Setup

npm install
cp .env.example .env   # eintragen, welche Dienste genutzt werden
npm run build

In Claude Code registrieren

claude mcp add master-mcp -- node /pfad/zu/masterMCP/dist/index.js

(oder die passende Konfiguration in claude_desktop_config.json / MCP-Client deiner Wahl - stdio-Transport, Env-Variablen aus .env werden beim Start via dotenv geladen.)

Entwicklung

npm run dev        # tsx, ohne Build
npm run typecheck
npm test           # vitest, 146 Tests über alle 8 Module
npm run build

Sicherheit

  • Alle Credentials kommen ausschließlich aus Umgebungsvariablen (.env, nie committen).

  • execute_action markiert jede Aktion als readOnly/destructive - destruktive Aktionen (Löschen, Stop/Reboot, Prune, ...) sind klar gekennzeichnet.

  • insecureTls-Felder (Proxmox, NPM, Authentik, Docker-TLS) sind Opt-in und standardmäßig false - nur für selbstsignierte LAN-Zertifikate gedacht.

Available Tools

3 tools
execute_actionA

Execute one action against one instance of a service. Look up the action id and its params schema via list_actions first. instance selects which configured target to use (e.g. which Proxmox node or Docker host) - omit it only if the service has exactly one instance configured. Destructive actions (as flagged by list_actions) change or delete remote state - double check params before calling.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction id as returned by list_actions.
paramsNoAction-specific params object, validated against its schema.
serviceYesService id, e.g. 'docker', 'proxmox', 'cloudflare'.
instanceNoInstance id, e.g. 'home'. Required if the service has more than one instance.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose the key mutation trait: destructive actions change or delete remote state, with a warning to double-check params. That is real behavioral context beyond the schema. It does not cover auth/permission requirements, idempotency, or error/side-effect behavior on partial failure, so it falls short of fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action, then prerequisite, then parameter rule, then risk warning. Every sentence carries distinct, non-redundant information and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and a nested params object, the description covers purpose, prerequisite lookup, instance selection, and destructive risk. The remaining gap is return/response behavior and error handling, which matters more here because no output schema exists to fill it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters, including the instance requirement and params validation. The description restates the instance selection semantics and the params-schema validation rather than adding new syntax, formats, or examples, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Execute one action against one instance of a service') and bounds the scope to a single action/instance pair. It implicitly and explicitly distinguishes itself from the sibling listing tools by referencing list_actions as the lookup step that precedes execution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit prerequisite ('look up the action id and its params schema via list_actions first') and an explicit conditional rule for the optional parameter ('omit it only if the service has exactly one instance configured'). It also flags when extra care is warranted (destructive actions). Nothing about when to reach for this tool is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_actionsA

Search/list available actions across configured services. Returns each action's id, owning service, a one-line summary, whether it's read-only or destructive, and its JSON input schema. Use query to search by keyword (e.g. 'restart container', 'dns record', 'proxy host'); omit both filters to list everything. Only configured services' actions are returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoFree-text keyword search over action id/summary/service.
serviceNoRestrict to one service id, e.g. 'docker' or 'proxmox'.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it delivers unusually well by disclosing the exact return shape (id, service, summary, read-only/destructive flag, JSON input schema). It also states the scoping constraint that only configured services' actions appear. It does not confirm the operation is side-effect free, nor mention result limits or pagination for a potentially large listing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences, each doing distinct work: purpose, return fields, query usage, default/scope behavior. The purpose leads, and there is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Because there is no output schema, the description's enumeration of return fields is essential and present, and the configured-services limitation is called out. It leaves open how large result sets are bounded (pagination, truncation) for an unfiltered list-everything call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3 and the schema already documents both parameters. The description adds real value on top by giving concrete keyword examples for `query` and by clarifying that omitting both filters is equivalent to listing everything — behavior the schema does not express.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('Search/list available actions across configured services') and even enumerates the returned fields, so the agent knows exactly what comes back. It does not explicitly name its siblings list_services or execute_action, so the differentiation from execute_action is only implicit in the word 'list'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage instruction plus examples: search via `query` with samples like 'restart container', 'dns record', 'proxy host', and the default of omitting both filters to list everything. It never states when to reach for a sibling tool instead (e.g., list_services to enumerate services, execute_action to run one), so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_servicesA

List all admin services this MCP can reach (Uptime Kuma, NPMPlus/Nginx Proxy Manager, Porkbun, Cloudflare, Docker, Proxmox), which are configured, and which named instances exist for each (e.g. multiple Docker hosts or Proxmox nodes with separate credentials). Call this first if you're unsure what's available.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden; it discloses what information is surfaced (which services exist, which are configured, which named instances/credentials exist per service). It implies a safe read but never explicitly says the call is read-only or cheap, so one point is left on the table.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single information-dense sentence followed by a one-line call to action. The purpose is front-loaded and every clause earns its place; nothing is redundant with the name or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema or annotations exist, yet the description tells the agent exactly what the response conveys: required services, configuration state, and per-service instances. For a zero-parameter discovery tool this is complete enough to call confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, which is the baseline 4 case. There are no parameter semantics to disambiguate, and the description does not need to add any.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the specific verb (List) and resource (all admin services this MCP can reach), then enumerates the concrete backends (Uptime Kuma, NPMPlus, Porkbun, Cloudflare, Docker, Proxmox) and the per-service detail returned (configured status, named instances). This is unambiguous and clearly distinct from the sibling read/execute tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells the agent when to reach for it: 'Call this first if you're unsure what's available.' That is a clear entry-point condition, but it does not name an alternative tool or state when this tool is NOT the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.1.0
    • First observedexecute_action
    • First observedlist_actions
    • First observedlist_services

TDQS

A4.4/5.0

Scored across 3 tools

Disambiguation5/5

The three tools target clearly distinct phases: discovering services/instances, discovering available actions, and executing a chosen action. There is no overlap in purpose, and the descriptions reinforce the correct order of use.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: list_services, list_actions, execute_action. The plural vs. singular noun choice is natural for listing multiple items versus executing one action.

Tool Count5/5

Three tools are well-scoped for a generic admin-action gateway: one for service discovery, one for action discovery, and one for execution. The dynamic action surface avoids tool bloat while covering the server's purpose.

Completeness5/5

The tool set provides complete lifecycle support for the gateway pattern: list services/instances, list available actions with schemas and safety flags, and execute any action against a chosen instance. No obvious operational gaps exist for the stated domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers