Skip to main content
Glama

xui_api

Calls the x-ui/3x-ui panel API on a remote host, injecting its Bearer token and reading the panel address from x-ui.db. Use it to fetch server status, list inbounds, or send authenticated panel requests.

Instructions

Call the host's x-ui/3x-ui panel API with its Bearer token injected on the remote side (panel address read from x-ui.db). path is relative to the panel base path, e.g. "panel/api/server/status", "panel/api/inbounds/list".

Input Schema

NameRequiredDescriptionDefault
bodyNoJSON request body
hostYes
pathYes
methodNoGET
max_charsNoPer-stream output cap, default 8000

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

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 burden, and it does disclose meaningful behavior: the Bearer token is injected server-side and the panel address is read from x-ui.db, so the agent does not need to supply credentials. However, it says nothing about the consequences of POST/PUT/DELETE on a live panel, whether changes are applied immediately, or how errors and truncation (max_chars) surface in the response.

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 sentence plus inline examples, front-loaded with the core action and the auth/address-resolution detail. Nothing is wasted, though the parenthetical about x-ui.db slightly interrupts the flow before the path examples.

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 five-parameter tool with no annotations, no output schema, and write-capable methods, the description covers the auth/resolution mechanics but omits return-shape expectations, what max_chars truncation looks like, and error behavior. It is adequate to start an invocation but not to predict outcomes safely.

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 only 40% (host, path, and method are undocumented in the schema), so the description needs to compensate. It clarifies that path is relative to the panel base path and supplies two examples, but leaves host's accepted format, method's semantics, and body expectations to inference — partial compensation only.

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 (call) and resource (the host's x-ui/3x-ui panel API), and gives two concrete path examples that make the target unambiguous. It implicitly separates itself from the generic http_probe sibling by handling auth and resolving the panel address from x-ui.db, though it never names http_probe explicitly.

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: reach for this when you need the x-ui panel API rather than a raw HTTP probe, since tokens and panel address are handled for you. There is no explicit when-to-use/when-not statement, no mention of prerequisites (a running x-ui instance, a configured panel base path), and no guidance on choosing between this and http_probe.

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