aos8-mcp-server-iap
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@aos8-mcp-server-iapWhich APs in the swarm are reporting high channel utilization?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
aos8-mcp-server-IAP
A read-only MCP server for Aruba Instant APs (Instant AOS-8). It exposes the Instant AP monitoring REST API as MCP tools and guided prompts, so an AI assistant can answer questions about a swarm without being able to change it.
It follows the architecture of teze3808/aos8-mcp-server,
which targets AOS-8 controllers. The Instant AP API is a different API, so this is a
separate implementation rather than a fork.
Overview
Once configured, an assistant can answer questions like:
"Which APs in the swarm are reporting high channel utilization?"
"Which SSIDs are still open?"
"Which AP is the client at
00:11:22:33:44:55connected to?""Do all members of the swarm share the same config checksum?"
Related MCP server: UniFi MCP Server
Operational Scope
Implemented: read-only
showcommands through/rest/show-cmd, bounded by a policy allowlist.Implemented: deterministic analyzers that produce findings before an AI summarizes them.
Not implemented: any
POSTwrite. No Action API, no Configuration API, noos-upgrade, noap-reboot.Planned for v0.2: plan-only configuration previews that build and validate a payload without sending it.
Instant AP vs AOS-8 controller
AOS-8 controller | Instant AP (this server) | |
Login |
|
|
Auth per request | cookie + CSRF header |
|
Monitoring |
|
|
Config read |
| not available; only |
Errors | HTTP status codes | HTTP 200 with |
Availability | any managed node | master or standalone AP only |
APIs Used
POST /rest/login
POST /rest/logout
GET /rest/show-cmd?iap_ip_addr=<ipv4>&cmd=<show command>&sid=<sid>Tools
Inventory and state — iap_test_connection, iap_get_version, iap_get_summary,
iap_get_access_points, iap_get_clients, iap_get_networks, iap_get_network_detail,
iap_get_ap_stats, iap_get_client_status, iap_get_wired_port_settings,
iap_get_port_status, iap_get_ap_env, iap_get_bootup_log
Analysis — iap_get_health_summary, iap_analyze_wlan_security
Escape hatch and introspection — iap_show_command (allowlisted only), iap_list_targets
Every tool accepts an optional iap_ip_addr. Omit it to use the master or standalone AP;
pass a member AP's IPv4 address to read that member through the master.
Every tool also accepts an optional cluster_name, which picks the Instant AP cluster/swarm
to talk to (see Multiple clusters below). Omit it when only one cluster
is configured; it is required when more than one is.
iap_get_access_points, iap_get_clients, and iap_get_networks page their results
(limit, default 50; offset; include_extra). A production swarm is large — 227 APs
serialize to roughly 220 KB — so each response reports total, returned, offset, and
next_offset alongside the page.
Guided Prompts
iap_health_overview, iap_troubleshoot_client, iap_wlan_security_review,
iap_swarm_review, iap_safe_show_command
Setup
1. Enable the REST API on the Instant AP
The REST API is disabled by default and is served only by the master (Virtual Controller) or a standalone AP:
(Instant AP)(config)# allow-rest-api
(Instant AP)(config)# end
(Instant AP)# commit apply2. Configure this server
uv sync
cp .env.example .envIAP_BASE_URL=https://192.0.2.10:4343
IAP_USERNAME=admin
IAP_PASSWORD=your-password
IAP_VERIFY_SSL=trueDo not commit .env.
/rest/show-cmd requires an IPv4 iap_ip_addr. When IAP_BASE_URL uses a DNS name, set
IAP_DEFAULT_IAP_IP_ADDR to the master AP's IPv4 address; otherwise the server reports the
problem at the first call instead of failing on the AP.
IAP_VERIFY_SSL=true verifies that the AP presents a certificate trusted by the local
machine or by IAP_CA_BUNDLE. Instant APs commonly ship a self-signed certificate; set
IAP_VERIFY_SSL=false only for a temporary lab connection.
Multiple clusters
To reach more than one Instant AP cluster/swarm from one running server, set IAP_CLUSTERS
instead of IAP_BASE_URL/IAP_USERNAME/IAP_PASSWORD — a JSON array of cluster objects,
each with its own name, base_url, username, password, and (optionally)
verify_ssl, ca_bundle, default_iap_ip_addr, allowed_iap_ips. Call iap_list_targets
to see every configured cluster, then pass that cluster's name as cluster_name on
subsequent tool calls. Credentials for every cluster live in the same local .env file as
today, under the same trust model — do not commit it.
IAP_CLUSTERS=[
{"name": "site-a", "base_url": "https://192.0.2.10:4343", "username": "admin",
"password": "change-me-a", "allowed_iap_ips": []},
{"name": "site-b", "base_url": "https://192.0.2.20:4343", "username": "admin",
"password": "change-me-b", "default_iap_ip_addr": "192.0.2.20", "allowed_iap_ips": []}
]With one cluster configured, cluster_name may be omitted on every tool call. With more
than one, omitting it raises a clear error rather than guessing which cluster to use.
3. Verify
uv run iap-mcp-checkRun Locally
uv run iap-mcp-serverWith the MCP inspector:
uv run mcp dev src/aruba_iap_mcp/server.pyMCP Client Configuration
Claude Code
claude mcp add iap --env IAP_BASE_URL=https://192.0.2.10:4343 --env IAP_USERNAME=admin --env IAP_PASSWORD=your-password -- uv --directory /path/to/aos8-mcp-server-IAP run iap-mcp-serverClaude Desktop, Codex, VS Code
{
"mcpServers": {
"iap": {
"command": "uv",
"args": ["--directory", "/path/to/aos8-mcp-server-IAP", "run", "iap-mcp-server"],
"env": {
"IAP_BASE_URL": "https://192.0.2.10:4343",
"IAP_USERNAME": "admin",
"IAP_PASSWORD": "your-password"
}
}
}
}For multiple clusters, set IAP_CLUSTERS in the project's .env file (see
Multiple clusters) instead of passing it through --env or the env
block above — the server reads .env from its working directory at startup, so the client
config only needs command/args/--directory, no env overrides required.
Notes
show running-configis blocked by default. It is a supported command, but its output contains WPA passphrases, RADIUS secrets, and SNMP communities.IAP_ALLOW_RUNNING_CONFIG=trueopts in; redaction still applies.The Instant AP answers HTTP 200 even for failures, so the
Status-codein the body is the real result. Codes 2–8 are caller or device-state problems and are never retried. Only transport errors, HTTP 429, and HTTP 5xx are retried with exponential backoff.CLI output parsing is header-driven and degrades to raw text. A response with
_meta.parsed = falsemeans the table shape was not recognized, not that the call failed.Openness is judged from Key Management, not Authentication Method. On a real swarm every PSK network reports
Authentication Method: None, so reading that field as "open" produces false criticals.Parsers and field mapping were validated against a live Instant AOS-8.12.0.1 swarm (227 APs, 407 clients, 6 networks); every column that release emits maps to a model field. Older releases may emit different columns — unmapped ones are preserved under
extra(include_extra=true) rather than dropped. See RUNBOOK.md.This project targets a trusted, single-user, local
stdiodeployment.
Compatibility
Component | Status |
Python | 3.11, 3.12, 3.13 |
Instant AOS-8 | verified on 8.12.0.1; 8.5.0.0+ expected (REST API introduced there) |
Transport | local |
Remote / multi-user MCP | not supported |
Available Tools
17 toolsiap_analyze_wlan_securityB
Return deterministic WLAN security findings for the configured networks.
| Name | Required | Description | Default |
|---|---|---|---|
| iap_ip_addr | No | ||
| cluster_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Return' implies a read-only operation and 'deterministic' adds a repeatability trait, but the description does not explicitly confirm there are no side effects or disclose any prerequisites, freshness, or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, grammatically direct sentence that front-loads the action and result. Every word contributes meaning, and there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return shape, but the tool has no annotations and no parameter guidance. The description does not clarify how 'configured networks' are identified, whether the optional parameters are mutually exclusive, or what the determinism guarantee means in practice. This is too thin for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about iap_ip_addr or cluster_name. It does not explain whether either parameter is required, how they select the target, or what happens when both are null, leaving the agent with no semantic help beyond the parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Return'), a clear resource ('WLAN security findings'), and a scope ('configured networks'). This differentiates it from the sibling get_* tools, which describe raw network data rather than security findings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not say when to prefer this tool over siblings like iap_get_networks, iap_get_network_detail, or iap_show_command. There is no explicit condition, exclusion, or alternative mentioned, so the agent gets no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_get_access_pointsC
Return Instant AP swarm members with radio state, one page at a time.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| iap_ip_addr | No | ||
| cluster_name | No | ||
| include_extra | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It does reveal that results are returned in pages and the operation is a read ('Return'), which is useful. However, it omits how iap_ip_addr vs cluster_name affects the result set, what 'include_extra' does, and whether any state changes occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler, front-loading the action and resource. It is concise, but leans toward under-specification; the structure does not include parameter context or usage guidance that could be added without much bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, the description does not explain how the five optional parameters work, how they are combined, or how pagination is controlled. Given moderate complexity and multiple selection-related parameters, the description is not complete enough for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 only hints at pagination via 'one page at a time,' which weakly relates to limit and offset, but it gives no explanation of iap_ip_addr, cluster_name, or include_extra. The parameter names in the schema are self-explanatory to a degree, but the description adds little semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Return' and identifies the resource 'Instant AP swarm members' with the qualifier 'with radio state' and 'one page at a time' to convey the core function. It is clear enough to distinguish from client/network tools, though it does not explicitly distinguish itself from AP-related siblings like iap_get_ap_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 tool versus alternatives, no mention of preconditions or target selection, and no exclusionary criteria. With 17 siblings, an agent would be unable to choose this tool over similar AP-focused tools without additional context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_get_ap_envC
Return the AP environment variables.
| Name | Required | Description | Default |
|---|---|---|---|
| iap_ip_addr | No | ||
| cluster_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states only that the tool 'return[s]' data, which implies a read operation, but it does not explain what these environment variables represent, how the parameters affect behavior, or what the output contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded, with no wasted words. However, it is under-specified to the point of providing little actionable guidance, so its conciseness comes at the expense of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and may define the return values, but with no annotation coverage, no parameter explanations, and no usage context, the description is not complete enough for an agent to confidently select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention 'iap_ip_addr' or 'cluster_name' at all. The schema shows both are optional and nullable, but an agent receives no guidance on what these parameters mean or how to use them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and identifies the resource ('AP environment variables'), making the basic operation clear. It is not differentiated from sibling getter tools, but the resource name is distinct enough to give an agent a working understanding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus the many sibling IAP tools, nor does it explain whether one or both optional parameters should be supplied. Usage context is entirely absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_get_ap_statsC
Return statistics for one Instant AP by its IP address.
| Name | Required | Description | Default |
|---|---|---|---|
| iap_ip_addr | No | ||
| cluster_name | No | ||
| ap_ip_address | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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. 'Return statistics' implies a read-only operation but says nothing about what the statistics cover, how the AP is reached, or failure modes. The output schema covers return shape, not operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence immediately states the action and target with no wasted words. It could carry more helpful detail without becoming verbose, but it is well structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, zero parameter descriptions, and a large sibling set, the one-line description is insufficient to fully guide tool selection and invocation. Output schema mitigates return uncertainty, but parameter disambiguation and usage context remain unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only says 'by its IP address' without resolving whether ap_ip_address or iap_ip_addr should be used. cluster_name is not mentioned, leaving an ambiguous parameter surface for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns statistics for a single Instant AP, with a specific verb and resource. The phrase 'one Instant AP by its IP address' distinguishes it from list-oriented siblings like iap_get_access_points, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: use this when you need statistics for a specific AP by IP, rather than listing APs or getting cluster-level summary. However, there is no explicit when-to-use/when-not-to-use guidance or alternativ routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_get_bootup_logC
Return the Instant AP bootup log.
| Name | Required | Description | Default |
|---|---|---|---|
| iap_ip_addr | No | ||
| cluster_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It only states that the tool returns a log, with no information about authentication needs, potential side effects, output size, or what happens when both parameters are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It earns its place by stating the core purpose, though it is perhaps too terse to be fully useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two optional parameters and no annotations, the description is inadequate for an agent to invoke it correctly. It does not explain parameter selection, fallback behavior, or when to prefer this tool over siblings. An output schema exists, but the description alone is too thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds nothing about the two parameters. It does not explain whether iap_ip_addr or cluster_name is required, how they interact, or what values are expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Return') and a specific resource ('Instant AP bootup log'), which clearly distinguishes this tool from all listed siblings. No other sibling mentions bootup logs, so 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.
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 tool versus any alternative, no mention of prerequisites, and no indication of whether it should be used for diagnostic scenarios or as part of a broader workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_get_clientsC
Return connected wireless clients, one page at a time.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| iap_ip_addr | No | ||
| cluster_name | No | ||
| include_extra | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It does disclose that results are paginated instead of returned all at once, but it omits important behavior such as what happens when no target is specified, whether authentication or connectivity is required, and how paging actually advances. This is minimal disclosure for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no redundant wording. It says what the tool returns and its pagination behavior concisely, though it is so brief that it underserves several important operational details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no annotations, the description is incomplete. It does not explain how to select the target IAP or cluster, what include_extra does, or how the absence of required parameters is handled. The output schema helps with response shape, but the invocation context is materially underdescribed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and five parameters, the description needed to compensate, but it only indirectly implies that limit and offset control pagination via 'one page at a time.' The meaning of iap_ip_addr, cluster_name, and especially include_extra is left to name inference and the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it returns connected wireless clients, and explicitly notes pagination with 'one page at a time.' It does not explicitly contrast itself with siblings like iap_get_client_status, but the phrasing makes the list-vs-status distinction reasonably clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance about when to use this tool versus siblings such as iap_get_client_status or iap_get_ap_stats. It also fails to mention whether iap_ip_addr, cluster_name, or some other target is required, so the conditions for using it are left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_get_client_statusB
Return the status of one wireless client by MAC address.
| Name | Required | Description | Default |
|---|---|---|---|
| iap_ip_addr | No | ||
| mac_address | Yes | ||
| cluster_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It only states that it returns status, which is nearly tautological with the tool name, and does not disclose side effects, error behavior, permission requirements, or target selection behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler and the core purpose front-loaded. It is efficient, though it prioritizes brevity over useful context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no annotations and three parameters with 0% schema coverage, the description is not complete enough. It does not explain how to specify the target IAP, how the optional parameters interact, or what output to expect despite the output schema existing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds some meaning by identifying MAC address as the lookup key, but it does not explain the purpose of iap_ip_addr or cluster_name, leaving two optional parameters semantically unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Return'), a specific resource ('status of one wireless client'), and a lookup key ('by MAC address'), which distinguishes it from sibling list tools like iap_get_clients. This is clear and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool is for retrieving a single client's status by MAC address, but it gives no explicit guidance on when to use this instead of iap_get_clients or other sibling tools. No alternative routing or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_get_health_summaryB
Return a concise swarm health summary with deterministic findings.
| Name | Required | Description | Default |
|---|---|---|---|
| iap_ip_addr | No | ||
| cluster_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. 'Deterministic findings' is a genuine behavioral disclosure (results are reproducible rather than heuristic/ML-based) and 'concise' sets output expectations. However, it does not disclose safety profile (read-only is only implied), authentication needs, network-touching behavior, or what health checks are performed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler. Every word earns its place: 'concise' sets scope, 'swarm health summary' states the object, and 'deterministic findings' adds behavioral nuance. There is no redundant restatement of the tool name beyond the naming of the resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return values are adequately covered elsewhere, and the tool is a simple read-only query with two optional params. But the definition leaves gaps in parameter selection semantics and fails to disambiguate from iap_get_summary. Adequate for a basic get-tool, yet short of what an agent needs to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 but does not. It never explains how iap_ip_addr and cluster_name relate (alternatives, both required, precedence), whether a swarm can be resolved by either, or what happens when both are null. The parameter names are self-evident, but their interaction and requirements are left unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Return') and resource ('swarm health summary'), and adds a distinguishing quality ('deterministic findings'). It is clear and not a tautology, but it does not explicitly differentiate from the closely named sibling iap_get_summary, so an agent may not know which summary tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives. With 16 siblings including iap_get_summary, which could plausibly overlap, the description provides no routing cues, no conditions, and no exclusions. Usage must be entirely inferred from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_get_network_detailB
Return detail for one WLAN network by name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| iap_ip_addr | No | ||
| cluster_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It conveys a read-only action by saying 'return detail,' but it does not explain how optional iap_ip_addr and cluster_name affect the request, what happens when the name is not found, or any authentication or rate-limit implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence of ten words. Every word earns its place, the verb and object are front-loaded, and there is no filler or redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value documentation is covered elsewhere. However, the tool description omits important invocation context: how the optional target parameters interact with the required name, when to prefer this tool over iap_get_networks, and any prerequisites. These gaps weaken completeness for an agent deciding whether and how to call the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only adds meaning for 'name' by framing it as the network name. The optional parameters iap_ip_addr and cluster_name are left entirely unexplained; their titles give weak hints, but the description does not compensate for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('return') and clearly identifies the resource ('detail for one WLAN network') and lookup method ('by name'). It implicitly differentiates from iap_get_networks by specifying 'one' network, but it does not explicitly name or distinguish itself from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'one WLAN network by name' implies usage when a single named network's detail is needed, but there is no explicit guidance about when to use this tool versus iap_get_networks, iap_show_command, or other alternative tools. No exclusions or conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_get_networksC
Return configured WLAN networks (SSIDs).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| iap_ip_addr | No | ||
| cluster_name | No | ||
| include_extra | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 only says 'Return', which implies a read operation, but it does not mention potential side effects, access requirements, the meaning of 'configured', output format, pagination, or any limitations. Minimal disclosure for a tool with no structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Consists of a single sentence with no unnecessary words, front-loading the core purpose. It is appropriately concise for a simple listing tool, though it could be expanded without becoming verbose; the brevity itself is not a flaw here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 optional parameters and an existing output schema, the description is inadequate. It offers no guidance on parameter semantics, target selection (iap_ip_addr vs cluster_name), the meaning of include_extra, or expected result structure. Without annotations or further context, an agent cannot confidently invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention any of the parameters (limit, offset, iap_ip_addr, cluster_name, include_extra). It provides zero additional meaning beyond what the schema names suggest, failing to explain how these parameters constrain the result or target the query.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Return') and resource ('configured WLAN networks') with a clarifying detail ('SSIDs'). This clearly distinguishes it from sibling iap_get_network_detail, which would return specific network details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no guidance on when to use this tool vs alternatives, no exclusions, prerequisites, or conditions. It only states what the tool does, leaving the agent to infer usage from the name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_get_port_statusC
Return physical port status.
| Name | Required | Description | Default |
|---|---|---|---|
| iap_ip_addr | No | ||
| cluster_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. 'Return' implies a readonly operation, but it does not explain parameter precedence, scoping, or what 'port status' includes. This is a minimal but not misleading disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, so it is concise. However, it is under-specified rather than optimally concise, and could afford a bit more detail without becoming bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too thin given no annotations and an input schema with two opaque optional parameters. An agent cannot tell how to select the target device or what the output contains. The existence of an output schema helps slightly, but invocation context is still incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention iap_ip_addr or cluster_name at all. Although parameter names are somewhat self-explanatory, the description adds no meaning and fails to compensate for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Return') and resource ('physical port status'), which is clear in broad terms. However, it does not differentiate from siblings like iap_get_wired_port_settings or iap_get_ap_stats, so some ambiguity remains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 tool versus alternatives. Sibling tools with similar names (e.g., iap_get_wired_port_settings, iap_get_ap_stats) make it difficult for an agent to know if this is the correct choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_get_summaryC
Return the Instant AP swarm summary.
| Name | Required | Description | Default |
|---|---|---|---|
| iap_ip_addr | No | ||
| cluster_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 only says 'Return,' implying a read operation, but does not explain whether the summary is fetched live, what data it contains, whether authentication is needed, or how the optional parameters influence behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence with no filler words. It is front-loaded with the action and resource, but it is somewhat under-specified; however, for such a simple tool, this level of brevity is still reasonably structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema reduces the need to describe return values, but the description still lacks critical context for a 2-parameter tool. It does not state what a 'summary' includes, whether both parameters are mutually exclusive, or what happens when neither is provided. An agent would need to infer too much.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention either parameter (iap_ip_addr, cluster_name). The tool text fails to explain how to use these parameters or how they affect the summary, forcing the agent to rely solely on parameter names with no semantic context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and a clear resource ('Instant AP swarm summary'), making the tool's core function understandable. It does not explicitly differentiate from sibling tools, but the 'swarm summary' resource is distinct enough among the IAP_* list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to prefer this tool over siblings like iap_get_health_summary or iap_get_access_points. There is no mention of prerequisites, use cases, or exclusions, leaving the agent without routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_get_versionB
Return Instant AP firmware version information.
| Name | Required | Description | Default |
|---|---|---|---|
| iap_ip_addr | No | ||
| cluster_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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. However, it only restates the core function and adds no context about what happens when parameters are omitted, whether both parameters can be used together, or any network/error behavior. This provides minimal transparency beyond the obvious read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler or redundant phrasing. The verb and object are front-loaded, making the tool's purpose immediately clear without any unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read-style tool with an output schema, so return-value documentation is covered elsewhere. However, the description does not clarify how the two optional parameters relate or whether at least one is expected, leaving a meaningful gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention iap_ip_addr or cluster_name at all. Since the schema only provides names and types, the agent gets no guidance on how to choose or combine these parameters, and the description fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and a specific resource ('Instant AP firmware version information'), which clearly distinguishes it from sibling tools like iap_get_summary or iap_get_access_points. There is no ambiguity about what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for retrieving firmware version details, but it does not explicitly state when to use it instead of other iap_get_* tools, nor does it explain whether iap_ip_addr and cluster_name are alternatives, combined, or optional fallbacks. The usage context is only lightly implied by the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_get_wired_port_settingsC
Return wired port settings.
| Name | Required | Description | Default |
|---|---|---|---|
| iap_ip_addr | No | ||
| cluster_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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. The verb 'Return' weakly implies a read-only operation, but it does not explain prerequisites, whether either iap_ip_addr or cluster_name is required, error behavior, or output characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with no wasted words, making it easy to parse. However, it is so terse that it omits important context about parameters and selection criteria, so brevity comes at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema reduces the need to describe return values, but the description still lacks parameter semantics, usage guidance, and differentiation from siblings. For a tool with two optional parameters and no annotations, this is insufficient for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the description provides no explanation of the two parameters, iap_ip_addr and cluster_name. It neither clarifies their roles nor whether they are alternatives or complements, leaving the agent without the information needed to fill them correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Return') and the resource ('wired port settings'), making the tool's basic purpose understandable. However, it does not distinguish this tool from sibling tools such as iap_get_port_status or iap_get_network_detail, so it lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives like iap_get_port_status or iap_get_network_detail. The description merely states what the tool returns, leaving the agent to infer selection criteria 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.
iap_list_targetsA
Report every configured Instant AP cluster and the AP addresses each may read.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it discloses that the operation is a report (read-only), that it covers all configured clusters, and that each entry includes the AP addresses the cluster is allowed to read. It does not detail auth requirements or failure behavior, but for a zero-parameter listing operation this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the action and the object, with no filler or repetition of the tool name. It earns its place by adding the 'may read' scope detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-argument, no-annotation tool with an output schema present, the description is largely complete: it names the result scope and the distinguishing 'addresses each may read' aspect. The only thing missing is any indication of how this tool fits into a workflow, which is more of a usage-guidelines concern.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and the schema is empty, so there is nothing to document. The baseline for zero parameters is 4, and the description does not create any confusion by referencing nonexistent arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Report'), identifies the resource ('every configured Instant AP cluster'), and adds the distinctive qualifier 'AP addresses each may read,' which sets it apart from sibling get_* AP tools. An agent can tell this is a discovery/list tool rather than a status or test tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus siblings like iap_test_connection, iap_get_access_points, or iap_show_command, and no mention of prerequisites. The read-only report semantics are implied, but the description leaves all routing decisions to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_show_commandB
Run a read-only Instant AP show command from the policy allowlist.
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | ||
| iap_ip_addr | No | ||
| cluster_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It usefully states that execution is read-only and restricted to a policy allowlist. It does not describe what happens for non-allowlisted commands, how target selection works, or whether output is raw text, but some of this is covered by the existing output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no redundant filler. Every phrase contributes meaning, and the most important safety constraint ('read-only') appears early.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a command-execution tool with optional targeting parameters and no annotations, the description is under-specified. An agent cannot tell whether iap_ip_addr and cluster_name are alternatives, complementary, or optional, nor what commands are on the policy allowlist. The output schema helps with return shape but does not resolve these input-selection questions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not compensate. The 'command' parameter is inferable from the tool name, but iap_ip_addr and cluster_name are left unexplained—there is no indication of their relationship, precedence, or whether either is needed when the other is absent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Run'), the resource ('Instant AP show command'), and important constraints ('read-only', 'policy allowlist'). It distinguishes this as a raw command runner from the structured sibling iap_get_* tools, though it does not give an example of an allowed command or specify what kind of output is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool should be used when a raw, allowlisted AP show command is needed and structured data from sibling getters is not sufficient. However, it never explicitly states when to prefer this tool over alternatives, what conditions make it inapplicable, or how to choose between targeting an AP IP and a cluster.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iap_test_connectionC
Log in to the Instant AP and run a safe version check.
| Name | Required | Description | Default |
|---|---|---|---|
| iap_ip_addr | No | ||
| cluster_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the behavioral disclosure burden. It does state the operation is a login plus a 'safe' (read-only) version check, which signals non-destructive behavior and authentication. However, it leaves vague what 'safe' means, what credentials or session assumptions exist, and what happens on connection failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence with no filler; 'safe' and 'log in' are meaningful signals. It front-loads the action and avoids restating the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has an output schema, so return values need not be described in detail. However, the missing parameter semantics and lack of usage guidance leave clear gaps for a two-parameter tool with no annotations, making the description adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage and the description never mentions iap_ip_addr or cluster_name. The property names are somewhat suggestive, but the description does not explain whether one or both are required, how the target is selected, or how the null defaults behave.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a concrete action ('Log in ... run a safe version check') with a clear target (the Instant AP), so the agent can tell it is a connectivity/authentication probe rather than a data fetch. It does not explicitly distinguish this from sibling iap_get_version, which also deals with version information, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 instead of the many sibling getters. It neither states that it should be used as a pre-flight connection check nor lists alternatives such as iap_get_version, so the agent must infer usage largely from the tool name.
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.
17 tool updates
v0.1.0- First observed
iap_analyze_wlan_security - First observed
iap_get_access_points - First observed
iap_get_ap_env - First observed
iap_get_ap_stats - First observed
iap_get_bootup_log - First observed
iap_get_client_status - First observed
iap_get_clients - First observed
iap_get_health_summary - First observed
iap_get_network_detail - First observed
iap_get_networks - First observed
iap_get_port_status - First observed
iap_get_summary - First observed
iap_get_version - First observed
iap_get_wired_port_settings - First observed
iap_list_targets - First observed
iap_show_command - First observed
iap_test_connection
TDQS
Each tool targets a distinct resource or aspect (version, summary, APs, clients, networks, ports, logs, security), with clear list/detail pairs. Minor overlap exists between iap_get_summary and iap_get_health_summary, and iap_show_command could be confused with structured getters, but descriptions make the boundaries reasonably clear.
All tools share the iap_ prefix and follow a consistent verb_noun pattern: test_connection, get_version, show_command, analyze_wlan_security, list_targets. The naming is uniformly snake_case and predictable across both collection and single-resource operations.
At 17 tools, the set is within the 16-25 range that feels heavy for a read-only monitoring/analysis surface. Each tool does have a distinct purpose, but the count is slightly more than necessary for the apparent scope.
The tool surface covers connectivity validation, version, swarm summary, AP inventory, clients, WLAN networks, port settings/status, logs, health summary, security analysis, and a raw show-command fallback. For a read-only Instant AP monitoring server, there are no obvious dead ends or missing operations.
Maintenance
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
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
Read-only AI coding tools for change verification, release readiness, capacity, and guidance.
Read-only finance and operations controls for AI agents with evidence and safe next actions.
Read-only MCP access to your DEXUN AdWhiz account: ad accounts, AI recommendations, savings.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to interact with Mender IoT platform for device management, deployment monitoring, and fleet analysis through natural language commands. Provides read-only access to device status, deployment logs, releases, and system monitoring capabilities.2MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to manage and monitor UniFi Network Controllers through natural language. Provides 25 read-only tools for discovering devices and clients, viewing security configurations, analyzing network statistics, and exporting configuration data.41MIT
- AlicenseAqualityDmaintenanceA read-only MCP server that provides visibility into Parallels Remote Application Server infrastructure, policies, and sessions through the RAS REST API. It enables AI assistants to query site settings, published applications, and license status without performing any modifications.412MIT

KVMFleet MCP Serverofficial
AlicenseAqualityCmaintenanceRead-only MCP server that allows AI assistants to query and monitor KVM Fleet devices, audit logs, and console sessions through the official REST API.5111MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/kzmp/aos8-mcp-server-iap'
If you have feedback or need assistance with the MCP directory API, please join our Discord server