Skip to main content
Glama

tplink-router-mcp

TP-Link ルータ用の MCP サーバ。Claude Code 等から stdio で起動する想定。 軽量 API 直結型 (tplinkrouterc6u 利用、Playwright 不要)。 開発と実機確認は Archer AX11000 V1 で行っていますが、他の TP-Link ルータでも使えます (下記「対応機種」)。

実機確認: GET http://192.168.0.1/ → /webpages/index.html (gaming テーマ、tpEncrypt.js 系)。

対応機種

ルータとの通信には tplinkrouterc6u を使っています。 接続時に TplinkRouterProvider.get_client が機種を自動判定するため、機種ごとの設定は要りません。 このライブラリがサポートする機種 (Archer AX / BE / C / MR / VR シリーズ、Deco、MERCUSYS など 100 機種以上) なら、基本的にこの MCP サーバで操作できます。 サポート機種の一覧は tplinkrouterc6u の README の「Supported routers」 を参照してください。

ただし、使えるツールは機種 (ライブラリ内部のクライアント実装) によって異なります。以下は tplinkrouterc6u 5.35.0 の実装から確認した範囲です。

ツール

対応範囲

router_overview, list_devices, get_firmware, get_ipv4_status, set_wifi, reboot_router

ほぼ全機種

get_dhcp_leases, list_reservations

Archer AX/C 系など一部の機種

raw_request

Archer AX/C 系、Deco など一部の機種

get_mesh_nodes

Archer AX/C 系 (EasyMesh 対応機)、Deco

get_wifi, add_reservation, delete_reservation

Archer AX/C 系 (C6U 系クライアント) のみ

  • 未対応の機種でツールを呼んでも止まりません。supported: false やエラーメッセージを返します

  • Wi-Fi のバンドは機種によって存在しないものがあります (例: 6GHz は Wi-Fi 6E / 7 対応機のみ)

  • トライバンド機 (AX11000 など) の 2 つ目の 5GHz バンド (wireless_5g_2) は tplinkrouterc6u が未対応のため get_wifi / set_wifi では扱えません。読み取りは raw_request(path="admin/wireless?form=wireless_5g_2") で可能です

  • 動作を実機で確認したのは Archer AX11000 V1 だけです。他機種で試した結果は Issue で教えてもらえると助かります

  • 既定の接続先は 192.168.0.1 です。ルータの IP が異なる場合 (例: 192.168.1.1) は ROUTER_IP を設定してください

Related MCP server: omada-mcp

セットアップ

cd /path/to/tplink-router-mcp  # cloneしたディレクトリ
uv sync --group dev

認証情報はファイルに保存します。いちばん簡単なのは、clone したリポジトリ直下に .env を置く方法です (.env は .gitignore 済み)。

cp .env.example .env
# 編集: ROUTER_PASSWORD に管理画面の Local Password を設定 (TP-Link ID では不可)

変数: ROUTER_IP (既定192.168.0.1), ROUTER_USERNAME (既定admin), ROUTER_PASSWORD (必須), ROUTER_TIMEOUT (秒、最小1)

読み込む場所と優先度 (低→高):

  1. ~/.config/tplink-router-mcp/.env (リポジトリの外に置きたい場合。旧名の ~/.config/ax11000-mcp/.env も読みます)

  2. リポジトリ直下の .env

  3. $TPLINK_ENV で指定したファイル (ルータが複数あるときの切り替えなど)

  4. 環境変数

リポジトリ直下の .env は、起動時のカレントディレクトリではなく、このリポジトリの場所から探します。 Claude Code をどのプロジェクトで開いていても、そのプロジェクトの .env を誤って読むことはありません。 なお uvx などでパッケージとしてインストールした場合はリポジトリが無いため、1・3・4 だけを使います。

起動確認

uv run pytest -q
uv run ruff check . && uv run ruff format --check .
ROUTER_PASSWORD=dummy uv run tplink-router-mcp --help || echo "stdio server (helpなしは正常)"

Claude Code 登録例

{
  "mcpServers": {
    "tplink-router": {
      "command": "uv",
      "args": ["--directory", "/path/to/tplink-router-mcp", "run", "tplink-router-mcp"],
      "env": {}
    }
  }
}

認証情報は .env から読むため env は空でよい。 パスワードを直書きする場合のみ "env": {"ROUTER_PASSWORD": "..."} を追加。

ツール

参照: router_overview, list_devices, get_firmware, get_ipv4_status, get_ipv6_status, get_dhcp_leases, list_reservations, get_mesh_nodes, get_wifi, session_info, list_endpoints

変更 (confirm必須): add_reservation, delete_reservation, set_wifi, reboot_router

汎用: raw_request(path, data, operation) — syslog/無線詳細/guest 等の機種差分はこちら。 例: raw_request(path="status?form=client_status", operation="read") 戻り値の秘密値は常にマスク。read/load 以外のoperationは書き込みとみなし confirm=true が必須。 operation は operation 引数、data、path のクエリ文字列のどこで指定しても判定されます。値が矛盾する場合は拒否します。

注意:

  • ルータは同時1セッション制限。各ツールは authorize→実行→logout する

  • 全ツールの戻り値とエラーメッセージは秘密値 (パスワード / PSK / stok / sysauth 等) をマスクする。Wi-Fi 秘密値のみ get_wifi(reveal_secrets=true) で開示可能

  • add_reservation の comment は 32 文字まで。MAC アドレスは区切り文字を : か - のどちらかに揃える

  • Local Password を使うこと (TP-Link ID不可)。https を使う場合はルータ側で Local Management via HTTPS を有効化

  • 既定の接続は平文HTTP (LAN内利用想定)。ROUTER_IP に https://... を指定すればHTTPSで接続する

運用上の注意 (Claude Code の permission)

confirm=true は LLM 自身が設定する引数なので、誤操作の抑止にはなりますが、人間による承認の代わりにはなりません。 LLM が読む Web ページやリポジトリの文章、LAN 内の機器が名乗るホスト名 (list_devices の結果) に指示が紛れ込むと (プロンプトインジェクション)、それに従って書き込み系ツールを呼ぶ可能性があります。

次のツールは permissions.allow に入れず、呼び出しのたびに承認してください。

  • 書き込み系: add_reservation, delete_reservation, set_wifi, reboot_router

  • 秘密値を開示できる / 任意のエンドポイントを叩ける: get_wifi, raw_request

参照系だけを自動許可する例:

{
  "permissions": {
    "allow": [
      "mcp__tplink-router__router_overview",
      "mcp__tplink-router__list_devices",
      "mcp__tplink-router__get_firmware",
      "mcp__tplink-router__session_info",
      "mcp__tplink-router__list_endpoints"
    ]
  }
}

Available Tools

16 tools
add_reservationB

DHCP予約追加。書き換えのため confirm=true が必須。

例: add_reservation(macaddr="AA:BB:CC:DD:EE:FF", ipaddr="192.168.0.50", confirm=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
enableNo
ipaddrYes
commentNo
confirmNo
macaddrYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that this is a mutating/overwriting operation requiring confirm=true, which is meaningful safety context, but it does not state what exactly is overwritten, required permissions, or reversibility.

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?

Two short lines, front-loading the purpose and the mandatory confirm requirement, followed by a concrete call example. Efficient with no filler, though the example is somewhat redundant with the stated 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?

For a 5-parameter mutation tool with no annotations and no output schema, the description covers the essential confirm safety gate and an example call, but leaves the semantics of enable/comment and the exact overwrite behavior unexplained.

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% across 5 parameters, so the description must compensate, and it only partially does: the example clarifies macaddr and ipaddr formats and confirms that confirm is required. The enable and comment parameters get no explanation anywhere.

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 opens with a specific verb+resource ('DHCP予約追加' / add DHCP reservation), which is immediately distinguishable from siblings like list_reservations and delete_reservation. It does not explicitly name those siblings, but the action 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 Guidelines3/5

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

It states a critical precondition — confirm=true is mandatory because the operation rewrites — which is genuine usage guidance. However, it gives no when-to-use vs. alternatives context (e.g., when to reserve vs. modify an existing lease), leaving selection between siblings implied.

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

delete_reservationB

DHCP予約削除。confirm=true が必須。

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
macaddrYes

TDQS

B3.2/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 does disclose a genuine behavioral gate that the schema does not convey — that confirm=true is mandatory (the schema shows only a boolean with default false) — which is valuable for a destructive operation. However, it says nothing about irreversibility, required permissions, or what happens on failure, leaving significant gaps for a delete 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?

Two short sentences, each carrying load: the first names the action and resource, the second states the hard invocation requirement. Nothing is padded or redundant.

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?

For a destructive mutation with no annotations, no output schema, and 0% parameter coverage, the description is too thin. It omits consequences of deletion, error/edge behavior (e.g., unknown macaddr), and any auth requirements an agent would need before invoking it.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It explains the semantics of confirm (must be true, not merely defaulted), which is a real addition over the bare boolean schema, but it says nothing about macaddr formatting or behavior, leaving one of two parameters unexplained.

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 gives a specific verb (削除/delete) and resource (DHCP予約/reservation), which cleanly separates it from add_reservation and list_reservations in the sibling set. It is terse but unambiguous about what the tool does.

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?

There is no indication of when to use this tool versus the siblings (add_reservation, list_reservations) and no prerequisites or prerequisites/conditions described. The only guidance offered is the confirm=true requirement, which is an invocation constraint rather than usage context.

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

get_dhcp_leasesB

DHCPリース一覧。未対応の場合は supported=false。

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. It does disclose one useful behavior — that unsupported hardware yields supported=false — but says nothing about permissions, pagination, refresh/freshness of lease data, or the shape of a successful result.

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, front-loaded sentences with zero filler: the purpose comes first and the fallback behavior second. Everything written 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 no-arg read tool with no output schema, the description tells the agent what the call returns at a high level and flags the unsupported path, which is the essential minimum. It stops short of describing the lease fields an agent would need to interpret, so it is adequate rather than 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 tool takes zero parameters, so there is nothing for the description to disambiguate; the 100% schema coverage is trivially satisfied. Baseline 4 applies for a no-parameter tool.

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?

States a specific resource and retrieval intent ("DHCPリース一覧" = DHCP lease list), which is distinguishable from the sibling list_reservations (reservations vs. leases) and the subnet/overview tools. It is clear but never explicitly contrasts itself with those siblings.

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?

There is no when-to-use guidance, no mention of prerequisites, and no pointer to alternatives such as list_reservations for the related-but-distinct concept. The only conditional hint is the unsupported case, not a usage rule.

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

get_firmwareC

ファームウェア情報。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.1/5.0
Behavior1/5

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

アノテーションが一切提供されていないため、安全性や挙動の開示責任は完全に説明文側にありますが、記述は「ファームウェア情報。」の一言のみです。読み取り専用か、認証が必要か、ルーターへの負荷やレート制限があるか、といった挙動特性は何も開示されていません。

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

Conciseness2/5

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

短さ自体は無駄がありませんが、これは簡潔さではなく情報不足によるものです。1文の断片のみで、ツールの目的を伝える最小限の内容すら欠いています。

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?

引数なし・出力スキーマなし・アノテーションなしという最も単純な構成のツールですが、それでも返り値の概要や類似ツールとの関係を述べる余地はあります。現状の記述ではエージェントが正しく呼び出すための文脈が不足しています。

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?

パラメータ数が0であり、スキーマ記述カバレッジも100%です。ルーブリックの「0 params = baseline 4」に該当し、説明文が補うべきパラメータ情報は存在しません。

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?

「ファームウェア情報。」は名詞句のみで動詞がなく、ツール名 get_firmware をほぼ言い換えているだけです。取得対象がファームウェアであることは分かりますが、どの情報(バージョン、更新状況、ビルド日時など)を返すのか、兄弟ツールの router_overview や get_ipv4_status とどう異なるのかは示されていません。

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?

いつ使うべきか、いつ使うべきでないか、代替ツールは何かについて一切の記述がありません。パラメータが0個の単純な読み取り系であることはスキーマから推測できますが、16個の兄弟ツールの中からこれを選ぶ判断材料は説明文からは得られません。

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

get_ipv4_statusC

WAN/LAN IPv4 状態。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.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 carries the full behavioral burden, and it discloses almost nothing: no statement that this is a read-only/non-destructive query, no indication of whether it is the router's WAN address, the LAN address, or both, and no mention of any side effects. With zero annotation coverage, this is a significant gap even for a safe-looking status call.

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?

A single terse phrase with no padding, and the resource scope is front-loaded. It is arguably too short rather than too long, so it does not lose points for verbosity.

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 give the agent some idea of what comes back (WAN IP, LAN IP, subnet, gateway, protocol state), but it says only "WAN/LAN IPv4 状態." Combined with no annotations, an agent cannot tell what fields or which interface's data 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?

The input schema declares zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description does not introduce any parameter-like concepts, which is consistent with the 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 phrase "WAN/LAN IPv4 状態" names a resource and a scope (WAN and LAN IPv4 state), which is more than the bare name conveys, but it is a noun phrase with no verb and no explicit statement of what is being retrieved or reported. It does implicitly contrast with the sibling get_ipv6_status, but never says so.

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?

There is no guidance on when to call this versus get_ipv6_status, router_overview, or raw_request, and no conditions or prerequisites are stated. The agent must infer from the name alone that this retrieves current IPv4 addressing information.

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

get_ipv6_statusB

IPv6 WAN 状態。未対応の場合は supported=false。

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 provided, so the description carries the full behavioral burden. It discloses one output behavior (supported=false when IPv6 is unsupported), which is useful, but says nothing about read-only nature beyond the 'get' name, auth requirements, or the rest of the response shape.

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?

Two short sentences, front-loaded with the purpose followed by the edge-case behavior. Nothing is wasted, though the extreme terseness leaves the tool under-explained rather than maximally 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 a simple zero-param read tool with no output schema and no annotations, the description only hints at a single return field ('supported'). It is minimal but just enough for an agent to know what the call returns at a high level.

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

Parameters4/5

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

The tool takes zero parameters, and the description offers no parameter information, which is the expected baseline for a no-arg tool.

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 names a specific verb+resource ('IPv6 WAN 状態' / IPv6 WAN status), which is clearly distinct from other status-returning siblings. However, it does not explicitly differentiate itself from get_ipv4_status or router_overview, so an agent must infer the split.

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?

There is no statement of when to use this tool versus get_ipv4_status or router_overview, and no prerequisites or exclusions given. The agent is left to infer usage purely from the name.

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

get_mesh_nodesC

EasyMeshノード一覧。

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 carries the full behavioral burden, and it discloses nothing: no indication that the operation is read-only, no auth requirements, no note on whether mesh data is unavailable when EasyMesh is disabled. For a no-annotation tool this is a substantial gap, though the trivial no-arg read nature limits the damage.

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?

It is a single, front-loaded phrase with no waste, which is good, but this level of brevity crosses into under-specification rather than disciplined conciseness. A slightly longer sentence could have carried usage and scope without bloat.

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?

For a simple no-arg, no-output-schema list tool the bar is low, but the description still omits what a mesh node record contains and how it differs from the device lists offered by siblings. An agent gets no help deciding between list_devices and this 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 schema has zero parameters, so there is nothing for the description to document. Baseline 4 applies; no parameter semantics are missing.

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 phrase "EasyMeshノード一覧" identifies the resource (EasyMesh nodes) and implies a list operation, so the basic purpose is inferable. However, it never states a verb explicitly and gives no basis for distinguishing it from siblings like list_devices or list_endpoints, which an agent could easily confuse it with.

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?

There is no guidance on when to call this tool versus alternatives such as list_devices or router_overview. The description offers no context, prerequisites, or exclusion criteria, leaving routing entirely to inference.

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

get_wifiA

指定バンドのWi-Fi設定。band: 2g/5g/6g/guest_2g/... 秘密値は既定マスク。

例: get_wifi(band="5g"), get_wifi(band="guest_2g", reveal_secrets=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
bandNo5g
reveal_secretsNo

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. It does disclose one genuinely important behavior — secret values are masked by default and reveal_secrets=True unmasks them — but says nothing about auth requirements, read-only safety, or what the response contains. Useful but partial 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?

Extremely compact and front-loaded: purpose first, then band values, then the masking default, then two concrete examples. No filler sentences; every clause carries information.

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 2-parameter, no-annotation, no-output-schema getter, the description covers the key unknowns (band vocabulary, secret masking). Only auth/permission context and a hint at the returned settings shape are missing, which are minor given no output schema exists.

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% and there are no enums in the schema, so the description must compensate — and it does: it enumerates band values (2g/5g/6g/guest_2g/...) and explains reveal_secrets' masking default. This is meaningful semantics the schema alone does not convey.

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?

States a specific verb+resource+scope: retrieves Wi-Fi settings for a given band. An agent can distinguish it from get_dhcp_leases, get_ipv4_status and other getters. It never distinguishes itself from set_wifi, but the 'get' framing makes the read intent 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?

Usage is only implied via examples (get_wifi(band="5g")) rather than stated: there is no when-to-use or when-not-to-use guidance, and no mention of set_wifi as the mutating counterpart. The examples do at least show a canonical invocation and a variant with reveal_secrets.

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

list_devicesB

接続デバイス一覧 (hostname/IP/MAC/接続種別)。

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 lists the fields returned (hostname/IP/MAC/connection type) and says nothing about read-only safety, scope (e.g., whether offline devices are included), pagination, or authentication requirements.

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, front-loaded sentence with no filler. Every token (resource name plus returned fields) 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, zero-parameter list tool this is minimally adequate: it names the resource and the fields returned, which is the core information an agent needs. However, without an output schema, the description does not fully enumerate the possible connection-type values or clarify the scope of the listing.

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

Parameters4/5

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

The tool takes zero parameters, so the schema has nothing to document and the description has no parameters to clarify. This meets the baseline of 4 for a parameter-free tool.

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?

States a specific verb and resource ('接続デバイス一覧'), and parenthetically enumerates the data returned. However, it does not distinguish itself from potential siblings like list_endpoints, get_dhcp_leases, or get_mesh_nodes, so it falls short of a 5.

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?

There is no when-to-use guidance, no indication of when an alternative sibling is preferable, and no prerequisites or exclusions. The agent must infer the tool's role entirely from the name and the terse description.

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

list_endpointsC

本MCPのツールカタログ。

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, so the description carries the full disclosure burden, yet it says nothing about whether the operation is read-only, what the catalog contains, the output shape, or any auth/rate considerations. For a zero-argument introspection tool, the behavioral profile is almost entirely undisclosed.

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?

It is a single short, front-loaded fragment with no filler, so it is not bloated. However, the brevity comes at the cost of under-specification rather than economy — the phrase is too thin to earn its place.

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 source of information, and it does not say what the returned catalog contains, how entries are structured, or when the result is useful. For an introspection tool this leaves the agent unable to predict the return 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?

The tool takes zero parameters, so per the rubric the baseline is 4. There is no schema surface for the description to explain, and it correctly implies a parameterless enumeration, though it adds no extra meaning.

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 '本MCPのツールカタログ' ('the tool catalog of this MCP') is a noun phrase that roughly restates the tool name list_endpoints rather than stating a clear action+resource. It does not clarify what an 'endpoint' is here or that calling it enumerates available endpoints, and it gives no basis for distinguishing it from siblings such as list_devices or raw_request.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the 15 sibling tools. An agent cannot tell from this text why it would call list_endpoints instead of router_overview or raw_request.

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

list_reservationsC

DHCPアドレス予約一覧。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.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 carries the full behavioral burden, yet it discloses nothing about read-only nature, response format, ordering, or pagination. For a zero-parameter listing tool the risk is low, but the description still adds no 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.

Conciseness4/5

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

A single short phrase with no filler and the resource front-loaded. It is efficient, though its brevity borders on under-specification rather than tight 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?

With no output schema and no annotations, the description should at minimum indicate what the list contains or how results are returned. It says only that a reservation list exists, leaving the agent without enough context for a listing 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 takes zero parameters, so there are no parameter semantics to document; the baseline of 4 applies. The description neither adds nor detracts from parameter meaning.

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 'DHCPアドレス予約一覧' (DHCP address reservation list) names the resource and implies the list verb, adding 'DHCP address' specificity beyond the bare tool name. However it is essentially a restatement of 'list_reservations' and offers no differentiation from siblings like add_reservation or delete_reservation.

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?

There is no when-to-use guidance, no mention of prerequisites, and no reference to the alternative reservation tools (add_reservation, delete_reservation). The agent must infer the use case entirely from the name.

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

raw_requestA

任意エンドポイント読取。

  • path例: "admin/nat?form=vs", "admin/upnp?form=service"

  • data例: "operation=load" 等。operation指定時は data に operation= が無ければ自動付与

  • 戻り値の秘密値は常にマスク (reveal不可)

  • operation が read/load 以外の場合は書き込みとみなし confirm=true が必須

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNo
pathYes
confirmNo
operationNoread

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that secret values in responses are always masked and cannot be revealed, and that non-read operations are treated as writes requiring confirm=true. It omits auth requirements, error behavior, and rate limits, but the safety-critical behaviors are covered.

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

Conciseness5/5

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

Four tight bullets, front-loaded with purpose and immediately followed by the most-needed usage facts (path/data examples, masking, confirm rule). No filler sentences.

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 4-parameter, zero-schema-coverage, no-annotation tool with no output schema, the description covers parameter meaning and critical behavior well. It stops short of describing how paths map to real endpoints or what errors/failures look like, which an agent exploring a raw API would benefit from.

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, and it does: it gives concrete path examples, a data example, explains that operation= is auto-appended to data, describes operation's read/load vs write semantics, and ties confirm to write operations. Only finer data-encoding details are left implicit.

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?

States a specific verb+resource: reading arbitrary endpoints, which inherently contrasts with the typed sibling getters (get_wifi, get_dhcp_leases, etc.). The opening line is terse and the tool also performs writes (operation other than read/load), so the 'read' framing is slightly incomplete, but an agent can still grasp the tool's nature.

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?

Usage is implied rather than stated: it is the raw escape hatch for endpoints not covered by the specific sibling tools, but the description never says 'use this when no dedicated tool exists'. It does provide actionable conditions for the write path (confirm=true required when operation is not read/load), which is partial guidance.

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

reboot_routerB

ルータ再起動。confirm=true が必須。

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

TDQS

B3.2/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 behavioral burden. It does disclose the mandatory confirm=true gate (valuable, since the schema shows confirm defaulting to false with nothing required), but it omits the operation's disruptive nature — network downtime, dropped sessions, restart latency, irreversibility.

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 clipped phrases, zero filler, with the action front-loaded ahead of the gating requirement. Nothing redundant is present.

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 single-parameter destructive tool with no annotations and no output schema, the description covers the action and the confirmation gate but omits the operational consequences an agent should weigh before invoking it. Adequate but with a clear gap around impact and failure 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?

Schema description coverage is 0%, so the description must compensate, and it does: it states that confirm=true is mandatory, which is meaning the schema alone contradicts (the boolean defaults to false with no required flag). It says nothing about the behavior when confirm is false/omitted, but the essential semantic is supplied.

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 names a specific verb+resource (ルータ再起動 = reboot the router), which is unambiguous and clearly distinct from the read-oriented siblings like router_overview and get_firmware. It stops short of explicitly contrasting itself with any named alternative, but the action is unmistakable.

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?

There is no guidance on when to use this versus alternatives such as raw_request, nor any stated preconditions or timing advice. The only usage-like statement is the confirm requirement, which is a parameter constraint rather than routing guidance.

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

router_overviewB

ダッシュボード: firmware/CPU/メモリ/WAN/デバイス台数。

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 carries full behavioral disclosure. It only lists the dashboard contents and says nothing about read-only safety, authentication requirements, or return behavior. The implied read-only nature of a 'dashboard' is weak and not explicit.

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, front-loaded sentence with no wasted words. It is appropriately sized for a zero-parameter tool, though the extreme terseness borders on under-specification.

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 should do more to explain the return shape or usage context. It lists included metrics but does not say how they are presented or when this aggregate view is preferable to the individual sibling tools, leaving the agent with incomplete 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 takes zero parameters, and schema description coverage is 100%, so the baseline score of 4 applies. The description adds no parameter information because there are 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 names the resource ('dashboard') and enumerates the metrics it covers (firmware, CPU, memory, WAN, device count), giving a clear picture of what the tool returns. However, it does not explicitly contrast itself with sibling tools like get_firmware or get_ipv4_status, so sibling differentiation is left to inference.

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 offers no guidance on when to use this tool versus the many specific getter siblings. It does not mention that this is a high-level overview suitable for initial inspection before drilling into individual endpoints, leaving usage entirely implicit.

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

session_infoC

接続設定の安全サマリ (パスワードは出さない)。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that passwords are excluded from the output, which is an important security trait. However, it does not state whether the operation is read-only, what data is included in the safety summary, or any other 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.

Conciseness4/5

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

The description is a single, short sentence with no filler, and the password exclusion is placed in parentheses as a key qualifier. It is front-loaded and efficient, though its extreme brevity borders on under-specification for an agent trying to understand the return content.

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 there is no output schema and no annotations, the description should explain what the safety summary contains. Instead, it only provides a high-level label and one exclusion, leaving the agent without enough detail to understand the return values or how this differs from siblings like router_overview.

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 there are no parameter semantics to document beyond the baseline. The description adds no parameter information because none is needed, and the schema confirms an empty object.

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 that the tool returns a safety summary of connection settings, which is a vague resource label, and adds the key exclusion that passwords are not output. It does not differentiate from siblings like router_overview or get_wifi, leaving the exact scope unclear. A minimum-viable purpose score is appropriate given the 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?

There is no indication of when to use this tool versus the many sibling tools such as router_overview or get_wifi. No prerequisites, alternatives, or exclusions are mentioned. The agent must infer usage from the name alone.

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

set_wifiB

Wi-Fi ON/OFF。無線再起動を伴うため confirm=true が必須。

例: set_wifi(band="guest_2g", enable=True, confirm=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
bandYes
enableYes
confirmNo

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. It usefully warns that the operation causes a wireless restart and mandates confirm=true, but omits auth/permission requirements, expected downtime, and impact on connected clients.

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?

Two short sentences plus one example, front-loaded with the action and the critical confirm requirement. Minimal waste; a slightly tighter phrasing of the restart rationale would be perfect.

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 mutating tool with no annotations, no output schema, and 0% schema coverage, the description covers the key hazard and the confirm gate but leaves band value semantics and the effect on existing connections unspecified.

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 coverage is 0%, so the description must compensate: it clarifies confirm's mandatory semantics (despite the schema default of false) and the example hints at a valid band value ('guest_2g'). It still leaves the band domain and enable semantics unenumerated.

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 a clear verb+resource pair ('Wi-Fi ON/OFF') via an example invocation, and the write semantics distinguish it from the sibling get_wifi. It does not explicitly name a sibling, but the toggle action 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 Guidelines3/5

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

It gives one hard precondition (confirm=true is mandatory because the call triggers a wireless restart), which is genuinely actionable. However, it never states when to prefer this over alternatives or what conditions should gate invoking it.

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

Tool Schema Changelog

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

  1. 16 tool updatesv0.1.0
    • First observedadd_reservation
    • First observeddelete_reservation
    • First observedget_dhcp_leases
    • First observedget_firmware
    • First observedget_ipv4_status
    • First observedget_ipv6_status
    • First observedget_mesh_nodes
    • First observedget_wifi
    • First observedlist_devices
    • First observedlist_endpoints
    • First observedlist_reservations
    • First observedraw_request
    • First observedreboot_router
    • First observedrouter_overview
    • First observedsession_info
    • First observedset_wifi

TDQS

B3.1/5.0

Scored across 16 tools

Disambiguation4/5

Tools target distinct resources: DHCP leases, reservations, connected devices, mesh nodes, and firmware/IP status are clearly separated, and read vs. write actions (add/delete/set/reboot) are explicit. The main ambiguity is raw_request, which can overlap with any specific read tool, but its escape-hatch role and confirm-gating for writes are clearly described.

Naming Consistency4/5

Names follow a mostly predictable snake_case verb_noun pattern (get_*, list_*, add_*, delete_*, set_*, reboot_*). Minor deviations like router_overview, session_info, and raw_request are readable and do not seriously undermine consistency.

Tool Count4/5

At 16 tools this is slightly above the typical 3–15 sweet spot, but each tool covers a distinct router management function: telemetry reads, DHCP reservations, Wi-Fi control, reboot, and raw access. There is little obvious filler, though raw_request is a broad catch-all that adds surface area.

Completeness4/5

Core read/write lifecycle for DHCP reservations and Wi-Fi on/off is covered, and raw_request provides an escape hatch for unsupported endpoints. Gaps remain for updating an existing reservation and for broader Wi-Fi SSID/password or security configuration, which agents would need to handle via raw_request.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables automation and management of TP-Link BE3600 routers through browser automation, supporting port forwarding configuration, network status monitoring, and device management without reverse-engineering the router's encryption.
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants to read and safely modify TP-Link Omada networks through capability-gated tools, with a default read-only profile and dry-run writes for security.
    11
    1
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Exposes the Firewalla MSP API as tools for Claude Code and other MCP clients, enabling natural-language management of Firewalla boxes, alarms, rules, devices, flows, target lists, and trends with full read/write capabilities.
    19
    MIT