Skip to main content
Glama

๐Ÿฆ… MikroCLAW

MikroTik + CLAW (Claude) โ€” kendalikan RouterOS dari percakapan Claude Code

MCP server yang membuat Claude Code bisa mengakses, memonitor, dan mengelola perangkat MikroTik RouterOS lewat tool ber-skema โ€” plus dashboard monitoring live "Pulse".

Versi Lisensi Python RouterOS MCP Tools Skills Platform Read-only default Bahasa

MikroCLAW menjembatani Claude Code dengan RouterOS melalui REST API RouterOS v7 (HTTPS). Alih-alih Anda mengetik perintah curl/ssh manual, Claude memanggil tool seperti dhcp_leases atau firewall_filter_rules sebagai pemanggilan ber-skema โ€” aman, terstruktur, dan kredensial tidak pernah bocor ke jendela chat.

"Siapa saja klien DHCP yang aktif?" ยท "Interface mana yang down?" ยท "Blokir IP 10.0.0.5." โ€” cukup ketik dalam bahasa biasa, Claude memanggil tool yang tepat.

โœจ Kenapa MikroCLAW?

๐Ÿ”’ Read-only secara default

Aman untuk eksplorasi & monitoring tanpa risiko mengubah konfigurasi.

๐Ÿšง Operasi write digerbang

Setiap tool yang mengubah config dikunci flag MIKROCLAW_ALLOW_WRITE.

๐Ÿ”‘ Kredensial via .env

Tidak pernah muncul di chat, tidak ikut ter-commit.

๐Ÿงฉ 100 tool ber-skema

78 read + 22 write, termasuk lima fitur cerdas (Twin/Sentinel/Chronicle/Replay/Concierge), detect_roles, & rest_get/rest_write generic untuk path apa pun.

๐Ÿง  12 Agent Skills

Playbook siap pakai: health-check, audit firewall, audit keamanan, overview jaringan, troubleshoot, backup-snapshot, deteksi-peran + 5 fitur cerdas baru.

๐Ÿค– 5 fitur cerdas AI

Twin (simulator what-if paket), Sentinel (deteksi botnet/IoT terinfeksi tanpa signature), Chronicle (mesin waktu konfigurasi + deteksi intrusi), Replay (RCA retrospektif "kenapa tadi lemot"), Concierge (laporan bisnis RT-RW net).

๐Ÿ“Ÿ MikroCLAW Pulse

Dashboard web monitoring live per-detik (read-only, via Server-Sent Events).

โš™๏ธ Installer satu-baris

Windows (PowerShell) & macOS/Linux (bash) โ€” pasang uv, dependency, .env, daftar MCP.

๐ŸŒ Tanpa lock-in v7

RouterOS v6 cukup ganti lapis transport ke API biner; daftar tool tetap.

Versi terkini: v1.7.0 ยท Python 3.10+ ยท RouterOS v7.1+ ยท Lisensi Apache-2.0.

๐Ÿ“š Dokumen lain: docs/FITUR.md (ikhtisar fitur ringkas) ยท MANUAL_BOOK.md (panduan tutorial langkah demi langkah).


Daftar Isi

  1. Bagaimana Claude Code mengakses MikroTik

  2. Prasyarat

  3. Persiapan RouterOS

  4. Instalasi

  5. Konfigurasi (.env)

  6. Menghubungkan ke Claude Code

  7. Daftar tool

  8. Skills (playbook orkestrasi)

  9. MikroCLAW Pulse โ€” monitoring live

  10. Contoh penggunaan

  11. Uji manual tanpa Claude

  12. Keamanan

  13. Troubleshooting

  14. Kompatibilitas RouterOS v6 vs v7

  15. Struktur proyek

  16. Pengembangan: menambah tool

  17. Riwayat versi

  18. Lisensi


Related MCP server: UniFi MCP Server

Bagaimana Claude Code mengakses MikroTik

Claude Code tidak punya driver MikroTik bawaan. MikroCLAW berperan sebagai MCP server (Model Context Protocol): proses lokal yang mengekspos sekumpulan tool. Claude Code memanggil tool itu; MikroCLAW menerjemahkannya menjadi panggilan REST API ke RouterOS, lalu mengembalikan JSON hasilnya.

flowchart LR
    subgraph local["๐Ÿ’ป Mesin Anda (lokal)"]
        CC["Claude Code<br/>(CLI ยท IDE ยท Web)"]
        MC["๐Ÿฆ… MikroCLAW<br/>MCP server + Pulse"]
        ENV[(".env<br/>host ยท user ยท pass")]
    end
    ROS["๐Ÿ“ก RouterOS<br/>(MikroTik v7)"]
    BROWSER["๐ŸŒ Browser<br/>(Pulse dashboard)"]

    CC -- "panggil tool (stdio MCP)" --> MC
    MC -- "hasil JSON" --> CC
    MC -- "HTTPS /rest/... (REST API v7)" --> ROS
    ROS -- "JSON" --> MC
    ENV -. "dibaca saat start" .-> MC
    BROWSER -- "SSE live per-detik" --> MC

    classDef box fill:#10182a,stroke:#1f2d44,color:#e6edf3;
    class CC,MC,ROS,BROWSER box;

Alurnya (mis. "siapa saja klien DHCP yang aktif?"):

sequenceDiagram
    autonumber
    participant U as ๐Ÿ‘ค Anda
    participant C as Claude Code
    participant M as ๐Ÿฆ… MikroCLAW
    participant R as ๐Ÿ“ก RouterOS
    U->>C: "siapa klien DHCP yang aktif?"
    C->>M: panggil tool dhcp_leases (MCP/stdio)
    M->>R: GET /rest/ip/dhcp-server/lease (Basic Auth dari .env)
    R-->>M: JSON daftar lease
    M-->>C: hasil terstruktur
    C-->>U: ringkasan klien DHCP

Rinciannya:

  1. Anda menulis prompt biasa, mis. "siapa saja klien DHCP yang aktif?".

  2. Claude Code memilih tool dhcp_leases dan memanggilnya lewat protokol MCP (stdio).

  3. MikroCLAW (client.py) mengirim GET https://<router>/rest/ip/dhcp-server/lease dengan Basic Auth dari .env.

  4. RouterOS membalas JSON; MikroCLAW meneruskannya ke Claude.

  5. Claude meringkas/menyajikan hasil untuk Anda.

RouterOS REST memetakan path konsol ke URL secara langsung, contoh:

Perintah konsol RouterOS

Operasi REST

/interface print

GET /rest/interface

/ip address print

GET /rest/ip/address

tambah item

PUT /rest/<path> (+ body JSON)

ubah item ber-.id

PATCH /rest/<path>/<id>

hapus item ber-.id

DELETE /rest/<path>/<id>

command (ping, dst.)

POST /rest/<path>


Prasyarat

Komponen

Versi

Catatan

RouterOS

v7.1+

REST API hanya ada di v7. Untuk v6 lihat kompatibilitas.

Python

3.10+

Diuji pada 3.14.

uv

terbaru

Pengelola environment/dependency โ€” https://docs.astral.sh/uv/

Akses jaringan

โ€”

Host yang menjalankan MikroCLAW harus bisa menjangkau port 443/80 router.


Persiapan RouterOS

Lakukan sekali di router. Disarankan HTTPS + user least-privilege.

# 1) (HTTPS) Aktifkan service www-ssl dengan sertifikat yang sudah ada di /certificate.
#    Jika belum punya sertifikat, buat self-signed dulu (lihat di bawah).
/ip/service/set www-ssl certificate=<nama-sertifikat> disabled=no

#    Alternatif cepat (kurang aman): pakai HTTP biasa.
#    /ip/service/set www disabled=no

# 2) Buat user khusus MikroCLAW โ€” JANGAN pakai 'admin' penuh.
/user/add name=mikroclaw password=<password-kuat> group=read     ;# read-only
#    Untuk mengizinkan operasi write, gunakan group=write atau policy kustom.

# 3) Batasi sumber yang boleh mengakses service (mis. hanya subnet LAN/host admin).
/ip/service/set www-ssl address=192.168.88.0/24

Membuat sertifikat self-signed (jika belum ada):

/certificate/add name=mikroclaw-ca common-name=mikroclaw-ca key-usage=key-cert-sign,crl-sign
/certificate/sign mikroclaw-ca
/certificate/add name=mikroclaw-https common-name=<ip-atau-hostname-router>
/certificate/sign mikroclaw-https ca=mikroclaw-ca
/ip/service/set www-ssl certificate=mikroclaw-https disabled=no

Karena sertifikat self-signed, biarkan MIKROTIK_VERIFY_TLS=false di .env (default). Set true hanya jika memakai sertifikat yang tepercaya.


Instalasi

Pilih jalur tercepat sesuai OS Anda โ€” installer mengurus uv, dependency, .env, dan registrasi MCP sekaligus:

Jalur

OS

Kapan dipakai

Perintah

๐Ÿš€ Bootstrap 1-baris

Windows

Belum punya repo, ingin clone + install sekaligus

irm .../bootstrap.ps1 | iex

๐Ÿš€ Bootstrap 1-baris

macOS / Linux

Belum punya repo, ingin clone + install sekaligus

curl -LsSf .../bootstrap.sh | bash

๐Ÿ› ๏ธ Installer lokal

Windows

Sudah punya repo

.\install.ps1 (atau double-click install.bat)

๐Ÿ› ๏ธ Installer lokal

macOS / Linux

Sudah punya repo

./install.sh

โœ‹ Manual

semua

Ingin kontrol penuh tiap langkah

cp .env.example .env lalu uv sync

Detail tiap jalur di bawah.

Windows (installer otomatis)

Installer memasang uv, dependency (termasuk Python via uv bila perlu), menulis .env secara interaktif, dan mendaftarkan MCP server ke Claude Code.

Opsi A โ€” satu baris (clone + install) di PowerShell:

irm https://raw.githubusercontent.com/Syamsuddin/MikroCLAW/main/bootstrap.ps1 | iex

Opsi B โ€” sudah punya repo: masuk folder MikroCLAW lalu double-click install.bat, atau di PowerShell:

.\install.ps1

Argumen berguna: -MikrotikHost 192.168.88.1 -MikrotikUser mikroclaw, -AllowWrite (izinkan write), -NonInteractive, -SkipMcpRegister. Lepas instalasi: .\uninstall.ps1 (tambah -RemoveEnv / -RemoveVenv).

Jika PowerShell memblokir skrip, jalankan lewat install.bat (sudah pakai -ExecutionPolicy Bypass) atau jalankan PowerShell sebagai: powershell -ExecutionPolicy Bypass -File .\install.ps1.

macOS / Linux (installer otomatis)

Installer memasang uv, dependency (termasuk Python via uv bila perlu), menulis .env (mode 600), dan mendaftarkan MCP server ke Claude Code.

Opsi A โ€” satu baris (clone + install):

curl -LsSf https://raw.githubusercontent.com/Syamsuddin/MikroCLAW/main/bootstrap.sh | bash

Opsi B โ€” sudah punya repo:

cd /path/ke/MikroCLAW
./install.sh

Argumen berguna: --host 192.168.88.1 --user mikroclaw, --allow-write, --http, --non-interactive, --skip-mcp. Lepas instalasi: ./uninstall.sh (tambah --remove-env / --remove-venv).

Manual (Windows / macOS / Linux)

cd /path/ke/MikroCLAW
cp .env.example .env          # lalu isi host + kredensial router
uv sync                       # pasang dependency (mcp, httpx, python-dotenv)

uv sync membuat virtualenv .venv/ dan menginstal proyek beserta dependensinya.


Konfigurasi (.env)

Semua konfigurasi lewat environment / file .env (otomatis dibaca saat server start).

Variabel

Wajib

Default

Keterangan

MIKROTIK_HOST

โœ…

โ€”

IP/hostname router, mis. 192.168.88.1.

MIKROTIK_USER

โ€”

admin

User RouterOS (disarankan user khusus least-privilege).

MIKROTIK_PASSWORD

โ€”

(kosong)

Password user tersebut.

MIKROTIK_USE_TLS

โ€”

true

true โ†’ HTTPS (www-ssl), false โ†’ HTTP.

MIKROTIK_PORT

โ€”

443/80

Port REST. Default mengikuti USE_TLS.

MIKROTIK_VERIFY_TLS

โ€”

false

Verifikasi sertifikat TLS. false cocok untuk self-signed.

MIKROTIK_TIMEOUT

โ€”

10

Timeout request (detik).

MIKROCLAW_ALLOW_WRITE

โ€”

false

Gerbang keamanan. true mengaktifkan tool yang mengubah konfigurasi.

Contoh .env minimal:

MIKROTIK_HOST=192.168.88.1
MIKROTIK_USER=mikroclaw
MIKROTIK_PASSWORD=rahasia-kuat
MIKROTIK_USE_TLS=true
MIKROTIK_VERIFY_TLS=false
MIKROCLAW_ALLOW_WRITE=false

Menghubungkan ke Claude Code

File .mcp.json sudah disertakan (scope project), isinya:

{
  "mcpServers": {
    "mikroclaw": {
      "command": "uv",
      "args": ["run", "--directory", "/Users/syams/PROJECTS/MikroCLAW", "mikroclaw"]
    }
  }
}

Server berjalan via stdio; kredensial diambil dari .env (bukan dari file ini), jadi .mcp.json aman untuk di-commit.

Langkah di Claude Code:

/mcp        # cek server "mikroclaw" muncul & status connected

Saat pertama kali, Claude Code akan meminta persetujuan untuk menjalankan MCP server project-scope โ€” setujui untuk mengaktifkannya.

Ingin dipakai di semua proyek, bukan cuma folder ini? Daftarkan sebagai user-scope: claude mcp add mikroclaw -s user -- uv run --directory /Users/syams/PROJECTS/MikroCLAW mikroclaw


Daftar tool

100 tool terbagi dua kelas: READ (selalu aktif) dan WRITE (digerbang flag).

pie showData
    title Distribusi 100 tool MikroCLAW
    "Read (selalu aktif)" : 78
    "Write (digerbang)" : 22

Cakupan domain READ (ringkas):

Domain

Contoh tool

๐Ÿ–ฅ๏ธ Sistem & perangkat

system_resource, system_health, routerboard_info, system_packages, system_license

๐Ÿ”Œ Interface & L2

list_interfaces, ethernet_ports, bridge_ports, bridge_hosts, vlans

๐ŸŒ IP & routing

list_ip_addresses, routing_table, arp_table, neighbors, dhcp_*

๐Ÿ›ก๏ธ Firewall & NAT

firewall_filter_rules, firewall_nat_rules, firewall_mangle, address_lists, firewall_connections

๐Ÿ“ถ WiFi & CAPsMAN

wifi_interfaces, wifi_registrations, wifi_radios, capsman_remote_caps

๐Ÿ” VPN & tunnel

wireguard_*, ppp_active, ppp_secrets, ipsec_peers, ipsec_active_peers

๐Ÿ“ˆ QoS & bandwidth

simple_queues, queue_tree, ppp_profiles, ip_pools

๐ŸŒ IPv6

ipv6_addresses, ipv6_routes, ipv6_firewall_filter, ipv6_neighbors

๐Ÿงญ Routing dinamis

bgp_sessions, ospf_neighbors

๐Ÿ‘ฅ Hotspot & AAA

hotspot_servers, hotspot_active, hotspot_users, radius_servers

๐Ÿ”Ž Keamanan & audit

router_users, user_groups, active_sessions, certificates, ip_services

๐Ÿฉบ Diagnostik

ping, traceroute, interface_traffic_live, recent_logs, netwatch, check_for_updates

๐Ÿงญ Deteksi peran

detect_roles (klasifikasikan fungsi router dari bukti konfigurasi)

๐Ÿค– Fitur cerdas AI

simulate_packet, simulate_firewall_change (Twin) ยท analyze_client_behavior (Sentinel) ยท config_snapshot, config_diff (Chronicle) ยท explain_incident (Replay) ยท business_report (Concierge)

Read โ€” selalu aktif

Tool

Parameter

Fungsi

REST

system_resource

โ€”

Versi RouterOS, CPU, memori, uptime, board, arsitektur.

GET /system/resource

system_identity

โ€”

Nama/identitas perangkat.

GET /system/identity

list_interfaces

โ€”

Semua interface + status running/disabled + statistik.

GET /interface

list_ip_addresses

โ€”

Alamat IP per interface.

GET /ip/address

dhcp_leases

โ€”

Klien DHCP yang mendapat IP dari router.

GET /ip/dhcp-server/lease

arp_table

โ€”

Pemetaan IP โ†” MAC yang terlihat router.

GET /ip/arp

firewall_filter_rules

โ€”

Aturan firewall filter (input/forward/output).

GET /ip/firewall/filter

firewall_nat_rules

โ€”

Aturan NAT (masquerade, port forward).

GET /ip/firewall/nat

routing_table

โ€”

Tabel routing IP (route aktif & statis).

GET /ip/route

simple_queues

โ€”

Simple queue โ€” pembatasan bandwidth per IP/target.

GET /queue/simple

address_lists

โ€”

Isi semua firewall address-list.

GET /ip/firewall/address-list

dns_settings

โ€”

Konfigurasi DNS: server upstream, cache, allow-remote.

GET /ip/dns

dhcp_servers

โ€”

DHCP server + interface & address-pool-nya.

GET /ip/dhcp-server

ppp_active

โ€”

Sesi PPP aktif (PPPoE/L2TP/PPTP/SSTP).

GET /ppp/active

bridge_hosts

โ€”

Tabel host bridge (MAC per port).

GET /interface/bridge/host

neighbors

โ€”

Tetangga terdeteksi (MNDP/CDP/LLDP).

GET /ip/neighbor

system_health

โ€”

Sensor HW: suhu, tegangan, kipas (jika ada).

GET /system/health

netwatch

โ€”

Host yang dipantau Netwatch + status up/down.

GET /tool/netwatch

router_users

โ€”

Daftar user RouterOS + grup/hak aksesnya.

GET /user

wifi_interfaces

โ€”

Interface WiFi (auto wifiwave2/legacy).

GET /interface/wifi โ†ป /interface/wireless

wifi_registrations

โ€”

Klien WiFi yang terhubung (auto wifiwave2/legacy).

GET .../registration-table

wireguard_interfaces

โ€”

Interface WireGuard (VPN) + public key & port.

GET /interface/wireguard

wireguard_peers

โ€”

Peer WireGuard + allowed-address & handshake.

GET /interface/wireguard/peers

ppp_secrets

โ€”

Akun PPP (PPPoE/VPN) โ€” name/service/profile.

GET /ppp/secret

ip_pools

โ€”

IP pool (rentang IP untuk DHCP/PPP).

GET /ip/pool

dns_static

โ€”

Entri DNS statis (A/CNAME) yang dilayani router.

GET /ip/dns/static

ntp_client

โ€”

Status & konfigurasi NTP client.

GET /system/ntp/client

schedulers

โ€”

Tugas terjadwal RouterOS.

GET /system/scheduler

scripts

โ€”

Script tersimpan di RouterOS.

GET /system/script

vlans

โ€”

Interface VLAN + vlan-id & interface induk.

GET /interface/vlan

ip_services

โ€”

Service IP (api/ssh/www/telnet/winbox) + port.

GET /ip/service

dhcp_client

โ€”

Status DHCP client (mis. IP WAN dari ISP).

GET /ip/dhcp-client

ip_cloud

โ€”

IP publik & DDNS MikroTik (remote access).

GET /ip/cloud

system_packages

โ€”

Paket RouterOS terpasang + status.

GET /system/package

routerboard_info

โ€”

Model, serial, firmware terpasang vs tersedia.

GET /system/routerboard

active_sessions

โ€”

User yang sedang login (audit keamanan).

GET /user/active

list_files

โ€”

File di router (backup/export) + ukuran & waktu.

GET /file

firewall_connections

โ€”

Connection tracking aktif (troubleshooting).

GET /ip/firewall/connection

bridge_ports

โ€”

Pemetaan port ke bridge.

GET /interface/bridge/port

certificates

โ€”

Sertifikat + masa berlaku (audit kedaluwarsa).

GET /certificate

dns_cache

โ€”

Isi cache DNS resolver router.

GET /ip/dns/cache

dhcp_networks

โ€”

Gateway/DNS/netmask yang ditawarkan DHCP.

GET /ip/dhcp-server/network

firewall_mangle

โ€”

Aturan mangle (marking QoS/policy routing).

GET /ip/firewall/mangle

queue_tree

โ€”

Queue tree (bandwidth hierarkis berbasis mark).

GET /queue/tree

ppp_profiles

โ€”

Profil PPP (rate-limit, pool, DNS).

GET /ppp/profile

user_groups

โ€”

Grup hak akses + policy (audit keamanan).

GET /user/group

ethernet_ports

โ€”

Detail port ethernet (link speed, auto-neg).

GET /interface/ethernet

ipsec_peers

โ€”

Konfigurasi peer IPsec.

GET /ip/ipsec/peer

ipsec_active_peers

โ€”

Tunnel IPsec yang sedang aktif.

GET /ip/ipsec/active-peers

ipv6_addresses

โ€”

Alamat IPv6 per interface.

GET /ipv6/address

ipv6_routes

โ€”

Tabel routing IPv6.

GET /ipv6/route

ipv6_firewall_filter

โ€”

Aturan firewall filter IPv6.

GET /ipv6/firewall/filter

ipv6_neighbors

โ€”

Tabel neighbor IPv6 (NDP).

GET /ipv6/neighbor

hotspot_servers

โ€”

Server hotspot + interface & profil.

GET /ip/hotspot

hotspot_active

โ€”

User hotspot yang sedang login.

GET /ip/hotspot/active

hotspot_users

โ€”

Akun user hotspot.

GET /ip/hotspot/user

capsman_remote_caps

โ€”

CAP/AP yang dikelola CAPsMAN (auto legacy/wifiwave2).

GET /caps-man/remote-cap โ†ป wifiwave2

capsman_registrations

โ€”

Klien via CAPsMAN (auto legacy/wifiwave2).

GET .../registration-table

wifi_radios

โ€”

Radio WiFi fisik (wifiwave2).

GET /interface/wifi/radio

bgp_sessions

โ€”

Sesi BGP (v7).

GET /routing/bgp/session

ospf_neighbors

โ€”

Neighbor OSPF + state adjacency (v7).

GET /routing/ospf/neighbor

radius_servers

โ€”

Server RADIUS (AAA).

GET /radius

system_history

โ€”

Riwayat perubahan config (undo).

GET /system/history

system_license

โ€”

Info lisensi (level/CHR).

GET /system/license

recent_logs

limit (default 50)

Log terbaru RouterOS.

GET /log

ping

address, count (default 3)

Ping dari router ke sebuah alamat (diagnostik).

POST /ping

traceroute

address, count (default 3)

Traceroute (jejak hop) dari router.

POST /tool/traceroute

interface_traffic_live

interface

Satu sampel throughput real-time (rx/tx bps).

POST /interface/monitor-traffic

check_for_updates

โ€”

Cek update RouterOS (tidak mengubah config).

POST /system/package/update/check-for-updates

detect_roles

โ€”

Deteksi peran perangkat (gateway NAT, firewall, BGP/OSPF, switch/AP, BRAS, VPN, DHCP/DNS, QoS, dll) + bukti & keyakinan.

multi GET (introspeksi)

simulate_packet

src, dst, protocol, dst_port, โ€ฆ

Twin โ€” telusuri paket hipotetis menembus mangleโ†’dst-natโ†’routingโ†’filterโ†’src-nat di atas ruleset live; lapor verdict + jejak.

multi GET (model murni)

simulate_firewall_change

src, dst, new_rule, โ€ฆ

Twin โ€” uji dampak satu aturan firewall baru SEBELUM diterapkan (diff verdict).

multi GET (model murni)

analyze_client_behavior

ip (opsional)

Sentinel โ€” sidik-jari perilaku per-perangkat dari conntrack; deteksi botnet IoT/miner/scan tanpa signature, berkonteks kelas perangkat.

GET /ip/firewall/connection + lease/arp

config_snapshot

label

Chronicle โ€” simpan snapshot konfigurasi relevan-keamanan (ber-hash) ke disk lokal.

multi GET โ†’ file lokal

config_diff

simpan

Chronicle โ€” diff konfigurasi live vs snapshot terakhir + penilaian risiko (user baru, port mgmt dibuka, persistensi, dll).

multi GET โ†’ diff

explain_incident

mulai_menit_lalu, selesai_menit_lalu

Replay โ€” rekonstruksi telemetri jendela waktu lampau (riwayat Pulse) + anomali untuk RCA "kenapa tadi lemot".

file riwayat lokal

business_report

plan_down_mbps, wan_interface, โ€ฆ

Concierge โ€” terjemahkan telemetri jadi sinyal bisnis RT-RW net (pelanggan, akun nganggur, pencuri bandwidth, utilisasi WAN).

multi GET (ppp/hotspot/queue)

rest_get

path

GET generic ke path REST apa pun (read-only).

GET /<path>

Contoh rest_get untuk hal yang belum punya tool khusus: ip/dns, ppp/active, interface/wireless, system/clock, queue/simple.

Write โ€” perlu MIKROCLAW_ALLOW_WRITE=true

Jika flag bernilai false (default), tool ini mengembalikan error dan tidak menyentuh router.

Tool

Parameter

Fungsi

REST

set_interface_enabled

interface_id, enabled

Aktif/nonaktifkan interface (by .id atau nama).

PATCH /interface/<id>

add_firewall_drop

src_address, chain (default forward), comment

Tambah aturan DROP untuk sumber tertentu.

PUT /ip/firewall/filter

add_address_list_entry

address, address_list, comment, timeout

Tambah IP/subnet ke firewall address-list.

PUT /ip/firewall/address-list

delete_firewall_rule

rule_id

Hapus satu aturan firewall filter by .id.

DELETE /ip/firewall/filter/<id>

set_firewall_rule_enabled

rule_id, enabled

Aktif/nonaktifkan satu aturan firewall by .id.

PATCH /ip/firewall/filter/<id>

add_simple_queue

name, target, max_limit

Tambah simple queue (batas bandwidth target).

PUT /queue/simple

create_backup

name (default mikroclaw)

Buat file backup konfigurasi (.backup) di router.

POST /system/backup/save

reboot_router

โ€”

Reboot router sekarang (mengganggu koneksi).

POST /system/reboot

add_dns_static

name, address, ttl

Tambah entri DNS statis (A record).

PUT /ip/dns/static

add_ppp_secret

name, password, service, profile

Tambah akun PPP (PPPoE/VPN).

PUT /ppp/secret

add_wireguard_peer

interface, public_key, allowed_address, endpoint_address, endpoint_port

Tambah peer WireGuard.

PUT /interface/wireguard/peers

set_ip_service_enabled

service_id, enabled

Aktif/nonaktifkan IP service (mis. matikan telnet).

PATCH /ip/service/<id>

add_nat_rule

chain, action, +opsional (protocol, dst_port, to_addresses, to_ports, dll)

Tambah NAT: port-forward (dstnat) / masquerade (srcnat).

PUT /ip/firewall/nat

add_static_route

dst_address, gateway, distance, comment

Tambah route statis (termasuk default route).

PUT /ip/route

add_static_dhcp_lease

address, mac_address, server, comment

Pin IP statis ke MAC (static lease).

PUT /ip/dhcp-server/lease

assign_ip_address

address, interface, comment

Pasang IP (CIDR) ke interface.

PUT /ip/address

set_identity

name

Ganti nama/identitas router.

POST /system/identity/set

set_dns_servers

servers, allow_remote_requests

Set DNS upstream router.

POST /ip/dns/set

remove_address_list_entry

entry_id

Hapus entri address-list by .id.

DELETE /ip/firewall/address-list/<id>

add_hotspot_user

name, password, profile, comment

Tambah akun user hotspot.

PUT /ip/hotspot/user

add_ipv6_address

address, interface, comment

Pasang alamat IPv6 ke interface.

PUT /ipv6/address

rest_write

method (PUT/PATCH/DELETE/POST), path, body

Write generic untuk operasi lanjutan. Gunakan hati-hati.

sesuai method


Skills (playbook orkestrasi)

Selain 100 tool atomik, MikroCLAW menyertakan Agent Skills di .claude/skills/ โ€” playbook yang mengoordinasikan banyak tool menjadi alur kerja siap pakai. Claude Code memuatnya otomatis saat frasa pemicunya muncul; bisa juga dipanggil eksplisit dengan /<nama-skill>.

Skill

Fungsi

Pemicu contoh

mikrotik-health-check

Laporan kesehatan & maintenance (resource, suhu, firmware, update, WAN, NTP).

"cek kesehatan router", "ada update routeros?"

mikrotik-firewall-audit

Tinjau filter/NAT/mangle, address-list, koneksi; temuan + rekomendasi.

"audit firewall", "firewall monitoring"

mikrotik-security-audit

Hardening: service terbuka, user/grup, sesi, sertifikat, DNS, proteksi input.

"audit keamanan", "apakah router aman"

mikrotik-network-overview

Snapshot inventaris: WAN, subnet, interface/VLAN, routing, klien, tetangga.

"overview jaringan", "dokumentasi config"

mikrotik-troubleshoot

Diagnosa konektivitas berlapis (L1โ†’IPโ†’DNSโ†’firewall).

"internet mati", "tidak bisa browsing"

mikrotik-backup-snapshot

Backup biner + snapshot JSON konfigurasi kunci untuk diff/dokumentasi.

"backup mikrotik", "snapshot sebelum perubahan"

mikrotik-role-detect

Deteksi & jelaskan peran perangkat (gateway/firewall/BGP/AP/BRAS/VPN/โ€ฆ) beserta bukti & keyakinan.

"deteksi peran mikrotik", "router ini berfungsi sebagai apa"

mikrotik-twin ๐Ÿ†•

Simulator what-if โ€” telusuri nasib paket & uji aturan firewall baru sebelum diterapkan.

"kalau klien X akses Y lolos?", "simulasikan rule ini", "uji firewall sebelum pasang"

mikrotik-sentinel ๐Ÿ†•

Deteksi perangkat terinfeksi โ€” botnet IoT/miner/scan dari perilaku koneksi, tanpa signature.

"ada perangkat terinfeksi?", "cek botnet", "kenapa CCTV ini aneh"

mikrotik-chronicle ๐Ÿ†•

Mesin waktu konfigurasi โ€” snapshot + diff berisiko untuk deteksi perubahan/intrusi.

"apa yang berubah di config?", "deteksi perubahan tak terjadwal", "ada backdoor?"

mikrotik-replay ๐Ÿ†•

RCA retrospektif โ€” jelaskan insiden masa lampau dari riwayat telemetri.

"kenapa tadi sore lemot?", "internet sempat putus jam berapa"

mikrotik-concierge ๐Ÿ†•

Laporan bisnis โ€” pelanggan, akun nganggur, pencuri bandwidth, utilisasi WAN, kapan upgrade.

"laporan bisnis RT-RW net", "ada yang nyolong bandwidth?", "perlu upgrade paket?"

Semua skill read-only secara default; remediasi yang mengubah konfigurasi selalu meminta konfirmasi dan tetap butuh MIKROCLAW_ALLOW_WRITE=true.

MikroCLAW Pulse โ€” dashboard monitoring live

Selain MCP server, MikroCLAW menyertakan Pulse: laman web monitoring yang memperbarui indikator per detik lewat Server-Sent Events.

  • Fase 1 โ€” data plane: read-only, tanpa dependency baru (memakai Starlette + uvicorn yang sudah ikut mcp). Memantau RouterOS bertingkat & menyusun state live.

  • Fase 2 โ€” lapis AI (opsional): kartu ๐Ÿง  AI Analyst menarasikan kondisi jaringan, mendeteksi anomali tanpa ambang tetap, mengkorelasikan akar masalah, dan menyarankan remediasi โ€” memanggil Anthropic Messages API langsung via httpx (tanpa SDK), output terstruktur lewat tool-use. Tetap read-only (hanya membaca snapshot). Aktif bila ANTHROPIC_API_KEY di-set; tanpa itu Pulse tetap jalan dan kartu AI menampilkan status "nonaktif".

  • Fase 3 โ€” AI proaktif: ๐Ÿ”ฎ Prediksi tren deterministik (regresi linear dari riwayat โ†’ tren %/jam + ETA mencapai ambang untuk CPU/memori/disk โ€” jalan tanpa API key), plus โšก Remediasi 1-klik yang diusulkan AI dan dieksekusi dari dashboard. Remediasi di-gate ganda: butuh MIKROCLAW_ALLOW_WRITE=true dan hanya aksi dari allowlist sempit (blokir_ip, tambah_address_list, nonaktifkan_service) yang persis diusulkan AI โ€” tiap aksi diberi komentar audit added-by-pulse-ai.

# memakai kredensial yang sama dari .env
uv run mikroclaw-web                 # atau:  python -m mikroclaw.web
# buka http://127.0.0.1:8800

Arsitektur Pulse โ€” empat loop polling bertingkat โ†’ state in-memory โ†’ SSE โ†’ browser:

flowchart LR
    subgraph poller["poller.py โ€” empat loop async"]
        F["โšก fast ยท 1 dtk<br/>resource ยท health ยท throughput"]
        M["๐Ÿ”„ mid ยท 5 dtk<br/>klien ยท firewall ยท queue"]
        S["๐Ÿข slow ยท 30 dtk<br/>WAN ยท service ยท sertifikat"]
        P["๐Ÿ“ก ping ยท 5 dtk<br/>RTT gateway & 8.8.8.8"]
    end
    ROS["๐Ÿ“ก RouterOS<br/>REST v7"]
    STATE[("๐Ÿง  state in-memory<br/>+ ring-buffer 60 dtk")]
    APP["app.py<br/>Starlette + SSE"]
    UI["๐ŸŒ index.html<br/>(vanilla JS, 0 dependency)"]

    ROS --> F & M & S & P
    F & M & S & P --> STATE
    STATE -- "snapshot tiap tick" --> APP
    APP -- "/api/stream (SSE)" --> UI

    classDef box fill:#10182a,stroke:#1f2d44,color:#e6edf3;
    class F,M,S,P,ROS,STATE,APP,UI box;

๐Ÿ’ก Throughput diturunkan dari delta counter rx/tx /interface (satu request untuk semua interface), bukan monitor-traffic per-interface โ€” jauh lebih ringan untuk router.

ENV

Default

Keterangan

MIKROCLAW_WEB_HOST

127.0.0.1

Alamat bind. Set 0.0.0.0 untuk diakses dari LAN.

MIKROCLAW_WEB_PORT

8800

Port HTTP laman.

ANTHROPIC_API_KEY

(kosong)

Mengaktifkan lapis AI (Fase 2). Tanpa ini, kartu AI tampil "nonaktif".

MIKROCLAW_AI_MODEL

claude-sonnet-4-6

Model Claude untuk analisis.

MIKROCLAW_AI_INTERVAL

60

Detik antar-analisis otomatis.

MIKROCLAW_AI_MAX_TOKENS

2048

Batas token output analisis.

Yang ditampilkan (semua dari tool read yang ada):

  • Vitals (1 dtk): CPU, memori, disk, suhu/tegangan, jumlah klien, firewall drops/dtk, conntrack, sesi login, sertifikat terdekat kedaluwarsa.

  • WAN: IP WAN/publik, DDNS, gateway, RTT ping gateway & 8.8.8.8, sparkline download/upload 60 detik.

  • Interface matrix (1 dtk): throughput rx/tx live (delta counter), status link, link-speed, error/drop.

  • Klien: gabungan DHCP + PPPoE + hotspot + WiFi (sinyal), tebakan vendor dari OUI MAC, dan bandwidth per-klien bila ada simple queue yang cocok.

  • Service terbuka: ditandai merah bila berisiko (telnet/ftp/www/api) tanpa batasan address.

  • Log Stream: tail /log terbaru dengan pewarnaan severity (error/warning).

  • ๐Ÿง  AI Analyst (Fase 2): status sehat/perhatian/kritis, ringkasan naratif, daftar anomali ber-severity, dan rekomendasi โ€” plus tombol "Analisa sekarang".

  • ๐Ÿ”ฎ Prediksi Tren (Fase 3): tren & ETA CPU/memori/disk (deterministik, tanpa API key).

  • โšก Remediasi 1-klik (Fase 3): tombol eksekusi aksi yang diusulkan AI (muncul ter-kunci bila write-gate mati).

Cadence bertingkat (1 dtk vitals/interface ยท 5 dtk klien & ping ยท 30 dtk WAN/ service/sertifikat & sampel prediksi ยท analisis AI default 60 dtk) agar tidak membebani router. Endpoint: / (laman), /api/stream (SSE), /api/snapshot (JSON sekali ambil), /api/analyze (POST โ€” picu analisis AI), /api/remediate (POST โ€” eksekusi 1 aksi remediasi; butuh ALLOW_WRITE).

Contoh penggunaan

Cukup minta dalam bahasa biasa di Claude Code:

  • "Tampilkan versi RouterOS dan pemakaian CPU/memori." โ†’ system_resource

  • "Siapa saja klien DHCP yang aktif sekarang?" โ†’ dhcp_leases

  • "Interface mana yang sedang down?" โ†’ list_interfaces

  • "Tunjukkan 100 baris log terakhir yang mengandung error." โ†’ recent_logs + filter

  • "Ping 8.8.8.8 dari router." โ†’ ping

  • "Apa konfigurasi DNS router?" โ†’ rest_get path=ip/dns

  • "Blokir IP 10.0.0.5 di firewall." โ†’ add_firewall_drop (butuh ALLOW_WRITE=true)

  • "Nonaktifkan interface ether5." โ†’ set_interface_enabled (butuh ALLOW_WRITE=true)


Uji manual tanpa Claude

Memastikan REST hidup & kredensial benar sebelum menyalakan dari Claude:

source .env
curl -sk -u "$MIKROTIK_USER:$MIKROTIK_PASSWORD" \
  "https://$MIKROTIK_HOST/rest/system/resource" | jq .

Uji server MCP-nya sendiri (memuat & mendaftarkan tool, tanpa konek router):

uv run python -c "
import asyncio
from mikroclaw.server import mcp
tools = asyncio.run(mcp.list_tools())
print(f'{len(tools)} tools:', ', '.join(t.name for t in tools))
"

Test suite (pytest)

Tersedia unit test untuk client REST, helper poller, prediksi/throughput, remediasi, lapis AI, dan endpoint Pulse โ€” semuanya offline (httpx di-mock, tanpa router/jaringan/biaya API):

uv run --extra test pytest    # memasang & menjalankan pytest (extra 'test')
83 passed in 0.45s

Keamanan

  • User least-privilege โ€” buat user khusus (mis. grup read); jangan pakai admin penuh.

  • Pisahkan kredensial โ€” hanya di .env, yang sudah masuk .gitignore. Jangan tempel password di chat atau di .mcp.json.

  • Gunakan TLS โ€” MIKROTIK_USE_TLS=true. Set MIKROTIK_VERIFY_TLS=true setelah memasang sertifikat tepercaya.

  • Batasi sumber akses di router: /ip/service/set www-ssl address=<subnet-tepercaya>.

  • Write off by default โ€” biarkan MIKROCLAW_ALLOW_WRITE=false kecuali memang sedang melakukan perubahan; matikan lagi sesudahnya.

  • Audit โ€” operasi add_firewall_drop menyertakan komentar added-by-mikroclaw agar mudah ditelusuri/dihapus.


Troubleshooting

Gejala

Kemungkinan sebab

Solusi

MIKROTIK_HOST belum di-set

.env belum dibuat/diisi

cp .env.example .env, isi MIKROTIK_HOST.

Gagal menghubungi RouterOS ... (timeout)

Port REST tertutup / host salah / firewall

Cek /ip/service, ketersambungan jaringan, dan MIKROTIK_PORT.

RouterOS membalas 401

User/password salah

Periksa MIKROTIK_USER/MIKROTIK_PASSWORD.

RouterOS membalas 404

Path tidak ada di versi RouterOS ini

Cek nama path; sebagian fitur beda antar versi.

Error sertifikat / SSL

Self-signed + verify aktif

Set MIKROTIK_VERIFY_TLS=false.

Operasi write dinonaktifkan

Mencoba tool write saat gate off

Set MIKROCLAW_ALLOW_WRITE=true di .env, restart server.

Server tak muncul di /mcp

.mcp.json belum disetujui

Jalankan /mcp, setujui server project-scope; pastikan uv ada di PATH.

Perubahan .env tak terbaca

Server masih pakai proses lama

Restart koneksi MCP (toggle via /mcp) agar .env dibaca ulang.


Kompatibilitas RouterOS v6 vs v7

REST API hanya ada di RouterOS v7. Jika router Anda v6:

  • Antarmuka tool di server.py tidak perlu berubah.

  • Ganti lapisan transport di client.py ke API biner (port 8728/8729 TLS) memakai library seperti librouteros.

  • RouterOSClient.get/put/patch/delete cukup dipetakan ke perintah API biner; sisanya (config, server, daftar tool) tetap sama.

API biner juga bekerja di v7, sehingga bisa dipakai sebagai transport tunggal lintas versi bila diinginkan.


Struktur proyek

MikroCLAW/
โ”œโ”€โ”€ .mcp.json              # registrasi server untuk Claude Code (project-scope)
โ”œโ”€โ”€ .env.example           # template variabel environment
โ”œโ”€โ”€ .env                   # kredensial nyata (di-gitignore, buat sendiri)
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ pyproject.toml         # metadata + dependency + entry point `mikroclaw`
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ CLAUDE.md              # panduan repo untuk Claude Code (arsitektur & konvensi)
โ”œโ”€โ”€ LICENSE                # Apache License 2.0
โ”œโ”€โ”€ install.ps1 / install.sh    # installer (Windows / macOS+Linux)
โ”œโ”€โ”€ install.bat                 # launcher double-click untuk install.ps1
โ”œโ”€โ”€ uninstall.ps1 / uninstall.sh# lepas registrasi MCP (opsi hapus .env/.venv)
โ”œโ”€โ”€ bootstrap.ps1 / bootstrap.sh# clone + install satu baris
โ”œโ”€โ”€ tests/                 # unit test pytest (offline, httpx di-mock)
โ”œโ”€โ”€ .claude/skills/        # Agent Skills (playbook orkestrasi tool)
โ”‚   โ”œโ”€โ”€ mikrotik-health-check/SKILL.md
โ”‚   โ”œโ”€โ”€ mikrotik-firewall-audit/SKILL.md
โ”‚   โ”œโ”€โ”€ mikrotik-security-audit/SKILL.md
โ”‚   โ”œโ”€โ”€ mikrotik-network-overview/SKILL.md
โ”‚   โ”œโ”€โ”€ mikrotik-troubleshoot/SKILL.md
โ”‚   โ”œโ”€โ”€ mikrotik-backup-snapshot/SKILL.md
โ”‚   โ”œโ”€โ”€ mikrotik-role-detect/SKILL.md
โ”‚   โ”œโ”€โ”€ mikrotik-twin/SKILL.md          # ๐Ÿ†• simulator what-if
โ”‚   โ”œโ”€โ”€ mikrotik-sentinel/SKILL.md      # ๐Ÿ†• deteksi perangkat terinfeksi
โ”‚   โ”œโ”€โ”€ mikrotik-chronicle/SKILL.md     # ๐Ÿ†• mesin waktu konfigurasi
โ”‚   โ”œโ”€โ”€ mikrotik-replay/SKILL.md        # ๐Ÿ†• RCA retrospektif
โ”‚   โ””โ”€โ”€ mikrotik-concierge/SKILL.md     # ๐Ÿ†• laporan bisnis
โ””โ”€โ”€ src/mikroclaw/
    โ”œโ”€โ”€ __init__.py        # versi paket
    โ”œโ”€โ”€ config.py          # baca .env/env โ†’ objek Config + validasi
    โ”œโ”€โ”€ client.py          # client REST RouterOS v7 (async httpx)
    โ”œโ”€โ”€ roles.py           # classify_roles: deteksi peran dari bukti (murni)
    โ”œโ”€โ”€ storage.py         # ๐Ÿ†• helper state dir lokal (Chronicle & Replay)
    โ”œโ”€โ”€ twin.py            # ๐Ÿ†• Twin: engine simulator paket (murni)
    โ”œโ”€โ”€ sentinel.py        # ๐Ÿ†• Sentinel: sidik-jari perilaku perangkat (murni)
    โ”œโ”€โ”€ chronicle.py       # ๐Ÿ†• Chronicle: snapshot/diff/risiko konfigurasi (murni)
    โ”œโ”€โ”€ concierge.py       # ๐Ÿ†• Concierge: telemetri โ†’ sinyal bisnis (murni)
    โ”œโ”€โ”€ server.py          # FastMCP + definisi 100 tool + write-gate
    โ””โ”€โ”€ web/               # MikroCLAW Pulse โ€” dashboard monitoring live
        โ”œโ”€โ”€ poller.py      # data plane: poll bertingkat + ring-buffer + throughput + prediksi
        โ”œโ”€โ”€ history.py     # ๐Ÿ†• Replay: persistensi riwayat telemetri + ringkasan jendela
        โ”œโ”€โ”€ analyst.py     # lapis AI (Fase 2): Anthropic Messages API via httpx
        โ”œโ”€โ”€ actions.py     # remediasi 1-klik (Fase 3): allowlist aksi write yang aman
        โ”œโ”€โ”€ app.py         # Starlette + SSE + endpoint analyze/remediate + entry `mikroclaw-web`
        โ””โ”€โ”€ static/
            โ””โ”€โ”€ index.html # dashboard vanilla JS (tanpa dependency eksternal)

Pengembangan: menambah tool

Tambahkan fungsi async di src/mikroclaw/server.py dengan dekorator @mcp.tool(). Docstring menjadi deskripsi tool yang dilihat Claude โ€” tulis sejelas mungkin.

Contoh menambah daftar simple queue (read):

@mcp.tool()
async def simple_queues() -> Any:
    """Daftar simple queue (pembatasan bandwidth per target)."""
    return await _ros().get("/queue/simple")

Contoh tool write (selalu panggil _require_write() di awal):

@mcp.tool()
async def reboot_router() -> Any:
    """Reboot router. BUTUH MIKROCLAW_ALLOW_WRITE=true."""
    _require_write()
    return await _ros().post("/system/reboot")

Setelah mengubah kode, restart koneksi MCP di Claude Code (/mcp) agar tool baru terdeteksi. Verifikasi cepat:

uv run python -c "import asyncio; from mikroclaw.server import mcp; print(len(asyncio.run(mcp.list_tools())), 'tools')"

Riwayat versi

Versi

Sorotan

v1.7.0

5 fitur cerdas AI โ€” Twin (simulator what-if paket: simulate_packet/simulate_firewall_change), Sentinel (deteksi botnet IoT/miner/scan tanpa signature: analyze_client_behavior), Chronicle (mesin waktu konfigurasi + deteksi intrusi: config_snapshot/config_diff), Replay (RCA retrospektif: explain_incident), Concierge (laporan bisnis RT-RW net: business_report) + 5 skill baru. 100 tool ยท 12 skill ยท 151 test.

v1.6.0

Deteksi peran โ€” tool detect_roles (introspeksi โ†’ klasifikasi gateway/firewall/BGP/OSPF/switch/AP/BRAS/VPN/QoS/โ€ฆ + bukti & keyakinan) & skill mikrotik-role-detect. 93 tool ยท 7 skill.

v1.5.0

Pulse Fase 3 โ€” AI proaktif: prediksi tren deterministik (CPU/mem/disk + ETA) & remediasi 1-klik ter-gate ganda (write-flag + allowlist + cocok usulan AI) lewat POST /api/remediate.

v1.4.0

Pulse Fase 2 โ€” lapis AI Analyst (Anthropic Messages API via httpx, read-only, output terstruktur lewat tool-use) + Log Stream dengan pewarnaan severity + endpoint POST /api/analyze.

v1.3.0

MikroCLAW Pulse โ€” laman web monitoring live per-detik (Starlette + SSE, read-only; tanpa dependency baru).

v1.2.0

Installer macOS / Linux (bash) + bootstrap satu-baris.

v1.1.0

Installer Windows (PowerShell) + bootstrap satu-baris.

v1.0.0

Rilis awal โ€” MCP server (92 tool: 70 read + 22 write) + 6 Agent Skills.

Penomoran mengikuti urutan milestone fitur pada histori git; rincian tiap perubahan ada di git log.


Lisensi

Dirilis di bawah Apache License 2.0 โ€” lihat LICENSE.


MikroCLAW dibuat untuk administrasi MikroTik yang sah pada perangkat milik/dikuasakan kepada Anda. Gunakan secara bertanggung jawab.

Available Tools

92 tools
active_sessionsA

User yang sedang login ke router (via, alamat, kapan) โ€” audit keamanan.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It implies a read-only operation (listing sessions) but does not explicitly state whether it is safe or has side effects. The behavioral disclosure is adequate but not thorough.

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?

The description is a single concise sentence that immediately conveys the tool's purpose and key details. Every word serves a purpose with no redundancy.

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?

Despite no output schema, the description briefly explains the returned information (via, address, time) and the security audit context. For a simple tool with no parameters, it provides sufficient context for an agent to understand its use.

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 has no parameters and schema coverage is 100%. The description adds value by specifying the return fields (via, address, time), though it doesn't need to explain parameters. The semantics are clear from the description alone.

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?

The description clearly states the tool lists active login sessions with details (via, address, time) and indicates a security audit purpose. It distinguishes itself from similar sibling tools like hotspot_active or ppp_active through the context of router user sessions, though not explicitly contrasted.

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

Usage Guidelines2/5

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

The description mentions 'audit keamanan' (security audit) implying a usage context, but provides no explicit guidance on when to use this tool versus alternatives like ppp_active or when not to use it. No exclusions or alternative suggestions are given.

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

add_address_list_entryA

Tambah IP/subnet ke sebuah firewall address-list. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Cocok untuk blokir/izin massal: satu aturan firewall cukup merujuk ke list ini.

Args: address: IP/subnet, mis. '10.0.0.5' atau '192.168.10.0/24'. address_list: nama list tujuan, mis. 'blocked'. comment: catatan pada entri. timeout: durasi auto-hapus (mis. '1h', '30m'); kosong = permanen.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes
commentNoadded-by-mikroclaw
timeoutNo
address_listYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the timeout behavior and permanent default, and the environment variable requirement. However, it does not mention idempotency, error handling, or return values, leaving gaps in behavioral understanding.

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

Conciseness4/5

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

The description is well-structured with a brief header, a use case sentence, and a clear parameter list. It is reasonably concise, though the 'Args:' section could be slightly tighter. Every sentence adds value with no redundancy.

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

Completeness3/5

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

Given the low complexity of the tool, the description covers the core action adequately. However, without an output schema, it omits any explanation of return values or error conditions, which is a notable gap for a write operation.

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 0%, so the description must compensate. It provides examples and explanations for all four parameters (address, address_list, comment, timeout), including format hints and default values. This adds significant meaning beyond the schema structure.

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 clearly states the action ('add IP/subnet to a firewall address-list') and specifies the resource ('address-list'). It includes a use case differentiation ('suitable for mass blocking/allowing'), distinguishing it from sibling tools like 'remove_address_list_entry' and individual rule tools like 'add_firewall_drop'.

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

Usage Guidelines3/5

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

The description specifies a prerequisite ('BUTUH MIKROCLAW_ALLOW_WRITE=true') and suggests when to use it ('for mass blocking/allowing'). However, it does not provide explicit exclusions or alternatives, leaving the agent to infer when not to use this tool.

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

add_dns_staticB

Tambah entri DNS statis (A record: name -> address). BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: name: nama host, mis. 'nas.lan'. address: IP tujuan, mis. '192.168.88.10'. ttl: time-to-live, mis. '1d', '1h'.

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNo1d
nameYes
addressYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It states the required macro for write permission and basic parameters but does not disclose important behavioral traits like duplicate handling, overwrite behavior, or error conditions. This is insufficient for a mutation tool.

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

Conciseness4/5

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

The description is concise with only four lines including examples. It is well-structured with clear parameter descriptions. However, the use of Indonesian may reduce clarity for an English-speaking AI agent, but it is still efficient.

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

Completeness3/5

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

Given the tool has 3 parameters, no output schema, and no annotations, the description adequately covers parameter usage. However, it lacks information about expected outcomes, return values, or side effects, which is needed for a write operation in a networking context.

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?

Despite 0% schema description coverage, the description adds meaningful examples for each parameter (e.g., 'name: 'nas.lan'', 'address: '192.168.88.10'', 'ttl: '1d', '1h''). This provides useful context beyond the schema's property names and defaults, especially for the ttl format.

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 explicitly states the function: 'Add static DNS entry (A record: name -> address)'. It clearly identifies the resource and action, distinguishing it from sibling tools like dns_static (list) and set_dns_servers.

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

Usage Guidelines2/5

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

The description only mentions a required macro condition ('BUTUH MIKROCLAW_ALLOW_WRITE=true') but provides no guidance on when to use this tool versus alternatives (e.g., add_static_dhcp_lease for different purposes). It lacks explicit when-not-to-use or alternative suggestions.

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

add_firewall_dropA

Tambah aturan firewall untuk DROP trafik dari src_address. BUTUH ALLOW_WRITE.

Args: src_address: IP/subnet sumber yang akan diblok, mis. '10.0.0.5'. chain: chain firewall (default 'forward'). comment: catatan pada aturan.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoforward
commentNoadded-by-mikroclaw
src_addressYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits. It only states that the tool adds a rule and requires write permission, but lacks details on potential side effects (e.g., rule insertion order, duplication, or impact on existing traffic). This is insufficient for a write operation.

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

Conciseness4/5

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

The description is short and front-loaded with the action. However, mixing Indonesian and English may slightly reduce clarity. Otherwise, it is concise and to the point.

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

Completeness3/5

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

Given 3 simple parameters, no output schema, and no annotations, the description covers the essential purpose and parameter defaults. However, it lacks behavioral completeness (e.g., rule ordering, error conditions). Adequate but not comprehensive.

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 description coverage is 0%, so the description must add meaning to parameters. It explains src_address with an example, and provides defaults for chain and comment. This adds significant value beyond the schema's bare types.

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 clearly states that the tool adds a firewall rule to DROP traffic from a specified src_address. This specific verb and resource distinguish it from sibling tools like delete_firewall_rule or set_firewall_rule_enabled.

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?

The description mentions a prerequisite: 'BUTUH ALLOW_WRITE' (needs write permission), which guides usage. It does not explicitly state when not to use this tool versus alternatives, but the context of adding a drop rule is well-defined and no sibling tool performs the same function.

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

add_hotspot_userB

Tambah akun user hotspot. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: name: username hotspot. password: password (opsional; kosong = tanpa password). profile: nama user-profile hotspot. comment: catatan.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
commentNoadded-by-mikroclaw
profileNodefault
passwordNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided. Description does not disclose side effects (e.g., overwriting behavior), error conditions (e.g., duplicate username), or required permissions beyond the environment variable. For a write operation, this is insufficient.

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

Conciseness4/5

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

Description is short and front-loaded with purpose and prerequisite. Arg list is clear. However, could be more concise by not repeating arg descriptions already implied by parameter names.

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

Completeness3/5

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

No output schema or annotations. Description covers basic parameters but lacks information about return values, error handling, or behavior on duplicate user. Adequate for simple create but not fully complete.

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 description coverage is 0%, but description adds meaningful context for each parameter: 'username hotspot', 'password opsional', 'nama user-profile hotspot', 'catatan'. This compensates for missing schema descriptions.

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?

Description clearly states 'Tambah akun user hotspot' (Add hotspot user account) and lists arguments. It distinguishes from sibling tools like hotspot_users (list) and hotspot_active (sessions). However, it could be more precise about the exact resource/modification.

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

Usage Guidelines3/5

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

Mentions prerequisite 'BUTUH MIKROCLAW_ALLOW_WRITE=true' but does not specify when to use this tool vs alternatives like hotspot_users or other add tools. Usage is implied but not explicitly guided.

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

add_ipv6_addressA

Pasang alamat IPv6 ke sebuah interface. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: address: IPv6 dengan prefix, mis. '2001:db8::1/64'. interface: nama interface, mis. 'bridge1'. comment: catatan.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes
commentNoadded-by-mikroclaw
interfaceYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states the action (add) and the prerequisite, but omits consequences such as whether the operation is idempotent, what happens to existing addresses, or error conditions. This is insufficient for a write operation.

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?

The description is extremely concise: two short sentences plus a list of arguments with examples. Every sentence adds value, and the key purpose is front-loaded. No wasted words.

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

Completeness3/5

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

For a relatively simple add operation, the description covers the basic parameters and prerequisite. However, it lacks details on idempotency, error handling, and whether the address can be added if one already exists. With no output schema, some behavioral context would be helpful.

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 description coverage is 0%, so the description must compensate. It provides clear examples for address ('2001:db8::1/64') and interface ('bridge1'), and explains the comment parameter as 'catatan' (note). This adds significant meaning beyond the schema's bare titles.

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 clearly states 'Pasang alamat IPv6 ke sebuah interface' (Add IPv6 address to an interface), which is a specific verb and resource. Although tools like assign_ip_address exist for IPv4, this tool is distinct for IPv6, and the description makes that clear.

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

Usage Guidelines3/5

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

The description includes a prerequisite (MIKROCLAW_ALLOW_WRITE=true) which helps with usage, but it does not explicitly state when to use this tool versus alternatives like assign_ip_address or other add tools. No explicit when-not-to-use guidance is given.

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

add_nat_ruleA

Tambah aturan NAT (port-forward / masquerade). BUTUH MIKROCLAW_ALLOW_WRITE=true.

Contoh port-forward (TCP 8080 publik -> 192.168.88.10:80): chain='dstnat', action='dst-nat', protocol='tcp', dst_port='8080', to_addresses='192.168.88.10', to_ports='80' Contoh masquerade WAN: chain='srcnat', action='masquerade', out_interface='ether1'

Args: chain: 'dstnat' atau 'srcnat'. action: mis. 'dst-nat', 'src-nat', 'masquerade'. protocol/dst_port/to_addresses/to_ports/src_address/dst_address/ in_interface/out_interface: opsional, isi sesuai kebutuhan. comment: catatan pada aturan.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYes
actionYes
commentNoadded-by-mikroclaw
dst_portNo
protocolNo
to_portsNo
dst_addressNo
src_addressNo
in_interfaceNo
to_addressesNo
out_interfaceNo

TDQS

A4.2/5.0
Behavior3/5

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

As no annotations are provided, the description must convey behavioral traits. It describes the additive nature of creating a rule and notes the default comment. Yet it lacks details on error handling, idempotency, or potential side effects.

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

Conciseness4/5

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

The description is well-structured: purpose, prerequisite, examples, then parameter list. It is front-loaded and efficient, though slightly verbose with example 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?

The description covers all parameters and common use cases, but it does not describe return values or error conditions. Given the tool's complexity (11 params, no output schema), it is nearly complete but lacks operational details.

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

Parameters5/5

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

With 0% schema coverage, the description fully compensates by explaining all parameters, listing optional ones, and providing usage examples for chain, action, and others. This adds significant meaning beyond the bare schema.

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 clearly states the tool adds NAT rules (port-forward/masquerade) and provides concrete examples. It distinguishes from siblings like add_firewall_drop by focusing on NAT operations.

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?

The description includes a prerequisite (MIKROCLAW_ALLOW_WRITE=true) and examples for port-forward and masquerade, showing when each is used. However, it does not explicitly mention when not to use this tool or suggest alternatives.

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

add_ppp_secretB

Tambah akun PPP (PPPoE/VPN). BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: name: username akun. password: password akun. service: jenis service ('any','pppoe','l2tp','pptp','sstp','ovpn'). profile: nama PPP profile (default 'default').

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
profileNodefault
serviceNoany
passwordYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions a configuration requirement but does not disclose behavioral traits such as whether the operation is reversible, what side effects occur, or authentication needs beyond the environment variable.

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

Conciseness4/5

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

The description is short and front-loaded with the purpose in Indonesian, followed by the requirement and argument list. Every sentence is necessary, though the mix of languages (Indonesian and English) slightly reduces clarity for non-Indonesian agents.

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

Completeness3/5

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

For a simple creation tool with 4 parameters and no output schema, the description covers all inputs and prerequisites. However, it lacks details on what the tool returns, error handling, or confirmation of success, making it adequate but not comprehensive.

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 description coverage is 0%, but the description explains each parameter: name (username), password, service (with example values), and profile (with default). This adds significant meaning beyond the schema, though it could include constraints like password format or service enum.

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?

The description clearly states the tool adds a PPP account (PPPoE/VPN) and lists its arguments. It is specific about the resource but does not differentiate from sibling tools like add_hotspot_user or add_static_dhcp_lease, which have similar 'add' verbs.

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

Usage Guidelines2/5

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

The description provides a prerequisite (MIKROCLAW_ALLOW_WRITE=true) but gives no explicit guidance on when to use this tool versus alternatives, nor when not to use it. The usage context is only implied.

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

address_listsB

Isi semua firewall address-list (grup IP yang dirujuk aturan firewall).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

The description states that the tool lists contents, implying a read operation, but does not explicitly declare its read-only nature, required permissions, or any side effects. With no annotations, the description could be more transparent about behavioral traits.

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?

The description is a single sentence with no unnecessary words. It is concise and front-loaded, conveying the essential purpose efficiently.

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

Completeness3/5

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

Given no output schema, parameters, or annotations, the description provides basic context but lacks details on output format (e.g., whether it returns list names, entries, or both). It also does not mention read-only behavior, which would aid completeness.

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?

There are zero parameters, and the schema coverage is 100%, so the description does not need to add parameter meaning. The baseline score of 4 is appropriate as the description adds no confusion.

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?

The description clearly indicates that the tool lists the contents of all firewall address-lists, which are IP groups used in firewall rules. The verb 'Isi' (contents) clarifies it's a listing operation, distinguishing it from add/remove sibling tools, though it could specify whether it returns list names, entries, or both.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like add_address_list_entry or remove_address_list_entry. The description lacks context for appropriate usage scenarios.

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

add_simple_queueB

Tambah simple queue untuk membatasi bandwidth target. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: name: nama queue, mis. 'limit-tamu'. target: IP/subnet/interface target, mis. '192.168.88.50/32'. max_limit: batas upload/download 'tx/rx', mis. '5M/10M'.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
targetYes
max_limitYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description bears full burden. It indicates a write operation and a requirement flag, but does not disclose return values, error handling, idempotency, or side effects such as whether existing queues can be overwritten.

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?

The description is very concise: one sentence for purpose, one line for requirement, and a structured parameter list with examples. Every sentence adds value with no redundancy, and the purpose is front-loaded.

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

Completeness3/5

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

For a simple add tool with 3 parameters and no output schema, the description covers the essential purpose, requirement, and parameter formats. However, it does not describe the return value, postconditions (e.g., the queue will appear in simple_queues), or potential errors, which would improve completeness.

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 0%, so the description must compensate. It provides concrete examples for all three parameters (e.g., name: 'limit-tamu', target: '192.168.88.50/32', max_limit: '5M/10M'), adding meaning beyond the schema's type-only definitions.

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?

The description clearly states the verb 'Tambah' (add) and resource 'simple queue' with purpose 'membatasi bandwidth target' (limit bandwidth target). It distinguishes itself from sibling tools like 'simple_queues' (list) and 'queue_tree' by specifying 'simple queue', but does not explicitly differentiate from alternatives.

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

Usage Guidelines3/5

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

The description includes the prerequisite MIKROCLAW_ALLOW_WRITE=true and provides example parameter formats. However, it does not specify when to use this tool versus alternatives like queue_tree, nor does it mention when not to use it.

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

add_static_dhcp_leaseA

Pin IP statis ke sebuah MAC (static DHCP lease). BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: address: IP yang dipatok, mis. '192.168.88.50'. mac_address: MAC klien, mis. 'AA:BB:CC:DD:EE:FF'. server: (opsional) nama DHCP server; lihat dhcp_servers. comment: catatan pada lease.

ParametersJSON Schema
NameRequiredDescriptionDefault
serverNo
addressYes
commentNoadded-by-mikroclaw
mac_addressYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It declares that this is a write operation requiring a specific environment variable, but it does not disclose potential side effects (e.g., overwriting existing leases), error conditions, or the outcome of the operation. The description is adequate but not thorough.

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?

The description is concise, with the purpose stated first, followed by a clear requirement and parameter list. Every sentence adds value without redundancy. It is well-structured and easy to parse.

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?

Given the tool's simplicity (4 parameters, no output schema), the description covers the essential aspects: purpose, required env variable, parameter explanations. However, it lacks information about the response or any post-creation state, which could be useful for an agent to confirm success.

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 input schema has no descriptions for parameters (0% coverage), so the description must compensate. It does so effectively by providing examples for each parameter and indicating which are required and optional. It adds meaning beyond the schema, though it could detail format constraints for MAC addresses.

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?

The description clearly states the tool's purpose: pinning a static IP to a MAC address (static DHCP lease). It uses specific verbs and resources, but does not explicitly differentiate from sibling tools that also perform write operations, though the context of 'static DHCP lease' is unique among the listed siblings.

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

Usage Guidelines3/5

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

The description includes a prerequisite ('BUTUH MIKROCLAW_ALLOW_WRITE=true'), which provides some guidance. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention when not to use it. The usage context is implied but not fully elaborated.

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

add_static_routeA

Tambah route statis. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: dst_address: subnet tujuan, mis. '10.20.0.0/24' atau '0.0.0.0/0' (default route). gateway: gateway/next-hop, mis. '192.168.88.1' atau nama interface. distance: (opsional) administrative distance, mis. '1'. comment: catatan pada route.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentNoadded-by-mikroclaw
gatewayYes
distanceNo
dst_addressYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It discloses the write permission requirement but does not mention potential side effects (e.g., duplicate routes, persistence, error handling) or whether the operation is destructive. This is insufficient for a write operation.

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?

The description is extremely concise with a two-line header followed by bullet-style parameter explanations. Every sentence serves a purpose, and the structure is front-loaded with the core purpose and requirement.

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

Completeness3/5

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

The description covers parameter usage well but lacks information about return values, immediate effects, or error responses. For a simple add operation, this is acceptable but not fully complete given no output schema.

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

Parameters5/5

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

Schema description coverage is 0%, so the description fully compensates by explaining all four parameters with examples and context (e.g., 'mis. 10.20.0.0/24' for dst_address). This adds significant meaning beyond the schema's type definitions.

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?

The description explicitly states 'Tambah route statis' (Add static route) and provides parameter examples, making the purpose clear. However, it does not differentiate from sibling tools beyond the name itself, which is unique but not elaborated.

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

Usage Guidelines3/5

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

The description includes a required environment variable 'BUTUH MIKROCLAW_ALLOW_WRITE=true', which is a usage condition. However, it does not specify when to use this tool over alternatives or provide scenarios where it should not be used.

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

add_wireguard_peerA

Tambah peer WireGuard ke sebuah interface. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: interface: nama interface WireGuard, mis. 'wg0'. public_key: public key milik peer. allowed_address: subnet yang diizinkan, mis. '10.10.0.2/32'. endpoint_address: (opsional) alamat endpoint peer. endpoint_port: (opsional) port endpoint peer.

ParametersJSON Schema
NameRequiredDescriptionDefault
interfaceYes
public_keyYes
endpoint_portNo
allowed_addressYes
endpoint_addressNo

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description only mentions the need for write permission, indicating a destructive action. However, it does not disclose what happens on success, conflict, or error, nor any side effects beyond the write requirement.

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?

The description is short, front-loaded with the main action and requirement, and lists parameters clearly in separate lines. Every sentence contributes value without waste.

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

Completeness3/5

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

For a tool with 5 parameters (3 required) and no output schema or annotations, the description covers parameters and a write requirement but lacks return value information, error scenarios, or behavior on duplicate entries. It is adequate for basic use but not fully comprehensive.

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 0%, but the description adds meaningful context to each parameter, including example values (e.g., 'wg0', '10.10.0.2/32') and clarifies that endpoint fields are optional. This compensates well for the lack of schema descriptions.

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 clearly states 'Add WireGuard peer to an interface' in Indonesian, with a precise action on a specific resource. It distinguishes from sibling tools like wireguard_peers (which lists peers) and wireguard_interfaces.

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

Usage Guidelines3/5

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

The description notes a required environment variable (MIKROCLAW_ALLOW_WRITE=true) as a prerequisite but offers no guidance on when to use or avoid this tool versus alternatives. Usage context is implied but not explicit.

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

arp_tableB

Tabel ARP (pemetaan IP <-> MAC yang terlihat router).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states the content (IP-MAC mapping visible to router) but does not disclose any behavioral traits like read-only nature, output format, or potential delays. The description is too minimal for a no-annotation case.

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?

The description is a single sentence with no wasted words. It is appropriately sized for a simple listing tool.

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

Completeness2/5

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

Given no output schema and no annotations, the description fails to provide complete context. It does not describe return format, pagination, or how this tool fits among siblings like 'neighbors' or 'routing_table'. For a tool with zero complexity, it is minimally adequate but incomplete.

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?

There are no parameters, and schema coverage is 100%. According to rules, baseline is 4 for zero-parameter tools. The description adds no extra param info but is not required to.

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 clearly states that the tool retrieves the ARP table, which maps IP to MAC addresses visible to the router. The verb 'tabel' (table) implies listing, and the resource is specific (ARP table). It distinguishes from siblings like 'routing_table' or 'neighbors' by focusing on IP-MAC mapping.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as 'neighbors' or 'routing_table'. The description does not provide context for selection or exclusions.

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

assign_ip_addressA

Pasang IP address (CIDR) ke sebuah interface. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: address: IP dengan prefix, mis. '192.168.50.1/24'. interface: nama interface, mis. 'bridge1' atau 'ether2'. comment: catatan.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes
commentNoadded-by-mikroclaw
interfaceYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It discloses it is a write operation and needs a permission flag, but lacks details on error handling, overwrite behavior, or validation of inputs. This is insufficient for a configuration-changing tool.

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?

Very concise: one line for purpose and condition, followed by a bulleted list of parameters. No unnecessary words.

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

Completeness2/5

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

Missing important context for a write operation: no mention of return values, error scenarios, or safety warnings. With no output schema and no annotations, the description is incomplete for practical use.

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 has 0% description coverage, but the description adds examples for each parameter: address format ('192.168.50.1/24'), interface names ('bridge1' or 'ether2'), and comment as 'catatan'. This adds meaningful context beyond the schema.

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?

Clearly states it assigns an IP address (CIDR) to an interface, with a specific prerequisite ('BUTUH MIKROCLAW_ALLOW_WRITE=true'). The tool name reinforces the purpose, and it is distinct from siblings like 'add_ipv6_address'.

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 requires the environment variable MIKROCLAW_ALLOW_WRITE=true, indicating when the tool can be used. However, it does not mention when not to use it or compare to alternative tools.

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

bgp_sessionsC

Sesi BGP (status/peer) โ€” RouterOS v7.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of disclosing behavioral traits. It does not mention that the tool is read-only, requires authentication, or any other side effects. This is a significant gap.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks detail. It is not verbose, but it could be improved by adding more context without being overly long.

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

Completeness2/5

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

Given the absence of an output schema and annotations, the description should elaborate on the return format or behavior. It only mentions 'status/peer' but does not describe what data is returned, making it incomplete for an agent to fully understand the tool's output.

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 input schema has zero parameters, so the description cannot add meaning beyond what the schema provides. With no parameters, the baseline is 4, and the description is adequate for this simple tool.

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

Purpose3/5

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

The description states it is about BGP sessions with status/peer information for RouterOS v7. It clearly identifies the resource and implied action (listing/viewing), but it is brief and does not differentiate from sibling tools like ospf_neighbors.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as active_sessions or ospf_neighbors. The description lacks any context about appropriate use cases.

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

bridge_hostsA

Tabel host bridge (MAC yang dipelajari tiap port bridge).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries full burden for behavioral traits. It indicates a read operation (listing learned MACs) but doesn't disclose potential side effects, performance considerations, or data freshness. The description is minimally adequate but lacks depth.

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

Conciseness4/5

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

The description is a single sentence, highly concise. However, it is in Indonesian, which may hinder readability for non-Indonesian speakers. The structure is simple and front-loaded, but could benefit from an English equivalent or title.

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

Completeness3/5

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

For a simple parameterless tool, the description gives the general idea (retrieving bridge host MAC table). However, it doesn't specify the exact output fields or structure, which would help an agent interpret the result. It is adequate but not thorough.

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 has no parameters, and schema coverage is 100% (trivially). The description confirms no input is needed, which is useful. It adds no extra parameter information because none exists, but it correctly implies the tool is a simple list operation.

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 clearly states the tool provides a table of host bridge entries (MAC addresses learned per bridge port). This is a specific verb-resource pairing and distinguishes it from siblings like bridge_ports, which likely show port configurations rather than learned MACs.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. An agent would have no context about when to choose bridge_hosts over bridge_ports or other network inspection tools.

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

bridge_portsB

Pemetaan port ke bridge (interface mana ikut bridge mana).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It only states the mapping function but does not indicate whether the tool is read-only, what the output format is, or any side effects. This is minimal transparency for a tool with zero annotations.

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?

The description is a single concise sentence that earns its place. It is front-loaded with the key action and resource, with no unnecessary words.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is too minimal. It does not explain what the tool returns, how to interpret the mapping, or any usage context. A more complete description would mention that it lists all interfaces and their bridge associations.

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 has no parameters, so schema coverage is 100%. The description adds no parameter info, but none is needed. Baseline for zero parameters is 4, and the description does not detract.

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?

The description 'Pemetaan port ke bridge (interface mana ikut bridge mana)' clearly states the tool maps ports to bridges. It is specific about the resource (bridge ports) and the action (mapping). However, it does not explicitly differentiate from sibling tools like 'bridge_hosts' or 'ethernet_ports', though the focus on bridge membership is distinct.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., 'bridge_hosts' for hosts on bridges, 'vlans' for VLAN assignments). The description does not specify context or prerequisites.

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

capsman_registrationsB

Klien yang terhubung lewat CAPsMAN. Auto legacy atau wifiwave2.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It mentions coverage of 'auto legacy atau wifiwave2' but does not describe whether the operation is read-only, any side effects, or permissions needed. The minimal description fails to compensate for the lack of annotations.

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

Conciseness4/5

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

The description is a single, short sentence that conveys the core purpose without waste. However, it could be slightly more informative (e.g., clarifying the output) without becoming verbose. Still, it is appropriately compact.

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

Completeness2/5

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

Given the simplicity (no parameters, no output schema, no annotations), the description is minimal. It omits details about the output format, what 'registrations' includes, and any behavioral notes. More context would improve completeness without overwhelming the agent.

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 input schema has zero parameters and 100% coverage. With no parameters to document, the description adds no parameter information, but this is acceptable as baseline given the schema handles all. The description does not need to elaborate on parameters.

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?

The description states 'Klien yang terhubung lewat CAPsMAN' which clearly indicates the tool lists clients connected via CAPsMAN. The mention of 'Auto legacy atau wifiwave2' clarifies the scope, though it does not explicitly differentiate from sibling tools like capsman_remote_caps or wifi_registrations.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description lacks any conditional, prerequisites, or contrasts with sibling tools, leaving the agent to infer usage context on its own.

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

capsman_remote_capsA

Daftar CAP (AP) yang dikelola CAPsMAN. Auto legacy (/caps-man) atau wifiwave2.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations provided. Description indicates a read operation (list) but does not disclose output structure, pagination, or potential side effects. For a parameterless list tool, it is minimally adequate but lacking detail.

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?

Extremely concise: two short sentences, no redundant information. Every word earns its place.

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 simple list operation with no parameters and no output schema, the description is mostly complete. Could mention distinction from capsman_registrations, but adequate.

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?

No parameters exist, so schema coverage is 100%. The description adds no parameter info, but baseline is 4 for zero parameters.

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?

Description clearly states it lists CAP (AP) managed by CAPsMAN, and indicates auto-detection of legacy vs wifiwave2. The verb 'Daftar' (list) is specific, but does not differentiate from sibling capsman_registrations.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like capsman_registrations. The mention of auto-detection implies context but lacks clear when-to-use or when-not-to-use.

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

certificatesA

Daftar sertifikat di router beserta masa berlaku (audit kedaluwarsa).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It indicates a read-only listing operation and mentions validity period, but does not specify whether it returns all certificates, filtering, or any other side effects. Missing details like if it requires authentication or if it's destructive.

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?

Single sentence, efficient, and front-loaded. No wasted words; every piece of information is valuable.

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?

Given 0 parameters and no output schema, the description adequately states what the tool lists (certificates) and what detail (validity). However, it could be more explicit about scope (all certificates) and response shape.

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 has 0 parameters, so the description does not need to add parameter info. The phrase 'masa berlaku (audit kedaluwarsa)' adds context about the data returned, which goes beyond the empty schema.

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 clearly states the tool lists certificates with validity periods for expiration audit. It uses specific vocabulary ('Daftar sertifikat', 'masa berlaku') and distinguishes from siblings that list other resources.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives like other list tools. The purpose is implied, but no exclusions or prerequisites are mentioned.

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

check_for_updatesA

Cek ketersediaan update RouterOS dari channel saat ini (menghubungi server MikroTik).

Tidak mengubah konfigurasi; mengembalikan versi terpasang & versi terbaru bila ada.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses that the operation is non-destructive and that it contacts a remote server. However, it does not mention potential network requirements, latency, or caching behavior. The behavioral insight is adequate but minimal.

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?

The description is two concise sentences with no unnecessary words. It front-loads the purpose and immediately clarifies the read-only nature. Every sentence earns its place.

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?

Given the tool has no parameters and no output schema, the description covers the essential aspects: purpose, non-destructive behavior, and return value (installed and latest versions). It is complete enough for a simple check operation, though it could hint at the output format more precisely.

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?

There are zero parameters, so schema coverage is 100%. The description adds no parameter details because none are needed. For zero-parameter tools, the baseline is 4, and the description properly explains the channel context ('current channel').

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 clearly states the tool checks for RouterOS updates from the current channel by contacting MikroTik servers. It uses a specific verb ('check') and resource ('updates'), and no sibling tool appears to duplicate this functionality, so it is well-distinguished.

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

Usage Guidelines3/5

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

The description mentions that the tool does not change configuration, implying it is a read-only operation. However, it does not provide explicit guidance on when to use it (e.g., before upgrading) or when alternatives like system_packages might be more appropriate. The usage context is implied but not stated.

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

create_backupA

Buat file backup konfigurasi (.backup) di penyimpanan router. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: name: nama file backup (tanpa ekstensi).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNomikroclaw

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided. The description discloses a behavioral requirement (write permission) and implies file creation, but does not detail overwrite behavior, error handling, or whether the tool is destructive.

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?

Extremely concise with two sentences and a parameter list. No wasted words; the main action and prerequisite are front-loaded.

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

Completeness3/5

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

For a simple one-parameter tool with no output schema, the description covers the basic purpose, permission requirement, and parameter format. However, it lacks information about return value, success/failure feedback, or file overwrite behavior.

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 description explains the parameter 'name' as 'nama file backup (tanpa ekstensi)' (backup file name without extension), adding semantic value beyond the schema. Schema coverage is 0%, so description compensates well.

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?

Clearly states the action 'Buat file backup konfigurasi' (create configuration backup) and the resource (.backup file in router storage). However, it does not explicitly distinguish from sibling tools, but no direct backup alternative exists.

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

Usage Guidelines3/5

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

Provides a prerequisite (MIKROCLAW_ALLOW_WRITE=true) indicating when the tool can be used, but lacks explicit guidance on when not to use or comparison to alternatives.

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

delete_firewall_ruleA

Hapus satu aturan firewall filter berdasarkan id. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: rule_id: nilai '.id' aturan (mis. '*5'); ambil dulu dari firewall_filter_rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
rule_idYes

TDQS

A4.4/5.0
Behavior3/5

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

No annotations provided, so description bears full burden. It discloses the write permission requirement but does not mention that deletion is irreversible, any potential side effects (e.g., if rule is referenced elsewhere), or what the response indicates. Adequate but could be more thorough.

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: purpose, requirement, and argument explanation. No fluff, every sentence adds value. Perfectly sized for the tool's simplicity.

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 simple delete-by-ID tool, the description covers operation, argument, and prerequisite. Lacks mention of irreversibility or error conditions, but given the simplicity, it is largely complete. Reference to sibling tool firewall_filter_rules provides necessary context.

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 sole parameter rule_id has no schema description (0% coverage). The description compensates by specifying format ('*5'), that it's the '.id' value, and that it must be retrieved from firewall_filter_rules. This adds meaningful context beyond the raw schema.

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 clearly states the action: delete a single firewall filter rule by ID. It distinguishes from sibling tools like set_firewall_rule_enabled by specifying 'delete' and references the source of the ID (firewall_filter_rules).

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?

The description tells when to use the tool (when deleting a firewall rule) and provides a crucial prerequisite: obtain the rule ID from firewall_filter_rules first. It also mentions the required environment variable MIKROCLAW_ALLOW_WRITE=true, guiding the agent on correct usage.

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

dhcp_clientB

Status DHCP client (mis. IP WAN yang didapat dari ISP) per interface.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

Without any annotations, the description should disclose behavioral traits. It implies a read-only operation but does not explicitly state that no modifications are made, whether authentication is required, or how results are structured. The phrase 'per interface' is ambiguous without a parameter.

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

Conciseness4/5

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

The description is a single concise sentence. It is front-loaded with the key action word 'Status'. However, it mixes languages (Indonesian) which might reduce clarity for non-Indonesian speakers.

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

Completeness3/5

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

For a simple parameterless tool, the description is minimally sufficient. However, it does not explain the return format, what 'per interface' means without an interface filter, or any error conditions. More context would improve agent understanding.

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?

There are no parameters, so the parameter semantics burden is low. The description adds the context 'per interface' beyond the empty schema, but it does not clarify how this is handled without a parameter. Baseline of 4 is appropriate given zero parameters and 100% schema coverage.

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?

The description clearly indicates the tool retrieves the status of the DHCP client, specifically the WAN IP from ISP, per interface. It uses a specific verb ('Status') and resource ('DHCP client'), and the purpose is distinct from sibling tools like dhcp_leases or dhcp_servers.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as dhcp_leases or list_interfaces. The description lacks information about prerequisites, when not to use it, or how it fits into a broader workflow.

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

dhcp_leasesB

Daftar DHCP lease (klien yang dapat IP dari router).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It states that the tool returns a list of DHCP leases, which is transparent enough for a simple read operation. However, it does not disclose if the list includes all leases or only active ones, or any other behavioral traits.

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?

The description is a single, concise sentence that efficiently conveys the tool's purpose without any wasted words.

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

Completeness3/5

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

Given no output schema and a simple list tool, the description is adequate but could be improved by hinting at the return structure or the scope of leases (e.g., current leases from the router's DHCP server).

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?

There are no parameters, so schema description coverage is 100% by default. The description adds value by explaining what a DHCP lease is, going beyond the empty schema.

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?

The description clearly states the tool lists DHCP leases and explains what that means ('klien yang dapat IP dari router'). However, it does not distinguish from related sibling tools like dhcp_servers or dhcp_networks, though the resource is clear.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus other DHCP-related sibling tools or similar listing tools. The description provides no context for selection decisions.

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

dhcp_networksB

Konfigurasi network DHCP: gateway, DNS, netmask yang ditawarkan ke klien.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It mentions 'configuration' but does not clarify if the tool performs read-only listing or modifications, leaving ambiguity about its side effects.

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

Conciseness4/5

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

The description is a single sentence, concise and front-loaded. However, it is in Indonesian, which may reduce clarity for non-Indonesian-speaking agents, but it remains efficient.

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

Completeness2/5

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

With no output schema and no annotations, the description is the only context. It does not explain what operation the tool performs (e.g., is it a list or configuration command?), nor does it cover all potential DHCP network fields beyond the three mentioned.

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 input schema has zero parameters, so there is nothing to explain. The description adds no parameter details, but the baseline for zero-parameter tools is 4, as no additional parameter insight is needed.

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?

The description clearly states the tool deals with DHCP network configuration including gateway, DNS, and netmask. However, it does not differentiate from sibling tools like dhcp_servers or add_static_dhcp_lease, and it does not specify whether it lists or modifies configurations.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. With related sibling tools (e.g., dhcp_servers, add_static_dhcp_lease), the description provides no context for selection.

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

dhcp_serversB

Daftar DHCP server beserta interface & address-pool-nya.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, and the description does not disclose behavioral traits such as read-only nature, authentication requirements, or side effects. It only describes what it lists, leaving the agent uncertain about potential impacts.

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?

The description is a single, well-structured sentence that immediately conveys the tool's purpose. No extraneous information, perfectly concise.

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

Completeness3/5

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

Given the simplicity (no params, no output schema), the description is adequate but lacks details about the return format or the structure of listed data. It does not fully enable an agent to understand the output without additional context.

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?

The tool has zero parameters, and the schema coverage is 100% (empty). The description adds no parameter meaning because none exist. Baseline score of 3 is appropriate as the description is neither helpful nor harmful.

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?

The description clearly states it lists DHCP servers with interface and address pools. It uses a specific verb ("Daftar" meaning list) and resource, but does not explicitly differentiate from sibling tools like dhcp_leases or dhcp_networks, though the scope is implied.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or when to choose dhcp_servers over similar tools like dhcp_leases.

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

dns_cacheA

Isi cache DNS resolver router (entri yang sedang di-cache).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations provided, the description must fully communicate behavioral traits. It only states the tool shows cached entries, but does not disclose whether it is a read-only operation, any side effects, rate limits, or that it requires no parameters. This leaves critical behavioral uncertainty.

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?

The description is a single, concise sentence that immediately communicates the tool's purpose without any extraneous text. It is optimally front-loaded and efficient.

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 parameterless tool with no output schema, the description is adequate: it identifies the exact resource and function. However, it could benefit from a note on the output format or that the cache is dynamic, but overall it is sufficiently complete for a simple read operation.

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 input schema has zero parameters with 100% schema description coverage. Per guidelines, baseline is 4. The description adds no parameter info since none exist, so no additional value is needed.

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 clearly states the tool displays the cached DNS entries of the router resolver. The verb 'Isi' (content) and resource 'cache DNS resolver' are specific, and the parenthetical clarifies it's the cached entries. This distinguishes it from siblings like dns_static (static entries) and dns_settings (settings).

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

Usage Guidelines2/5

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

The description lacks any guidance on when to use this tool versus alternatives. It does not mention when not to use it, prerequisites, or contrast with sibling tools. Agents must infer from the tool's name and context.

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

dns_settingsC

Konfigurasi DNS router: server upstream, cache, allow-remote-requests.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It does not state whether the tool is read-only, requires authentication, or has side effects. The term 'Konfigurasi' could imply mutation, but no parameters suggest a read operationโ€”this ambiguity is problematic.

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

Conciseness3/5

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

The description is concise (short phrase), but it lacks sentence structure and is only in Indonesian. It could be organized into a clearer statement with a verb.

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

Completeness2/5

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

With no output schema, the description should explain return values or behavior. It lists three configuration aspects but does not describe the output format (e.g., what fields are returned, type of values). The tool is simple but incomplete for an agent to understand what it will receive.

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?

Input schema has zero parameters, so schema coverage is 100% trivially. The description adds value by listing the aspects of DNS configuration (upstream server, cache, allow-remote-requests), hinting at output content beyond the empty schema. Baseline for 0 params is 4 per guidelines.

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

Purpose3/5

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

Description indicates the tool is about router DNS configuration covering upstream server, cache, and allow-remote-requests, but lacks a verb (get/set) and does not distinguish from sibling tools like dns_cache or set_dns_servers. The noun 'Konfigurasi' leaves ambiguity about whether it reads or modifies.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Among siblings, there are multiple DNS-related tools (e.g., set_dns_servers, dns_cache), but the description provides no context for selection.

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

dns_staticA

Entri DNS statis (A/CNAME/dll yang dilayani router).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It does not state whether the operation is read-only, destructive, or requires permissions, nor does it mention any side effects.

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?

The description is extremely concise (one phrase in Indonesian) with no wasted words. It front-loads the core purpose immediately.

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

Completeness3/5

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

Given zero parameters, no output schema, and no annotations, the description covers basic purpose but lacks details on output format, pagination, or error conditions. It is minimally adequate but not comprehensive.

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?

There are no parameters in the input schema, so schema description coverage is 100%. The description does not add parameter meaning since none exist, making a baseline score of 4 appropriate.

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 clearly states the tool retrieves static DNS entries (A/CNAME/etc) served by the router. It implicitly distinguishes from sibling tools like add_dns_static (adds entries) and dns_cache (DNS cache), making purpose unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Sibling tools exist (e.g., add_dns_static, dns_cache) but the description provides no context for selection or exclusions.

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

ethernet_portsB

Detail port ethernet: link speed, auto-negotiation, status fisik.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided; description does not disclose any behavioral traits such as being read-only or having side effects. For a tool with zero annotations, the description should provide more context.

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

Conciseness4/5

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

Description is concise, using one sentence to convey the key information. It is front-loaded but slightly under-specified.

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

Completeness3/5

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

No output schema, so description should provide more detail about return structure. It mentions specific attributes but not the full set, leaving gaps for an agent.

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?

Tool has zero parameters, so description cannot add parameter-specific value. Baseline score of 4 is appropriate as there are no parameters to explain.

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?

Description clearly states the tool details Ethernet port information: link speed, auto-negotiation, and physical status. However, it could be more specific to differentiate from sibling tools like list_interfaces or bridge_ports.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Sibling tools include many network-related commands, but no context is provided for selecting this one.

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

firewall_connectionsB

Connection tracking aktif (src/dst, protokol, state) โ€” untuk troubleshooting.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description must fully disclose behavioral traits. It mentions the data fields (src/dst, protocol, state) but does not state whether the operation is read-only, safe, or has any side effects. The implicit assumption is that it is read-only, but not confirmed.

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?

Extremely concise single sentence. No wasted words, front-loads core purpose and content. Ideal length for simple tool.

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

Completeness3/5

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

Given no output schema and zero parameters, the description could be considered minimally adequate. However, it does not explain the return format, pagination, or how it relates to sibling tools like 'active_sessions' or 'firewall_filter_rules'. Lacks completeness for a troubleshooting tool.

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?

No parameters in input schema, baseline is 4. Description adds context by listing the data fields returned, which helps the agent understand what information the tool provides.

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?

Description clearly states it is for connection tracking, listing active connections with src/dst, protocol, and state, and for troubleshooting. This is specific and understandable, but it does not differentiate from sibling tools like 'active_sessions' or 'firewall_filter_rules'.

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

Usage Guidelines2/5

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

No explicit guidance on when or when not to use this tool. Merely states 'untuk troubleshooting' (for troubleshooting), but lacks context such as alternatives or prerequisites.

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

firewall_filter_rulesB

Aturan firewall filter (chain input/forward/output).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided. The minimal description does not disclose behavioral traits such as read-only/read-write, authentication needs, or what the tool returns.

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

Conciseness4/5

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

Very concise single phrase, but could be more informative by adding a verb or brief context.

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

Completeness3/5

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

For a tool with no parameters and no output schema, the description provides the essential context (chains) but omits what action the tool performs (e.g., listing rules). Adequate but could be more complete.

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?

Input schema has 0 parameters, so description does not need to add parameter information. Baseline score of 4 is appropriate.

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?

Description clearly indicates the tool deals with firewall filter rules and specifies the chains input/forward/output, distinguishing it from NAT or mangle rules. However, it lacks an explicit verb like 'list' or 'get'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus sibling tools like firewall_nat_rules or firewall_mangle. The agent must infer from the chain mention.

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

firewall_mangleB

Aturan firewall mangle (marking koneksi/paket untuk QoS/policy routing).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

The description lacks any behavioral disclosure. With no annotations, the agent has no information on whether this tool is read-only or destructive, what side effects exist, or authentication requirements. The vague term 'aturan' (rules) could imply listing or modification, but it's ambiguous.

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

Conciseness4/5

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

The description is a single short sentence with no unnecessary words. It is appropriately concise for the limited information provided, though it could be slightly more informative without losing conciseness.

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

Completeness2/5

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

Given the lack of annotations, output schema, and parameters, the description is insufficient. It does not explain what the tool returns (e.g., a list of mangle rules), how it interacts with the firewall, or any usage examples. A tool with zero parameters likely performs a simple list operation, but this is not confirmed.

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 has zero parameters and schema coverage is 100% (vacuous). The description adds no parameter information, but none is needed. Baseline score of 4 is appropriate given no parameters to describe.

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?

The description clearly identifies the tool as dealing with firewall mangle rules for marking connections/packets for QoS/policy routing. It uses a specific resource name and distinguishes from sibling tools like firewall_filter_rules and firewall_nat_rules, though it doesn't explicitly state the action (list/manage).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no indication of prerequisites, context, or exclusion criteria, leaving the agent without direction on selecting this tool over sibling firewall tools.

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

firewall_nat_rulesB

Aturan NAT (srcnat/dstnat), mis. masquerade & port forward.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It only states 'NAT rules' without mentioning read-only nature, pagination, or any constraints. Minimal transparency.

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

Conciseness4/5

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

Extremely concise single sentence that front-loads the resource and types. Could be slightly more structured, but overall efficient with no waste.

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

Completeness3/5

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

For a simple listing tool with no parameters or output schema, the description is adequate but minimal. It does not explain output format or that it lists rules. Sibling tool context adds some completeness.

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?

Input schema has zero parameters, so schema coverage is 100%. The description adds examples (masquerade, port forward) providing context beyond the schema. Baseline score of 4 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 clearly states the tool provides NAT rules (srcnat/dstnat) with examples like masquerade and port forward. It is specific and distinguishes from sibling tools like firewall_filter_rules.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as add_nat_rule or delete_firewall_rule. The description does not provide context or exclusions.

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

hotspot_activeA

User hotspot yang sedang login (aktif).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, but the description trades transparency for a simple read operation. It does not specify whether authentication is required, if the list is real-time, or any side effects. It is adequate but minimal.

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 sentence with no unnecessary words. It is front-loaded and perfectly concise for the task.

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?

Given the tool has no parameters, no output schema, and performs a simple listing of active users, the description is complete. No additional information is required.

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 has zero parameters and schema coverage is 100% (empty properties). According to guidelines, baseline is 4 for no parameters. No further explanation needed.

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 clearly states it returns currently active hotspot users ('yang sedang login'). It distinguishes from sibling tools like 'hotspot_users' which likely list all users. The purpose is specific and unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as 'hotspot_users' or 'active_sessions'. There is no mention of context or prerequisites.

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

hotspot_serversA

Daftar server hotspot beserta interface & profilnya.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

The description implies a read operation but does not explicitly state read-only, required permissions, or any side effects. With no annotations, the description should provide more behavioral context.

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?

The description is a single sentence with no unnecessary words. It is concise and to the point.

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?

Given no parameters and no output schema, the description covers the essential functionality. It could be more explicit about the return format, but it is adequate.

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?

Input schema has 0 parameters, so schema coverage is 100%. The description adds no parameter info, but baseline for 0 params is 4.

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 clearly states the tool lists hotspot servers along with their interfaces and profiles, which is a specific verb+resource. Among siblings, there is no other hotspot_servers tool, so it distinguishes itself.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention any context or exclusions.

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

hotspot_usersA

Daftar akun user hotspot (name, profil, kuota).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only mentions listing accounts but does not disclose behavioral traits like read-only nature, authorization needs, or any side effects. Minimal transparency beyond purpose.

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?

Single short sentence with no unnecessary words. Front-loaded and efficient.

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

Completeness3/5

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

For a parameterless list tool without output schema, description names the fields but doesn't specify return format (e.g., array of objects). Adequate but could be more complete.

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?

With zero parameters and 100% schema coverage, description adds value by indicating the returned fields (name, profile, quota). Baseline for 0 params is 4, and description fulfills that.

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 clearly states it lists hotspot user accounts (verb 'daftar' meaning list) and specifies the included information: name, profile, quota. This distinguishes it from sibling tools like add_hotspot_user (create) and hotspot_active (active sessions).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool vs alternatives or exclusions. It only states the function without context.

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

interface_traffic_liveB

Ambil satu sampel throughput real-time interface (rx/tx bit-per-detik).

Args: interface: nama interface, mis. 'ether1'.

ParametersJSON Schema
NameRequiredDescriptionDefault
interfaceYes

TDQS

B3.2/5.0
Behavior3/5

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

No annotations provided. The description says 'real-time' and 'sampel' (sample) implying a single read, but lacks details on effects (likely read-only), duration, or safety. Adds basic context but insufficient for full transparency.

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

Conciseness3/5

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

Short description with an Args section, but the Args section repeats the schema without adding value. Could be more concise by integrating parameter info.

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

Completeness3/5

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

No output schema. The description mentions 'throughput real-time interface (rx/tx bit-per-detik)' indicating the return value, but does it return both rx and tx separately? Incomplete for a single-sample tool. Adequate but not fully complete.

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

Parameters2/5

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

The schema has 0% description coverage. The description gives an example 'mis. \'ether1\'' but doesn't explain format, constraints, or default values. Minimal added meaning beyond the schema.

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 clearly states the action 'Ambil satu sampel' (take one sample) and the resource 'throughput real-time interface (rx/tx bit-per-detik)'. It distinguishes from sibling tools like 'list_interfaces' which list interfaces but not traffic.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like other monitoring tools. No mention of exclusions or context.

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

ip_cloudC

IP publik & DDNS MikroTik (/ip/cloud) โ€” penting untuk remote access.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior1/5

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

No annotations are provided, and the description does not disclose whether this tool is read-only, modifies state, or requires authentication. There is no behavioral context beyond the name and a general statement about remote access. For a tool with zero annotations, this is a significant gap.

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

Conciseness4/5

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

The description is very concise (one short sentence) and front-loaded with the key terms. No wasted words, but it could be more structured (e.g., separating purpose from usage). The brevity is effective but leaves gaps in other dimensions.

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

Completeness2/5

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

Given the tool has no parameters and no output schema, the description should compensate by explaining what information the tool provides (e.g., current public IP, DDNS status). The current description only states the topic area, not the actual output or behavior. This is incomplete for an agent to determine if the tool answers a specific user query.

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?

The tool has no parameters and the schema coverage is 100% (empty). The description does not add parameter-level detail but also doesn't need to. However, it fails to explain what the tool returns or how to interpret the output, which is necessary for a parameterless tool. A score of 3 reflects adequate but not excellent handling.

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?

The description specifically states 'IP publik & DDNS MikroTik (/ip/cloud)' which clearly identifies the resource and its domain. The addition 'penting untuk remote access' gives context, though it doesn't fully disambiguate from sibling tools like dns_settings or ip_services. It's clear enough for an agent to understand the general purpose.

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

Usage Guidelines2/5

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

The description provides only a vague usage hint ('penting untuk remote access') but no explicit guidance on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or comparison to sibling tools like check_for_updates or system_identity which might also relate to network access.

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

ip_poolsA

Daftar IP pool (rentang IP untuk DHCP/PPP).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states this is a list operation, implying read-only behavior, but does not confirm non-destructive nature, permissions, or return format. For a simple list tool with no parameters, this is adequate but not rich.

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, complete sentence that efficiently conveys the tool's purpose. No filler or redundant information. Front-loaded with the key action and resource.

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?

Given zero parameters, no output schema, and a straightforward list operation, the description sufficiently explains what the tool does. There is no missing information for an agent to use this tool correctly.

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 input schema is empty (no parameters), so schema coverage is 100%. The description adds value by clarifying that IP pools are for DHCP/PPP, which gives context beyond the empty schema. Baseline for 0 parameters is 4, and the description meets that.

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?

Description clearly states the tool lists IP pools and defines them as IP ranges for DHCP/PPP. The verb 'Daftar' (list) and resource 'IP pool' are specific. It implicitly distinguishes from sibling tools like address_lists or dhcp_leases by focusing on pool management.

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

Usage Guidelines3/5

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

The description implies usage when one needs to view IP pool settings, but provides no explicit guidance on when to use this tool versus alternatives (e.g., address_lists for address ranges). No exclusions or context cues are given.

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

ipsec_active_peersA

Peer IPsec yang sedang aktif (tunnel yang sedang berjalan).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only, idempotency, or data freshness. For a tool with zero annotation coverage, the description must carry the behavioral burden, but it merely restates the name.

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?

The description is a single, short sentence that front-loads the key term 'Active'. It contains no redundant words and efficiently communicates the tool's purpose.

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?

Given the tool has no parameters and a simple purpose, the description is nearly complete. However, it lacks explicit mention of the output format or that it is a read operation. Still, it is sufficient for a minimal tool.

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 has zero parameters, so the baseline is 4. The description does not need to add parameter information, and the schema already covers everything (100% coverage).

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 'Active IPsec peers (active tunnels)' uses a specific verb (active) and resource (IPsec peers), clearly distinguishing it from the sibling tool 'ipsec_peers' which likely lists all peers. The purpose is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like ipsec_peers. The description does not mention prerequisites, scenarios, or exclusions, leaving the agent to infer usage without explicit direction.

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

ipsec_peersC

Konfigurasi peer IPsec (alamat, exchange-mode, profil).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, and the description only mentions configuration without detailing behavior like potential overwrites, authentication requirements, or side effects. The description is too vague for a potentially destructive operation.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure and essential details. It is not front-loaded with critical information.

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

Completeness1/5

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

The tool has no input schema parameters, yet the description implies parameters exist. No output schema or additional context is provided, making the description incomplete for a configuration tool.

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

Parameters1/5

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

The description lists parameters (alamat, exchange-mode, profil) that are not present in the empty input schema, creating confusion. This misalignment reduces clarity for correct invocation.

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?

The description clearly states the tool configures IPsec peers with specific attributes like address, exchange-mode, and profile. However, it does not differentiate from sibling tools like ipsec_active_peers, which likely lists active peers.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as ipsec_active_peers. There is no mention of prerequisites or context for usage.

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

ip_servicesA

Daftar service IP (api, ssh, www, telnet, winbox) + status & port.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states it returns status & port list. Does not disclose whether it's read-only, requires permissions, or has side effects. For a query tool, minimal disclosure.

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?

Single short Indonesian sentence that is front-loaded with the tool's purpose. No extraneous words.

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

Completeness3/5

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

For a tool with no parameters and no output schema, the description covers the key output (services, status, port) but lacks details on output format, ordering, or error handling. Adequate but not thorough.

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?

No parameters exist, baseline is 4 per rules. Description does not need to add parameter meaning as there are none.

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?

Description clearly states the tool lists IP services with specific examples (api, ssh, www, telnet, winbox) and includes status & port. Uses specific verb 'daftar' (list) and resource 'service IP', distinguishing it from siblings like set_ip_service_enabled.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as set_ip_service_enabled or list_interfaces. Lacks when-to-use, when-not-to-use, or prerequisite context.

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

ipv6_addressesB

Daftar alamat IPv6 yang terpasang per interface.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description should fully disclose behavior. It only says 'list' with no mention of being read-only, authentication needs, or that it returns a snapshot. Minimal transparency.

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?

The description is a single, concise sentence that front-loads the core purpose. No unnecessary words.

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 parameterless list tool, the description is adequate. It identifies the resource and scope. However, it could mention that results are per interface or that it is a read-only view to be more complete.

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?

There are no parameters, and the schema coverage is 100% trivial. The description does not need to add param info. Baseline 4 is appropriate.

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?

The description clearly states the tool lists IPv6 addresses per interface, which distinguishes it from sibling tools like add_ipv6_address (adds) and ipv6_routes (routes). However, it does not emphasize the read-only nature explicitly.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is for reading current assignments, while add_ipv6_address is for creating new ones, leaving the agent without context.

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

ipv6_firewall_filterB

Aturan firewall filter IPv6.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

The description is a noun phrase with no behavioral disclosure. It does not state whether the tool is read-only, modifies state, or requires authentication. With no annotations provided, the description fails to convey safety or side effects, which is critical for a firewall-related tool.

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

Conciseness3/5

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

The description is extremely concise with a single 3-word phrase. While it wastes no words, it may be too terse to convey the tool's exact operation (e.g., list, manage, or view rules). A slightly more descriptive phrase would improve clarity without sacrificing efficiency.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description leaves significant gaps. It does not explain what the tool returns or how it behaves (e.g., listing all IPv6 filter rules vs. filtering by criteria). The tool's simplicity (zero parameters) partially compensates, but more context is needed for effective use.

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 input schema has no parameters, so schema coverage is 100%. The description 'Aturan firewall filter IPv6' adds meaning by defining the tool's domain (IPv6 firewall rules), which is sufficient given the absence of parameters. The tool's function is implied by the noun phrase, but it could be more action-oriented.

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 'Aturan firewall filter IPv6' clearly indicates it is about IPv6 firewall filter rules, distinguishing it from the sibling tool 'firewall_filter_rules' which presumably handles IPv4. The verb 'aturan' (rules) implies a listing or management function, making the purpose specific and unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'firewall_filter_rules' or 'add_firewall_drop'. There is no indication of prerequisites, context, or cases where this tool should be preferred, leaving the agent without decision support.

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

ipv6_neighborsB

Tabel neighbor IPv6 (NDP) โ€” pemetaan IPv6 <-> MAC.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral transparency. It only states the output is a table mapping IPv6 to MAC addresses. It does not disclose whether the operation is safe (read-only), whether it refreshes data, or any access requirements. For a simple list tool, this is minimal but acceptable, though more context (e.g., 'shows all neighbors discovered via NDP') would help.

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

Conciseness4/5

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

The description is very concise, using a single line. It is front-loaded and communicates the core purpose efficiently. However, it could be slightly more descriptive without losing conciseness, earning a 4 rather than 5.

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

Completeness3/5

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

With no parameters and no output schema, the description is the only source of context. It provides the essential mapping (IPv6 to MAC) but lacks details such as whether the list includes all neighbors or is filterable. For a zero-param tool, it is adequately complete but could mention that it returns the full NDP table.

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 has zero parameters (schema coverage 100%), so the description does not need to add parameter information. The baseline for 0 parameters is 4, and the description does not fail to add value since there are no parameters to describe.

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 clearly states the tool displays the IPv6 neighbor table (NDP) mapping IPv6 to MAC addresses. This distinguishes it from sibling tools like 'arp_table' (IPv4 ARP) and 'neighbors' (likely IPv4) by specifying IPv6 and NDP protocol.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. For example, it does not clarify that this lists discovered neighbors via NDP, not configured addresses (which would be 'ipv6_addresses'). The sibling list includes many networking tools, but no usage context is given.

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

ipv6_routesB

Tabel routing IPv6 (route aktif & statis).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only mentions content (active & static routes), not behavioral traits like read-only, output format, or side effects.

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

Conciseness4/5

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

Extremely concise single phrase without unnecessary words. Could be slightly more structured but efficient.

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

Completeness3/5

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

Given no parameters and no output schema, the description minimally describes the tool's purpose. It could mention returning a list or table to complete context.

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 has no parameters, so schema coverage is 100% and description does not need to add param info. Baseline 4 is appropriate.

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 clearly states the tool provides the IPv6 routing table, specifically active and static routes, distinguishing it from IPv4 routing (sibling 'routing_table') and other IPv6 tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'routing_table' or 'ipv6_neighbors'. The description lacks context for appropriate usage.

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

list_filesA

Daftar file di penyimpanan router (backup, export, dll) + ukuran & waktu.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It implies a read-only operation and states what it returns (files with size and time). However, it does not explicitly mention safety, rate limits, or other behavioral traits.

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?

Single sentence, concise and front-loaded with verb and object. Every word serves a purpose; no wasted text.

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?

Given no parameters, no output schema, and a simple purpose, the description fully covers what the tool does and what it returns. It is complete for its complexity.

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

Parameters5/5

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

No parameters exist, so baseline is 4. The description adds significant context by specifying the types of files listed and the information provided (size & time), exceeding the baseline.

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 clearly states the tool lists files from router storage, specifying categories (backup, export, etc.) and includes additional info (size & time). It distinguishes from sibling tools like create_backup which creates files.

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

Usage Guidelines3/5

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

No explicit guidance on when to use or not use this tool vs alternatives. However, there are no other file listing tools among siblings, so the usage context is implied but not explicitly stated.

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

list_interfacesA

Daftar semua interface beserta status running/disabled dan statistik.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses the tool's purpose but does not mention any behavioral traits such as authentication requirements, resource impact, or side effects. As a read-only listing, more context would be beneficial.

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?

The description is a single sentence that conveys the essential information without any unnecessary words. It is front-loaded and efficient.

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?

Given the tool's simplicity (zero parameters, no output schema), the description is fairly complete. It states what it lists and the type of information included. However, it could briefly mention if the output is sorted or if there are any limitations.

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?

There are zero parameters; the baseline score is 4 as per guidelines. The description does not need to add parameter semantics, and it correctly implies that no inputs are required.

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 clearly states that the tool lists all interfaces along with running/disabled status and statistics. It uses a specific verb ('list') and resource ('interfaces'), and specifies the information included, distinguishing it from sibling tools that list other resources.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There is no mention of typical use cases, prerequisites, or when not to use it.

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

list_ip_addressesA

Daftar alamat IP yang terpasang di tiap interface.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It is a simple read-only listing, and the description is straightforward; no additional behavioral traits (permissions, side effects) are disclosed, but none are expected for a basic list operation.

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?

Single sentence, no waste, directly conveys the tool's function.

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

Completeness3/5

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

Tool complexity is low (0 params, no output schema), but the description omits the return format (e.g., interface names, IP addresses). Adequate but not fully complete.

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?

No parameters exist (0 params), so baseline is 4. The description adds no parameter info, which is acceptable given the empty schema.

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 clearly states 'List IP addresses attached to each interface' using a specific verb and resource, and it distinguishes from sibling tools like arp_table or ipv6_addresses.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives; no explicit context or exclusions provided.

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

neighborsB

Perangkat tetangga terdeteksi (MNDP/CDP/LLDP) โ€” router/switch di sekitar.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description must carry the behavioral disclosure burden. It only states what the tool returns but does not mention read-only, safety, or output format. While the purpose implies a read operation, the description lacks explicit behavioral traits.

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

Conciseness4/5

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

The description is a single, concise sentence. It is front-loaded with the key information about detected devices and protocols. However, the use of Indonesian may be a minor barrier for some agents.

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

Completeness3/5

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

Given no parameters and no output schema, the description provides adequate context for a simple list tool. However, it does not describe the return format (e.g., table columns) or any limitations (e.g., only active neighbors). Slightly under-specified for full completeness.

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?

There are zero parameters, so schema coverage is trivially 100%. The baseline score per rules is 4. The description adds no parameter information, which is acceptable given no parameters exist.

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?

The description clearly states that the tool lists neighboring devices detected via MNDP/CDP/LLDP protocols, distinguishing it from sibling tools like ospf_neighbors or ipv6_neighbors that show network-layer neighbors. However, the lack of an explicit verb (e.g., 'list', 'show') slightly reduces clarity.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives like ospf_neighbors or ipv6_neighbors. An agent would need to infer context from the tool name and sibling list.

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

netwatchA

Daftar host yang dipantau Netwatch beserta status up/down.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the read-only purpose (listing status) but does not provide additional context like caching behavior or data freshness.

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?

The description is a single, clear sentence with no unnecessary words or repetition.

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

Completeness3/5

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

For a simple list tool, the description adequately conveys what is returned (hosts and status) but lacks details on output format or structure, which could help the agent.

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?

There are no parameters, so schema coverage is 100% by default. The description does not need to add parameter information, meeting baseline expectations.

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 clearly states it lists hosts monitored by Netwatch with up/down status, using a specific verb and resource that distinguishes from sibling tools like 'ping' or 'address_lists'.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives; usage is implied but not articulated.

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

ntp_clientB

Status & konfigurasi NTP client (sinkronisasi waktu).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only says 'Status & konfigurasi' but does not clarify if the tool reads, writes, or both, nor does it describe any side effects or permissions needed.

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

Conciseness4/5

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

The description is very shortโ€”a single phrase. It is concise but lacks structure. It earns its place but could benefit from additional detail without becoming verbose.

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

Completeness2/5

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

Given no output schema, no annotations, and a minimal description, the tool lacks important context. The agent does not know what the tool returns or what 'konfigurasi' entails. It is incomplete for a no-parameter tool that likely provides both read and write functionality.

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 has zero parameters; per guidelines baseline is 4. The description does not need to add parameter semantics since there are none.

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?

The description clearly states the tool is for NTP client status and configuration (time synchronization). It is distinct from sibling tools like dhcp_client, but the purpose is concise and directly conveys the resource and action.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites or context for using the tool.

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

ospf_neighborsB

Neighbor OSPF beserta state adjacency โ€” RouterOS v7.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only gives a basic purpose, omitting behavioral traits like read-only nature, performance, or output structure.

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

Conciseness4/5

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

Extremely concise single sentence. Front-loaded with key info. However, the mixed language (Indonesian/English) may reduce clarity for some agents.

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

Completeness2/5

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

Given no output schema and no annotations, the description is too sparse. It doesn't explain what the output contains or how to interpret adjacency states.

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?

No parameters exist, so schema coverage is 100%. Per guidelines, baseline is 4; the description correctly adds no parameter info since none are needed.

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?

The description states it covers OSPF neighbors and adjacency states, clearly identifying the resource and action. It distinguishes from siblings like 'neighbors' and 'bgp_sessions', but could be more explicit (e.g., 'Lists...').

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'neighbors' or 'bgp_sessions'. The description lacks context for selection.

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

pingB

Jalankan ping dari router ke sebuah alamat (diagnostik konektivitas).

Args: address: host/IP tujuan, mis. '8.8.8.8'. count: jumlah paket (default 3).

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo
addressYes

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states the action ('run ping') without disclosing behavioral traits such as required permissions, rate limits, or what happens on unreachable addresses. Basic transparency is lacking.

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

Conciseness4/5

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

The description is concise and well-structured with separate lines for the overall purpose and the Args section. No unnecessary words. It is efficient but could be slightly more compact.

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

Completeness2/5

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

Given no output schema and simple parameters, the description lacks important context: it does not explain the output format (e.g., response time, packet loss) or error handling. For a diagnostic tool, this information is crucial for interpreting results.

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 description includes an Args section that adds meaning beyond the schema: it specifies that 'address' is the target host/IP with an example, and 'count' is the number of packets with a default value of 3. Since schema has no parameter descriptions, this compensates well.

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?

The description clearly states it runs a ping diagnostic from router to an address. It uses a specific verb ('Jalankan ping') and resource ('alamat'), and context implies connectivity diagnostics. However, it does not explicitly distinguish from the sibling tool 'traceroute', which has a similar purpose.

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

Usage Guidelines2/5

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

The description gives a basic usage context (connectivity diagnostics) but provides no guidance on when not to use it or alternatives. For example, it does not mention that traceroute might be preferred for path tracing or that ping may be blocked by firewalls.

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

ppp_activeA

Sesi PPP aktif (PPPoE/L2TP/PPTP/SSTP) โ€” siapa yang sedang dial-in.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose any behavioral traits beyond listing active sessions. There is no mention of authentication requirements, output format, or side effects; it merely states the obvious.

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?

The description is a single sentence that is concise and to the point, containing all necessary purpose information with no wasted words.

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

Completeness2/5

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

Given no output schema, no annotations, and the presence of sibling tools like active_sessions, the description is too minimal. It lacks details on output format, pagination, or differentiation from overlapping tools, making it incomplete for an agent to properly understand behavior.

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?

There are no parameters, and schema coverage is 100% (trivially). The description does not add parameter information, but baseline for zero parameters is 4. It does not need to compensate further.

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 clearly states the tool lists active PPP sessions (PPPoE/L2TP/PPTP/SSTP) and asks who is dialing in. It specifies the resource (active PPP sessions) and action (list), and distinguishes from siblings like ppp_secrets and ppp_profiles.

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

Usage Guidelines3/5

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

The description implies usage for checking currently connected PPP users but provides no explicit guidance on when to use this tool vs. alternatives like active_sessions. No exclusions or prerequisites are mentioned.

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

ppp_profilesC

Profil PPP (rate-limit, address pool, DNS untuk akun PPPoE/VPN).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, authentication needs, or side effects. It only lists contained attributes, missing critical operational context.

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

Conciseness4/5

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

The description is very short and front-loaded, with no wasted words. However, it sacrifices completeness for brevity.

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

Completeness2/5

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

Given no output schema and many sibling tools, the description lacks completeness. It does not explain what the tool returns, how to interpret the output, or how it differs from related tools like ppp_secrets.

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?

Input schema has 0 parameters with 100% schema description coverage. Baseline of 3 applies since the description adds no additional meaning beyond the empty schema.

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

Purpose3/5

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

The description 'Profil PPP (rate-limit, address pool, DNS untuk akun PPPoE/VPN)' indicates the tool relates to PPP profiles but does not explicitly state the action (e.g., list, get). The verb is implied but not present, making it slightly vague. However, it does clarify what attributes these profiles contain.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like ppp_secrets or ppp_active. The description does not provide context for selection among sibling tools.

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

ppp_secretsA

Daftar akun PPP (PPPoE/VPN): name, service, profile. Catatan: berisi kredensial.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

The note about credentials hints at sensitivity, but there is no disclosure of read-only behavior or authentication requirements. Since no annotations are provided, the description should compensate but fails to do so.

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?

The description is extremely concise: two short sentences. The first sentence conveys the core purpose, and the second adds a critical note. No unnecessary words.

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

Completeness3/5

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

The description lists three fields but does not specify if there are more or if there is any ordering/filtering. With no output schema, more detail would be helpful, but for a simple list tool it is minimally adequate.

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?

There are no parameters, so schema coverage is 100%. The description adds value by listing the output fields (name, service, profile), which helps the agent understand what data will be returned.

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 clearly states it lists PPP accounts (PPPoE/VPN) and specifies the fields (name, service, profile). It distinguishes itself from sibling tools like 'ppp_active' and 'ppp_profiles' by focusing on secrets/credentials.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus siblings like 'ppp_active' or 'add_ppp_secret'. The description does not mention prerequisites or context for use.

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

queue_treeC

Queue tree (pembatasan bandwidth hierarkis berbasis mark).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing behavior. It does not state whether the tool is read-only, destructive, or requires specific permissions. The term 'queue tree' implies a listing operation, but this is not confirmed, leaving the agent uncertain about side effects.

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

Conciseness3/5

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

The description is a single concise sentence, which is efficient but lacks detail. It front-loads the tool's identity but does not fully justify its existenceโ€”additional context about output or usage would improve it.

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

Completeness2/5

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

Given no output schema and no annotations, the description is the sole source of information. It fails to explain what the tool returns (e.g., list of queue trees? details?), how hierarchical bandwidth works, or how to interpret 'mark'. More completeness is needed for a standalone tool.

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 has zero parameters, so the schema already provides full coverage. Per guidelines, the baseline is 4. The description does not add parameter semantics, but none are needed as there are no inputs.

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?

The description clearly identifies the tool as managing queue trees for hierarchical bandwidth throttling based on marks, which is specific and distinguishes it from siblings like 'simple_queues'. However, it lacks a verb (e.g., 'list' or 'show'), so the action is implied rather than explicit.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description only defines what a queue tree is, not the context or conditions for using it. Sibling tools like 'simple_queues' suggest a different use case, but no explicit comparison or recommendation is given.

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

radius_serversA

Daftar server RADIUS yang dikonfigurasi (untuk AAA).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description implies read-only behavior but does not explicitly state or add any behavioral context beyond 'list'. For a simple read tool, this is minimally adequate.

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, to-the-point sentence with no extraneous words. Efficiently conveys the tool's purpose.

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 zero-parameter list tool with no output schema, the description is sufficient. It could mention that it returns all configured servers, but the purpose is clearly understood.

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?

No parameters exist, and schema coverage is 100%. The description does not need to add parameter information, meeting the baseline.

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 clearly states it lists configured RADIUS servers for AAA, using specific verb and resource. It distinguishes itself from sibling tools as the only one mentioning RADIUS servers.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention prerequisites or context, leaving the agent to infer.

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

reboot_routerA

Reboot router SEKARANG. Operasi mengganggu โ€” BUTUH MIKROCLAW_ALLOW_WRITE=true.

Koneksi ke router akan terputus sementara saat proses restart berlangsung.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description fully carries the burden of behavioral disclosure. It clearly identifies the tool as disruptive, requiring write permission, and causing temporary connection loss. This covers key behaviors for a reboot tool, though it might omit minor details like the exact duration of disruption.

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?

The description is extremely concise with two short sentences. It front-loads the action and critical requirement, and every word serves a purpose. No unnecessary fluff.

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?

Given the simplicity of the tool (no parameters, no output schema), the description provides sufficient context: what, prerequisite, and consequence. It could mention expected reboot duration or that it is an immediate action, but overall it is adequate.

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 has zero parameters, and schema coverage is 100%. According to guidelines, zero parameters earns a baseline of 4. The description does not need to add parameter information, and it does not attempt to mislead.

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 verb 'reboot' and resource 'router' are clear. The description distinctly states the tool's function, and it is the only tool among siblings that performs a router reboot, so there is no confusion.

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?

The description explicitly states that the operation requires 'MIKROCLAW_ALLOW_WRITE=true' and warns about temporary disconnection. While it does not explicitly compare to alternatives, there are no alternative reboot tools among siblings, making the guidance adequate.

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

recent_logsB

Ambil log terbaru dari RouterOS.

Args: limit: jumlah baris terakhir yang dikembalikan (default 50).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as whether the operation is read-only, potential rate limits, or output format. It only states it retrieves logs.

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?

Extremely concise with two sentences. The first sentence states the purpose, the second explains the parameter. No wasted words.

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?

Given the tool's simplicity (one optional parameter, no output schema), the description is fairly complete. It explains what it does and the parameter. However, it lacks any mention of limitations or default behavior beyond the default value.

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?

Description explains the single parameter 'limit' as the number of last lines to return, adding semantics beyond the schema. Even though schema coverage is 0%, the description adequately covers the parameter.

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?

Description clearly states it retrieves the latest logs from RouterOS. The verb 'ambil' (get) and resource 'log' are specific. However, it does not differentiate from sibling tools like system_history that may also provide log data.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it. Usage is only implied.

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

remove_address_list_entryA

Hapus entri firewall address-list berdasarkan id. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: entry_id: nilai '.id' entri; ambil dulu dari address_lists.

ParametersJSON Schema
NameRequiredDescriptionDefault
entry_idYes

TDQS

A4.5/5.0
Behavior4/5

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

Discloses the destructive nature through the word 'remove' and the required write permission. Without annotations, the description adequately conveys the operation's effect, though it could detail failure modes or side effects.

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?

Two short sentences plus a clear parameter description. No wasted words; front-loads the action and requirements.

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?

Covers the core operation and parameter source. Lacks mention of return value or success/failure behavior, but for a simple deletion tool, it is largely adequate.

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

Parameters5/5

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

Despite 0% schema description coverage, the description fully explains the single parameter entry_id: it is the '.id' value from address_lists, and how to obtain it.

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?

Clearly states 'Remove firewall address-list entry by id', specifying verb and resource. Distinguishes from sibling tools like address_lists (listing) and add_address_list_entry (adding).

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 lists required environment variable (MIKROCLAW_ALLOW_WRITE=true) and advises fetching the ID from address_lists first. Lacks explicit when-not-to-use or alternatives, but the context is clear for a removal tool.

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

rest_getA

Generic GET read-only ke path REST apa pun untuk hal yang belum punya tool khusus.

Contoh path: 'interface/wireless', 'ip/dns', 'system/clock', 'ppp/active'. Hanya membaca; tidak mengubah konfigurasi.

Args: path: path REST tanpa awalan /rest, mis. 'ip/dns'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

A4.4/5.0
Behavior4/5

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

The description states 'Hanya membaca; tidak mengubah konfigurasi' (Only reads; does not change configuration), which is a key behavioral trait. No annotations were provided, so this description carries the full burden. It lacks details on authentication or rate limits, but for a generic GET, this is sufficient.

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?

The description is concise, about four lines, with a clear structure: purpose, examples, and argument details. Every sentence adds value without redundancy.

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?

The description covers purpose, usage, and parameter format. It does not mention the return format (likely JSON), but given no output schema, it's not strictly required. It is missing some behavioral details like error handling, but for a simple GET tool, it is fairly complete.

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 description explains the 'path' parameter format ('tanpa awalan /rest, mis. ip/dns'), which adds significant meaning beyond the schema's bare definition. With 0% schema description coverage, the description compensates well.

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 clearly states it is a generic GET read-only REST path tool for items without dedicated tools, with examples like 'interface/wireless'. It distinguishes itself from sibling tools such as rest_write (write) and many specific list 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?

It explicitly says 'untuk hal yang belum punya tool khusus' (for things without a dedicated tool) and 'Hanya membaca' (read-only), providing strong guidance on when to use. It could be more explicit about avoiding use when a dedicated tool exists, but it's implied.

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

rest_writeA

Operasi write generic (PUT/PATCH/DELETE/POST). BUTUH MIKROCLAW_ALLOW_WRITE=true.

Untuk operasi lanjutan yang belum punya tool khusus. Gunakan hati-hati.

Args: method: 'PUT' (tambah), 'PATCH' (ubah by id), 'DELETE' (hapus by id), 'POST' (command). path: path REST tanpa /rest, mis. 'ip/firewall/filter' atau 'ip/firewall/filter/*5'. body: payload JSON (opsional, untuk PUT/PATCH/POST).

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
pathYes
methodYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so the description carries full burden. It adequately discloses the write nature and method effects (PUT=tambah, PATCH=ubah by id, DELETE=hapus by id, POST=command) but lacks details on error handling, idempotency, or system impact beyond the caution note.

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?

Concise and well-structured: bold header, bullet-style arg list with examples, and a cautionary note. Every sentence is informative with no wasted words.

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

Completeness3/5

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

No output schema, so missing return value information. Lacks details on error responses and authentication beyond the env variable. For a generic write tool, it covers usage but not outcomes, which is a moderate gap.

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

Parameters5/5

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

Schema coverage is 0%, yet the description fully explains each parameter: method with allowed values and their meanings, path format with examples, and body as optional JSON. This adds significant value beyond the schema.

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?

The description clearly states the tool is for generic REST write operations (PUT/PATCH/DELETE/POST) and distinguishes itself from specific sibling tools by indicating it's for advanced operations without dedicated tools. However, it doesn't explicitly contrast with 'rest_get' or other read tools.

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?

Explicitly states the prerequisite (MIKROCLAW_ALLOW_WRITE=true) and provides clear guidance: use only when no dedicated tool exists ('operasi lanjutan yang belum punya tool khusus') and advises caution ('Gunakan hati-hati'). This effectively tells agents when to use and when not to.

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

routerboard_infoA

Info RouterBOARD: model, serial, firmware terpasang vs tersedia.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It explicitly states the tool returns information, implying a read-only operation with no side effects. This is adequate for a simple info tool.

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?

The description is a single concise sentence with no extraneous words, front-loading the key information about what the tool returns.

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 simple parameterless tool with no output schema, the description is fairly complete. It specifies the type of information returned. However, it could optionally describe the output format.

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?

There are zero parameters, so the schema provides 100% coverage. The description adds value by specifying the data fields returned (model, serial, firmware), exceeding the baseline expectation.

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 clearly states it provides RouterBOARD information including model, serial, and firmware (installed vs available). This is a specific verb+resource that distinguishes it from sibling info tools like system_health or system_resource.

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

Usage Guidelines3/5

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

The description implies usage for retrieving RouterBOARD info but does not provide explicit guidance on when to use this tool versus alternatives. No exclusions or when-not-to-use are mentioned.

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

router_usersB

Daftar user RouterOS beserta grup/hak aksesnya.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

Without annotations, the description must disclose behavioral traits. It only states the purpose but does not mention read-only nature, authentication requirements, or any side effects. Agent cannot determine safety or side effects.

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?

Single sentence that is front-loaded with the core purpose. No redundant words; highly concise.

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

Completeness2/5

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

With no output schema, the description should indicate return structure or example output. It only says 'list' without specifying fields, making it insufficient for an agent to interpret the result.

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?

Parameter count is 0, so schema coverage is 100%. Baseline 3 applies as description adds no additional parameter meaning beyond the empty schema.

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 clearly states 'list of RouterOS users along with their groups/access rights', specifying the verb (list) and resource (users). This distinguishes it from sibling tools like 'user_groups' which likely lists groups separately.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'user_groups' or 'ppp_secrets'. No context on prerequisites, limitations, or typical use cases.

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

routing_tableC

Tabel routing IP (route aktif & statis).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

The description only discloses that the tool returns both active and static routes. Without annotations, it fails to mention read-only nature, required privileges, or any side effects, leaving essential behavioral traits unknown.

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

Conciseness4/5

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

The description is extremely concise, consisting of a single sentence. While front-loaded with key information, it could be slightly restructured to include a verb for better clarity.

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

Completeness3/5

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

Given zero parameters and no output schema, the description is minimally complete for a simple list tool. However, it does not specify whether it returns IPv4 only or includes IPv6, which is ambiguous given sibling 'ipv6_routes'.

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?

There are no parameters, so schema coverage is 100% trivially. The description adds no parameter information since none exist, meeting the baseline expectation.

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?

The description 'IP routing table (active & static)' clearly identifies the resource and its scope, making the tool's purpose clear. However, it lacks a verb like 'list' or 'show', which is common for retrieval tools, reducing absolute clarity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus sibling tools like 'add_static_route' or 'ipv6_routes'. The description never mentions alternatives or exclusions.

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

schedulersA

Daftar scheduler (tugas terjadwal RouterOS).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It indicates a read operation (list) but adds no additional behavioral traits such as permissions, rate limits, or pagination. Adequate for a simple list tool.

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

Conciseness4/5

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

Description is a single clear sentence that front-loads the action and resource. It is concise but could be slightly more informative about what the list contains.

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 parameterless list tool, the description is complete enough. With no output schema, the agent can infer it returns a list of schedulers. However, given many sibling tools, a brief note on typical use might be beneficial.

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?

Input schema has no parameters, and schema description coverage is 100%. Description adds no parameter information because none exist. Baseline 3 applies due to high coverage.

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?

Description uses specific verb 'Daftar' (List) and resource 'scheduler' with clarifying context 'tugas terjadwal RouterOS' (scheduled RouterOS tasks). This clearly distinguishes it from sibling list tools for other resources.

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

Usage Guidelines3/5

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

The description implies usage for listing schedulers but provides no explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned, which would be helpful given many sibling list tools.

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

scriptsA

Daftar script tersimpan di RouterOS.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations exist, so the description must convey behavior. It implies a read-only listing, but doesn't explicitly state no side effects, permissions required, or output structure. Minimal but adequate for a simple operation.

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?

Single sentence, no unnecessary words. Appropriately sized for a tool with no parameters and straightforward purpose.

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

Completeness2/5

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

No output schema exists, so description should describe return format. It only states 'list stored scripts' without detailing output fields (e.g., name, source, etc.). Incomplete for an agent to fully understand what it returns.

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 input schema has zero parameters, so schema coverage is 100%. The description does not need to add parameter details, and baseline is 4 for no parameters. No extra meaning needed.

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?

The description 'Daftar script tersimpan di RouterOS' clearly indicates listing stored scripts, distinguishing it from other list tools like address_lists or arp_table. However, it lacks explicit verb-resource structure in English but is unambiguous in context.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. Usage is implied for retrieving saved scripts, but no when-not or alternative tool references are provided.

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

set_dns_serversB

Set server DNS upstream router. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: servers: daftar IP dipisah koma, mis. '1.1.1.1,8.8.8.8'. allow_remote_requests: (opsional) jadikan router sebagai DNS resolver LAN.

ParametersJSON Schema
NameRequiredDescriptionDefault
serversYes
allow_remote_requestsNo

TDQS

B3.2/5.0
Behavior3/5

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

Without annotations, the description carries full burden and does disclose the write authorization requirement. However, it lacks details on whether the change is immediate, persistent, or requires a reboot, which are typical behavioral traits for a router configuration tool.

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

Conciseness3/5

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

The description is short but grammatically awkward ('Set server DNS upstream router') and mixes languages. It covers essentials but could be more polished and front-loaded with the main action.

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

Completeness3/5

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

Given no annotations, no output schema, and 2 parameters, the description explains the parameters and a prerequisite. However, it misses behavioral context (e.g., what happens to existing DNS servers, immediate persistence). Adequate but not complete for a configuration tool.

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?

With 0% schema description coverage, the description adds valuable meaning: it gives format and example for 'servers' and explains the purpose of 'allow_remote_requests' (making the router a LAN DNS resolver). This goes significantly beyond the raw schema.

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?

The description states 'Set server DNS upstream router', clearly indicating it configures the upstream DNS servers. However, it does not explicitly distinguish from sibling tools like dns_settings or dns_static, making the purpose slightly less sharp.

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

Usage Guidelines2/5

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

The description only specifies a prerequisite environment variable (BUTUH MIKROCLAW_ALLOW_WRITE=true) but provides no guidance on when to use this tool versus alternatives like dns_settings or add_dns_static.

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

set_firewall_rule_enabledA

Aktif/nonaktifkan satu aturan firewall filter. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: rule_id: nilai '.id' aturan (mis. '*5'). enabled: True mengaktifkan, False menonaktifkan.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledYes
rule_idYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states the permission requirement and the toggle nature but does not disclose side effects (e.g., immediate effect, reversibility, or state persistence). The description lacks behavioral details beyond the basic action.

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

Conciseness4/5

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

The description is concise with only two lines of prose plus a well-structured argument list. Every sentence earns its place, though it could be slightly more front-loaded by moving the permission requirement to the end.

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

Completeness3/5

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

Given no output schema and low complexity, the description covers the essential action and arguments. However, it lacks information about return values, error handling (e.g., invalid rule_id), and the tool's effect on the system's state beyond the immediate change.

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

Parameters5/5

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

Schema coverage is 0%, so the description must explain parameters. It fully explains both `rule_id` (with example '*5') and `enabled` (true=enable, false=disable), adding clear meaning beyond the schema's minimal title and type.

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 clearly states the action (enable/disable) and the resource (a single firewall filter rule) in both Indonesian and English. It distinguishes from sibling tools like delete_firewall_rule and set_interface_enabled by specifying the exact operation and scope ('satu aturan firewall filter').

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

Usage Guidelines3/5

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

The description mentions a prerequisite (MIKROCLAW_ALLOW_WRITE=true) and explains the required arguments, but it does not provide guidance on when to use this tool instead of alternatives (e.g., delete or create). Usage context is implied rather than explicit.

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

set_identityA

Ganti nama/identitas router. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: name: nama baru perangkat.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states it changes name and requires write permission. Does not disclose whether change is immediate, persistent, or has side effects. Minimal transparency.

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?

Extremely concise: two sentences plus parameter list. Purpose front-loaded. No wasted words.

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

Completeness3/5

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

For a simple single-parameter tool with no output schema, the description is adequate. However, it lacks details on effect timing, rollback, or what happens if invalid name is provided. Could be more complete.

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 0%, so description must compensate. Adds meaning for 'name' as 'nama baru perangkat' (new device name), but could be more explicit (e.g., string format). Adequate but not rich.

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?

Clearly states the tool changes the router name/identity (Ganti nama/identitas router). Specific verb+resource, distinguishes from siblings like system_identity (read) and other set_* tools.

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

Usage Guidelines3/5

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

Mentions prerequisite MIKROCLAW_ALLOW_WRITE=true, but no explicit when-to-use or when-not-to-use. Does not name alternatives like system_identity for reading.

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

set_interface_enabledA

Aktif/nonaktifkan sebuah interface. BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: interface_id: id internal RouterOS (".id", mis. '*1') atau nama interface. enabled: True untuk mengaktifkan, False untuk menonaktifkan.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledYes
interface_idYes

TDQS

A4.4/5.0
Behavior4/5

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

Without annotations, the description carries the full burden of behavioral disclosure. It clearly indicates that the tool requires write permission and performs an enable/disable action. However, it does not describe error handling or the impact of changing the state.

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?

The description is very concise: one sentence for purpose, one for requirement, then parameter details. It front-loads the key action and requirement, making it easy to scan.

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?

For a simple 2-parameter mutation tool with no output schema, the description covers purpose, prerequisite, and parameter semantics adequately. No additional context is necessary for effective invocation.

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

Parameters5/5

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

The description adds substantial meaning to the parameters: interface_id can be an internal id (e.g., '*1') or interface name, and enabled is explicitly mapped to True/False for enable/disable. This compensates for the 0% schema description coverage.

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 clearly states 'Aktif/nonaktifkan sebuah interface' (enable/disable an interface), which is a specific verb-resource pair that distinctly identifies the tool's purpose among siblings like set_firewall_rule_enabled.

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

Usage Guidelines3/5

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

The description mentions the prerequisite 'BUTUH MIKROCLAW_ALLOW_WRITE=true' but does not provide explicit guidance on when to use this tool over alternatives or when not to use it. Usage is implied by the tool name.

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

set_ip_service_enabledA

Aktif/nonaktifkan sebuah IP service (mis. matikan telnet/ftp). BUTUH MIKROCLAW_ALLOW_WRITE=true.

Args: service_id: '.id' atau nama service (mis. 'telnet'); lihat ip_services. enabled: True mengaktifkan, False menonaktifkan.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledYes
service_idYes

TDQS

A4.6/5.0
Behavior4/5

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

The description discloses the tool's state-changing nature and required write permission. No annotations exist, but the description adequately conveys the behavioral impact without hidden side effects.

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?

The description is extremely concise, with two sentences plus parameter formatting. No unnecessary words, and the main action is front-loaded.

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?

For a simple tool with two required params and no output schema, the description covers all essential aspects: purpose, parameters, precondition. No gaps remain for effective use.

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

Parameters5/5

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

The description adds significant meaning beyond the schema: 'service_id' is explained as '.id or name' with reference to 'ip_services', and 'enabled' is clearly defined as True/False action. Schema coverage was 0%, so this is highly valuable.

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 clearly states the verb 'enable/disable' and resource 'IP service' with an example (telnet/ftp). It distinguishes itself from read-only siblings like 'ip_services' by indicating a write operation.

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?

The description provides a clear use case (enable/disable IP service) and a prerequisite (MIKROCLAW_ALLOW_WRITE=true). However, it does not explicitly mention alternative tools for list-only operations.

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

simple_queuesB

Daftar simple queue โ€” pembatasan bandwidth per IP/target.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states the tool lists queues but does not mention that it is a read-only operation, what data is returned, or any side effects. The description is too sparse to convey behavioral traits beyond the basic action.

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?

The description is a single sentence that immediately conveys the purpose. It is front-loaded with the verb and resource, and there is no extraneous information. Every word earns its place.

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

Completeness3/5

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

For a simple list tool with no parameters and no output schema, the description provides minimal context. It explains what simple queues are but does not describe the output format or any additional details that would help an agent interpret the results. It is adequate but not thorough.

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 input schema has no parameters, and schema description coverage is 100%. Since there are 0 parameters, no additional parameter info is needed. The description appropriately says nothing about parameters. Baseline 4 applies.

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?

The description clearly states the tool lists simple queues and explains what a simple queue does (bandwidth limitation per IP/target). The verb 'Daftar' (list) and resource 'simple queue' are specific. However, it does not distinguish itself from siblings like 'queue_tree' or 'add_simple_queue', so it loses one point for lack of differentiation.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description does not indicate when to use this tool versus related tools such as 'add_simple_queue' or 'queue_tree'. There is no mention of context, prerequisites, or alternatives, making it hard for an agent to select the correct tool.

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

system_healthA

Sensor perangkat keras: suhu, tegangan, kipas (jika didukung board).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations; description mentions sensor reading but does not state it is read-only, safe, or any permission requirements. Return format not described.

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?

Single, front-loaded sentence with no wasted words. Efficient.

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

Completeness3/5

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

Adequate for a simple sensor tool with no parameters, but lacks details on return values or behavior. Could mention typical output.

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?

No parameters; schema coverage 100%. Baseline 4 applies as description adds nothing needed beyond schema.

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?

Description clearly states it reads hardware sensors (temperature, voltage, fan) with board support caveat. Distinguishes from system management siblings like system_resource.

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

Usage Guidelines3/5

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

Implied use for hardware health monitoring, but no explicit when/when-not or comparison with siblings like system_resource or system_history.

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

system_historyA

Riwayat perubahan konfigurasi yang dapat di-undo (/system/history).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It only states the tool shows history that can be undone, but does not disclose whether it is read-only, requires specific permissions, or any side effects. More detail would improve transparency.

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?

The description is a single, clear sentence. It is concise and front-loaded with essential information. No unnecessary words.

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?

Given no parameters, no output schema, and no annotations, the description is adequate for a simple listing tool. It provides the core functionality. However, mentioning that it is read-only or listing example output would improve completeness.

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?

There are zero parameters, and schema coverage is 100%. The description adds meaning by explaining the tool's purpose, which is beneficial even though no parameter documentation is needed. Baseline for 0 parameters is 4.

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 clearly states 'Riwayat perubahan konfigurasi yang dapat di-undo (/system/history)' which identifies the tool as returning configuration change history that can be undone. It specifies the resource and distinguishes it from siblings like 'recent_logs' which show recent logs, not configuration history.

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

Usage Guidelines3/5

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

The description implies usage for viewing undoable configuration changes but provides no explicit guidance on when to use this tool versus alternatives such as 'recent_logs' or 'system_health'. There is no mention of prerequisites or conditions.

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

system_identityA

Nama/identitas perangkat RouterOS.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It states the tool returns the device identity, implying a read operation. However, it does not explicitly state it is read-only or disclose any potential side effects.

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?

The description is a single, succinct sentence with no unnecessary words. It is front-loaded and to the point.

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?

Given no input parameters and no output schema, the description provides the essential information about the tool's purpose. It is minimally sufficient, though it could clarify the return format.

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?

With zero parameters, the description does not need to add parameter details. The baseline score of 4 applies as no parameter explanation is necessary.

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?

The description states the tool is about the device name/identity, which is clear. However, it lacks a verb like 'get' or 'retrieve', but the resource is clearly identified. It is distinct from the sibling 'set_identity'.

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

Usage Guidelines2/5

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

No guidance provided on when or why to use this tool versus alternatives like 'set_identity'. The description does not specify context or when not to use it.

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

system_licenseA

Info lisensi (level/CHR) perangkat.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It only states 'Info' implying read-only, but does not explicitly disclose that the tool is non-destructive or any other behavioral traits.

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?

Extremely concise single sentence with no wasted words. It fronts the purpose and is appropriately sized for a tool with no parameters.

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

Completeness3/5

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

For a simple tool with no parameters and no output schema, the description adequately conveys the purpose. However, it does not explain what 'level/CHR' means or return format, which could be improved.

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 has no parameters, so baseline is 4. The description adds value by clarifying that the license info includes level/CHR, providing context beyond the empty schema.

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 clearly states 'Info lisensi (level/CHR) perangkat', which translates to 'License info (level/CHR) device'. It specifies the resource (license) and the verb (info), and distinguishes from siblings like system_health or system_resource.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description does not mention context, prerequisites, or comparisons to other system tools.

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

system_packagesC

Paket RouterOS terpasang (nama, versi, enabled/disabled).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It implies a read-only listing but does not confirm safety, disclose required permissions, output format, pagination, or any side effects. For a tool with no annotations, minimal behavioral information is given.

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

Conciseness3/5

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

The description is very short (one line), but it is written in Indonesian while the tool name and system are presumably English, reducing clarity. It is concise in length but not in communicative effectiveness, as it lacks a verb and proper structure.

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

Completeness3/5

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

Given no parameters, no output schema, and no annotations, the description is the sole source. It barely covers the resource and fields but does not clarify the action (list/get), return type, or any usage constraints. It is minimally complete for a simple listing tool but leaves significant gaps.

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 input schema has 0 parameters, so schema coverage is vacuously 100%. Per guidelines, zero parameters baseline is 4. The description does not need to add parameter information; it only states the fields returned, which is sufficient.

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

Purpose2/5

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

The description is a noun phrase in Indonesian ('RouterOS installed packages (name, version, enabled/disabled)') rather than an actionable statement. It lacks a verb like 'list' or 'get', making the tool's purpose ambiguous. The name 'system_packages' helps but does not substitute for a clear verb+resource statement.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives. There are many sibling list tools (e.g., address_lists, dns_static) but no differentiation. The description does not mention prerequisites, context, or exclusions.

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

system_resourceA

Info sistem: versi RouterOS, CPU, memori, uptime, board, arsitektur.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided. The description implies a read-only operation ('Info') but does not explicitly state that it is non-destructive, requires no authentication, or other behavioral traits. For a tool with no parameters, the risk is low, but transparency is insufficient.

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?

The description is a single sentence that immediately conveys the purpose and lists key attributes. It is concise, front-loaded, and contains no wasted words.

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?

Given zero parameters and no output schema, the description covers the main purpose adequately. It lists the system details that will be returned. However, it could mention that the tool is read-only or safe to call anytime.

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?

There are no parameters, so the description does not need to add detail beyond the schema. Baseline score of 4 is appropriate as the description already conveys the output scope.

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 clearly states it provides system information including specific attributes like RouterOS version, CPU, memory, uptime, board, and architecture. This is a specific verb-resource combination that distinguishes it from sibling tools like system_health (health stats) or system_identity (identity only).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description does not mention exclusions or preferred contexts. With many sibling tools, a user would benefit from knowing that this tool returns general system info, while others like system_health or system_identity are more targeted.

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

tracerouteB

Traceroute dari router ke sebuah alamat (jejak hop). Bisa makan beberapa detik.

Args: address: host/IP tujuan, mis. '1.1.1.1'. count: jumlah probe per putaran sebelum berhenti (default 3).

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo
addressYes

TDQS

B3.2/5.0
Behavior2/5

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

The description mentions it can take several seconds, providing a basic behavioral warning. However, with no annotations, it does not disclose whether it modifies state, requires special permissions, or what happens on failure/timeout.

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?

Extremely concise: one line for purpose and time cost, then two lines for parameters. No wasted words, well-structured for quick reading.

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

Completeness3/5

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

Adequate for a simple tool with two parameters, but missing output description (no output schema). The description does not indicate what the tool returns or how to interpret results, which is important for a diagnostic tool.

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 0%, so the description compensates well by explaining both parameters: address (host/IP with example) and count (number of probes with default). This adds meaning beyond the schema's type and title.

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?

Description clearly states the tool performs traceroute from router to address, mentioning hop trace and time cost. It uses the verb 'traceroute' and provides an example. However, it does not explicitly differentiate from sibling tools like ping, leaving some ambiguity.

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

Usage Guidelines2/5

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

No guidance on when to use traceroute versus alternatives such as ping or other network diagnostic tools. The description does not mention prerequisites, contexts, or when not to use it.

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

user_groupsB

Grup hak akses RouterOS beserta policy-nya (audit keamanan).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It states the tool is for security audit of groups/policies but doesn't disclose read-only nature, permissions, or other behavioral traits. Adequate but not detailed.

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

Conciseness4/5

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

Single sentence, concise and front-loaded. Every word earns its place, though could be slightly more structured.

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

Completeness3/5

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

No output schema and zero parameters. Description implies it returns groups and policies but doesn't explicitly state it lists them or describe return format. Adequate but leaves room for ambiguity.

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?

Zero parameters and schema coverage 100% (by default). Description doesn't need to add parameter info; baseline of 4 is appropriate.

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?

Description specifies it covers RouterOS access groups and their policies for security audit. Clear verb+resource, but doesn't explicitly differentiate from similar sibling tools like 'router_users'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. The phrase 'audit keamanan' hints at security context but no explicit when/when-not or alternatives.

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

vlansA

Daftar interface VLAN beserta vlan-id & interface induk.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It describes a list operation without indicating any behavioral traits (e.g., read-only, no side effects). For a simple listing tool, this is adequate but minimal.

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?

The description is a single, efficient sentence that conveys the tool's purpose without any waste. It is front-loaded and to the point.

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?

The description is complete for a tool with no parameters and no output schema. It states the action and the data returned. There are no missing details given the simplicity of the tool.

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 has zero parameters, so schema coverage is 100% (empty). The description adds value by specifying what information is returned (vlan-id & parent interface), which goes beyond the empty schema. Baseline for 0 params is 4.

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 clearly states it lists VLAN interfaces with vlan-id and parent interface ('Daftar interface VLAN beserta vlan-id & interface induk.'). This specific verb-resource pair distinguishes it from sibling tools like 'list_interfaces' or 'bridge_ports'.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool vs alternatives. The context of listing VLAN interfaces is implied by the name and description, but no when-not or alternative tool mentions are provided.

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

wifi_interfacesB

Daftar interface WiFi. Auto-deteksi wifiwave2 (/interface/wifi) atau legacy (/interface/wireless).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

The behavior of auto-detecting the API path is disclosed, which is a key trait. However, no annotations are provided, and the description does not cover error cases, performance, or the effect of the operation (though likely read-only).

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 sentence that is concise and front-loaded. Every word adds value; no waste.

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

Completeness3/5

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

For a simple list tool with no parameters and no output schema, the description is adequate but lacks details on the return structure or fields. Sibling tools suggest other WiFi-related tools exist, but no cross-referencing is provided.

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?

No parameters exist, so the description does not need to add meaning beyond the schema. Baseline 4 for zero parameters is appropriate.

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?

Clearly states it lists WiFi interfaces and mentions auto-detection between wifiwave2 and legacy. The name and description make the purpose clear, but it does not explicitly differentiate from sibling tools like list_interfaces or wifi_radios.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., list_interfaces for all interfaces, wifi_radios for radios). The description only states what it does, not when to use it.

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

wifi_radiosA

Daftar radio WiFi fisik (wifiwave2).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not disclose whether the tool is read-only, requires permissions, or any side effects. However, given the tool's simplicity (listing), the missing information is less critical.

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?

The description is a single concise sentence, front-loading the essential information. Every word serves a purpose, and there is no waste.

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

Completeness3/5

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

Given no output schema and no parameters, the description is adequate but lacks details about the return format or any constraints. It is minimally complete for a simple list operation.

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 has no parameters, so the baseline is 4. The description does not need to add parameter details, and it correctly summarizes the tool's action without redundancy.

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 clearly states the tool's purpose: listing physical WiFi radios, specifically wifiwave2. It is a specific verb-resource combination that distinguishes it from siblings like wifi_interfaces and wifi_registrations.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., wifi_interfaces). The description does not mention any context or exclusions, leaving the agent without decision support.

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

wifi_registrationsA

Klien WiFi yang sedang terhubung (registration table). Auto wifiwave2/legacy.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose all behavioral traits. It mentions auto-detection of wifiwave2/legacy, which is helpful, but lacks details on permissions, caching, or whether the table is real-time.

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?

Two sentences, front-loaded with the main purpose, and a second sentence adding a key detail. No unnecessary words.

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 zero-parameter tool with no output schema, the description is largely complete: it identifies what data is returned (registration table of connected WiFi clients). However, it could be improved by mentioning typical fields like MAC address or signal strength.

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?

Since there are no parameters (0), the description adds value by explaining the tool's purpose and auto-detection behavior, going beyond the empty schema. Baseline for 0 params is 4.

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 clearly states it lists currently connected WiFi clients from the registration table, with auto-detection of wifiwave2/legacy. This specific verb+resource combination distinguishes it from siblings like capsman_registrations or hotspot_active.

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

Usage Guidelines3/5

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

No explicit when-to-use or alternatives are given. The description implies it is for WiFi client connections, but does not exclude cases where other tools might be more appropriate, such as dhcp_leases for DHCP-based clients.

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

wireguard_interfacesA

Daftar interface WireGuard (VPN) beserta public key & listen-port.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Description indicates a read-only listing but does not disclose details like ordering, pagination, or other returned fields. No annotations to contradict.

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?

Single, front-loaded sentence with no wasted words, effectively conveying the tool's purpose.

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

Completeness2/5

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

Lacks details about the full set of returned fields; only mentions public key and listen port, but likely more data is returned. No output schema to compensate.

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?

No parameters exist, and schema coverage is 100%. Description adds no parameter information beyond that.

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 clearly states it lists WireGuard interfaces along with public key and listen port, distinguishing it from generic list_interfaces and specific wireguard_peers.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives; usage is implied but not stated.

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

wireguard_peersA

Daftar peer WireGuard beserta allowed-address & handshake terakhir.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states the tool returns peer data (list with allowed-address and handshake), which is adequate for a read-only listing tool. However, it does not explicitly confirm it is read-only or mention any side effects.

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?

The description is a single sentence that is front-loaded and economical. Every word contributes to understanding.

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?

Given no parameters and no output schema, the description is mostly complete. It specifies what data is returned (list of peers with allowed-address and handshake). Minor gap: does not specify whether the list is all peers or filtered; but that is likely clear from context.

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 has zero parameters, and the schema coverage is 100% (empty schema). The description adds no parameter info, but none is needed. Baseline for 0 parameters is 4.

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 clearly specifies the action (listing) and resource (WireGuard peers), and includes key details (allowed-address & last handshake). It effectively distinguishes from sibling tools like 'add_wireguard_peer' which adds a peer.

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

Usage Guidelines3/5

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

The description implies usage for retrieving peer information, but lacks explicit guidance on when to use this tool versus alternatives like 'wireguard_interfaces'. No when-not-to-use or context is provided.

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. Dates show when Glama detected each change.

  1. 92 tool updatesv0.1.0
    • First observedactive_sessions
    • First observedadd_address_list_entry
    • First observedadd_dns_static
    • First observedadd_firewall_drop
    • First observedadd_hotspot_user
    • First observedadd_ipv6_address
    • First observedadd_nat_rule
    • First observedadd_ppp_secret
    • First observedadd_simple_queue
    • First observedadd_static_dhcp_lease
    • First observedadd_static_route
    • First observedadd_wireguard_peer
    • First observedaddress_lists
    • First observedarp_table
    • First observedassign_ip_address
    • First observedbgp_sessions
    • First observedbridge_hosts
    • First observedbridge_ports
    • First observedcapsman_registrations
    • First observedcapsman_remote_caps
    • First observedcertificates
    • First observedcheck_for_updates
    • First observedcreate_backup
    • First observeddelete_firewall_rule
    • First observeddhcp_client
    • First observeddhcp_leases
    • First observeddhcp_networks
    • First observeddhcp_servers
    • First observeddns_cache
    • First observeddns_settings
    • First observeddns_static
    • First observedethernet_ports
    • First observedfirewall_connections
    • First observedfirewall_filter_rules
    • First observedfirewall_mangle
    • First observedfirewall_nat_rules
    • First observedhotspot_active
    • First observedhotspot_servers
    • First observedhotspot_users
    • First observedinterface_traffic_live
    • First observedip_cloud
    • First observedip_pools
    • First observedip_services
    • First observedipsec_active_peers
    • First observedipsec_peers
    • First observedipv6_addresses
    • First observedipv6_firewall_filter
    • First observedipv6_neighbors
    • First observedipv6_routes
    • First observedlist_files
    • First observedlist_interfaces
    • First observedlist_ip_addresses
    • First observedneighbors
    • First observednetwatch
    • First observedntp_client
    • First observedospf_neighbors
    • First observedping
    • First observedppp_active
    • First observedppp_profiles
    • First observedppp_secrets
    • First observedqueue_tree
    • First observedradius_servers
    • First observedreboot_router
    • First observedrecent_logs
    • First observedremove_address_list_entry
    • First observedrest_get
    • First observedrest_write
    • First observedrouter_users
    • First observedrouterboard_info
    • First observedrouting_table
    • First observedschedulers
    • First observedscripts
    • First observedset_dns_servers
    • First observedset_firewall_rule_enabled
    • First observedset_identity
    • First observedset_interface_enabled
    • First observedset_ip_service_enabled
    • First observedsimple_queues
    • First observedsystem_health
    • First observedsystem_history
    • First observedsystem_identity
    • First observedsystem_license
    • First observedsystem_packages
    • First observedsystem_resource
    • First observedtraceroute
    • First observeduser_groups
    • First observedvlans
    • First observedwifi_interfaces
    • First observedwifi_radios
    • First observedwifi_registrations
    • First observedwireguard_interfaces
    • First observedwireguard_peers

TDQS

B3.3/5.0
Disambiguation5/5

Each tool targets a specific resource or action, with clear, distinct names. For example, add_dns_static, add_static_dhcp_lease, and delete_firewall_rule are unambiguous. Even generic rest_get/rest_write are clearly labeled for fallback use.

Naming Consistency5/5

Tool names follow a consistent verb_noun pattern for actions (e.g., add_address_list_entry, set_identity) and simple nouns for data retrieval (e.g., arp_table, dhcp_leases). The naming is uniform with snake_case throughout.

Tool Count2/5

With 92 tools, the set is extremely large for a single server. While the scope of RouterOS management justifies many tools, this count is far above the typical well-scoped range and may overwhelm agents.

Completeness4/5

The tool set covers most major RouterOS domains (firewall, DHCP, DNS, routing, VPN, hotspot, WiFi, system management, diagnostics) with dedicated tools. Minor gaps exist, such as missing tools for BGP configuration or DHCP lease deletion, but these can be addressed via rest_write.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A generic MCP server that dynamically converts OpenAPI-defined REST APIs into tools for LLMs like Claude. It supports multiple authentication methods and transport protocols, enabling seamless interaction with any OpenAPI-compliant API.
    21
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server providing Claude Code with full UniFi network management capabilities -- devices, clients, ports, bandwidth auditing, firewall policies, and traffic rules -- all through natural language.
    47
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for interacting with iKuai routers, enabling Claude to query system status, manage devices, and configure router settings via natural language.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Syamsuddin/MikroCLAW'

If you have feedback or need assistance with the MCP directory API, please join our Discord server