Skip to main content
Glama
fl0w1nd

teamspeak3-mcp

by fl0w1nd

TeamSpeak 3 MCP Server

Let AI models manage your TeamSpeak 3 server through the Model Context Protocol.

npm version License: MIT TypeScript Node.js MCP SDK zread MCP Badge

English · 中文


A Model Context Protocol (MCP) server that exposes TeamSpeak 3 ServerQuery operations as AI-callable tools. Connect Claude, Cursor, or any MCP-compatible client to manage your TeamSpeak server with natural language.

Features

  • 35 purpose-built tools covering server management, channels, clients, groups, permissions, moderation, and more

  • Lazy connection — connects to TeamSpeak only when the first tool is invoked

  • Exponential backoff retry — automatic reconnection with up to 3 attempts

  • Graceful shutdown — cleans up the ServerQuery session on process exit

  • Centralized error handling — every tool returns structured MCP error responses

  • Zero-config transport — runs over stdio, works out-of-the-box with any MCP client

Related MCP server: CS2 RCON MCP Server

Requirements

  • Node.js >= 18

  • A TeamSpeak 3 server with ServerQuery access (port 10011 by default)

Getting Started

Add the following to your MCP client configuration. This works with most clients:

{
  "mcpServers": {
    "teamspeak": {
      "command": "npx",
      "args": ["teamspeak3-mcp"],
      "env": {
        "TEAMSPEAK_HOST": "your-server.com",
        "TEAMSPEAK_PASSWORD": "your-password"
      }
    }
  }
}

No installation needed — npx downloads and runs the package automatically.

Claude Desktop

Add to your Claude Desktop config file (claude_desktop_config.json):

{
  "mcpServers": {
    "teamspeak": {
      "command": "npx",
      "args": ["teamspeak3-mcp"],
      "env": {
        "TEAMSPEAK_HOST": "your-server.com",
        "TEAMSPEAK_PASSWORD": "your-password"
      }
    }
  }
}

Cursor

Add to your Cursor MCP settings (.cursor/mcp.json):

{
  "mcpServers": {
    "teamspeak": {
      "command": "npx",
      "args": ["teamspeak3-mcp"],
      "env": {
        "TEAMSPEAK_HOST": "your-server.com",
        "TEAMSPEAK_PASSWORD": "your-password"
      }
    }
  }
}

Configuration

Configuration is resolved from CLI arguments first, then environment variables, with sensible defaults as fallback.

Parameter

CLI Flag

Env Variable

Default

Host

--host

TEAMSPEAK_HOST

localhost

Query Port

--port

TEAMSPEAK_PORT

10011

Username

--user

TEAMSPEAK_USER

serveradmin

Password

--password

TEAMSPEAK_PASSWORD

(required)

Virtual Server ID

--server-id

TEAMSPEAK_SERVER_ID

1

Enabled Tools

--tools

TEAMSPEAK_TOOLS

(all)

Note: TEAMSPEAK_PASSWORD refers to the ServerQuery login password, not the TeamSpeak server connection password. You can find it in the server console output on first start, or create one via Tools → ServerQuery Login in the TeamSpeak client.

Selective Tool Loading

By default all 35 tools are registered. Use TEAMSPEAK_TOOLS (or --tools) with a comma-separated list of module names to load only what you need — useful for reducing the tool list exposed to the AI model:

{
  "mcpServers": {
    "teamspeak": {
      "command": "npx",
      "args": ["teamspeak3-mcp"],
      "env": {
        "TEAMSPEAK_HOST": "your-server.com",
        "TEAMSPEAK_PASSWORD": "your-password",
        "TEAMSPEAK_TOOLS": "server,channel,client"
      }
    }
  }
}

Available modules: server, channel, client, sgroup, cgroup, permission, messaging, moderation, token, file

Tools Reference

Server (server_*)

Tool

Description

server_info

Get server details (scope: overview or connection statistics)

server_list

List resources (resource: clients, channels, server_groups, channel_groups)

server_search

Search for clients or channels by pattern

server_log

View recent virtual server or instance log entries

server_diagnose

Run a diagnostic check on the current connection's permissions

Channel (channel_*)

Tool

Description

channel_create

Create a new channel (permanent or temporary)

channel_delete

Delete a channel (with optional force flag)

channel_update

Update channel properties (name, password, codec, talk power, etc.)

channel_info

Get detailed channel information

channel_perm

Add, remove, or list permissions on a channel

Client (client_*)

Tool

Description

client_info

Get detailed info: platform, version, country, IP, idle time, etc.

client_move

Move a client to another channel

client_kick

Kick a client from the server or channel

client_ban

Ban a client (timed or permanent)

client_perm

Manage server group membership and individual permissions

client_db_list

List historical clients from the server database (includes offline clients)

client_poke

Send a poke alert notification to a client

Server Group (sgroup_*)

Tool

Description

sgroup_create

Create a new server group

sgroup_delete

Delete a server group

sgroup_perm

Add, remove, or list permissions on a server group

sgroup_clients

List all clients assigned to a server group

Channel Group (cgroup_*)

Tool

Description

cgroup_create

Create a new channel group

cgroup_perm

Add, remove, or list permissions on a channel group

cgroup_assign

Assign a client to a channel group in a specific channel

Permission (perm_*)

Tool

Description

perm_list

List all available permission definitions (name, ID, description)

perm_find

Find all assignments of a permission across the server

perm_overview

Get effective permission overview for a client in a channel

Messaging (msg_*)

Tool

Description

msg_send

Send a text message (mode: channel or private)

Moderation (ban_* / complaint_*)

Tool

Description

ban_list

List all active ban rules

ban_manage

Create, delete, or clear ban rules by IP/name/UID

complaint_list

List complaints (optionally filtered by target client)

Tokens (token_*)

Tool

Description

token_list

List all available privilege keys/tokens

token_create

Create a server group or channel group token

Files (file_*)

Tool

Description

file_list

List files in a channel's file repository

file_info

Get detailed info about a specific file

Development

git clone https://github.com/fl0w1nd/teamspeak3-mcp.git
cd teamspeak3-mcp
pnpm install

pnpm build          # Build the project
pnpm dev            # Watch mode (auto-rebuild on changes)
pnpm inspect        # Debug with MCP Inspector (web UI)

MCP Inspector

The project includes a pre-configured script for the MCP Inspector, a web-based debugging tool:

pnpm inspect

This launches a local web UI where you can browse available tools, invoke them interactively, and inspect request/response payloads — useful for development and troubleshooting.

Project Structure

src/
├── index.ts             # Entry point, stdio transport, graceful shutdown
├── config.ts            # CLI + env configuration parsing
├── connection.ts        # TeamSpeak connection with retry & lazy init
├── server.ts            # MCP server setup & tool registration
├── utils/
│   └── tool-handler.ts  # Error handling & response utilities
└── tools/
    ├── server.ts        # Server info, resource listing, search, logs, diagnostics
    ├── channel.ts       # Channel CRUD & permissions
    ├── client.ts        # Client management, permissions & poke
    ├── server-group.ts  # Server group CRUD, permissions & members
    ├── channel-group.ts # Channel group CRUD, permissions & assignment
    ├── permission.ts    # Global permission queries & overview
    ├── messaging.ts     # Channel & private messaging
    ├── moderation.ts    # Bans & complaints
    ├── token.ts         # Privilege token management
    └── file.ts          # Channel file browser

License

MIT

Available Tools

35 tools
ban_listB

List all active ban rules on the virtual server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. "List" implies a read operation and "active" hints at filtering out expired/revoked rules, but there is no disclosure of permissions required, pagination, ordering, or result size for a ban list that can grow large.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler; the resource and scope appear immediately. Nothing in the sentence is redundant or padding.

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 zero-parameter, no-output-schema read tool the definition is minimally viable, but it omits the relationship to ban_manage/client_ban and says nothing about return shape or pagination. An agent can call it, but cannot confidently route between the three ban-related tools.

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 and the baseline of 4 applies. The description adds no misleading detail about inputs.

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

Purpose4/5

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

The description names a specific verb and resource ("List all active ban rules") and scopes it to "the virtual server," so an agent knows exactly what is returned. However, it makes no attempt to distinguish itself from its close siblings ban_manage and client_ban, leaving the agent to infer the boundary.

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 or when-not-to-use guidance and no mention of alternatives, even though ban_manage and client_ban sit right next to it in the toolset. The reader must guess whether this tool also creates, edits, or removes bans.

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

ban_manageC

Create, delete, or clear ban rules on the server

ParametersJSON Schema
NameRequiredDescriptionDefault
ipNoIP address pattern to ban
uidNoClient unique identifier to ban
nameNoName pattern to ban
timeNoBan duration in seconds (0 = permanent)
actionYesAction to perform
ban_idNoBan ID (required for delete)
reasonNoBan reasonBanned by AI

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It states that rules can be created, deleted, or cleared, but does not describe permissions required, whether deletions are reversible, the effect of clearing all rules, or any rate limits. It signals mutation but lacks the depth expected for a destructive-capable tool.

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

Conciseness4/5

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

The description is a single efficient sentence with no filler and the core actions are front-loaded. It is not bloated, though it is very sparse for a tool with this many parameters.

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 that this is a mutation tool with seven parameters, no annotations, and no output schema, the description is insufficiently complete. It omits when to use each action, permission requirements, destructive implications of delete/clear, and any return or error behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all seven parameters in detail, including the action enum and ban_id requirement for deletion. The description adds no meaning beyond the schema, which is the baseline case for full coverage.

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

Purpose4/5

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

The description states a specific set of actions (create, delete, clear) on a specific resource (ban rules), making the tool's purpose clear. However, it does not differentiate this tool from siblings like ban_list or client_ban, leaving some ambiguity about when this tool is the right choice.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. It does not mention ban_list for viewing bans or client_ban for banning a specific client, nor does it state prerequisites or conditions for using each action.

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

cgroup_assignC

Assign a client to a channel group in a specific channel

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesChannel group ID to assign
channel_idYesChannel ID where the assignment applies
client_db_idYesClient database ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, but it discloses only the bare action. It says nothing about required permissions, whether assignment is idempotent or overwrites an existing group membership, or what happens on failure — all material for a mutation tool.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is appropriately sized, though it is arguably too terse for a mutation tool with no annotations to lean on.

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 three-parameter mutation tool with no annotations and no output schema, the description is thin. It omits permissions, idempotency, and side effects, leaving real gaps an agent would need filled 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 100%, so the schema already defines group_id, channel_id, and client_db_id. The description merely restates those concepts and adds no format, range, or edge-case detail, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Assign') and the resources involved (client → channel group → channel), so the operation is identifiable. It does not, however, distinguish itself from related siblings like cgroup_create, cgroup_perm, or the sgroup_* family, leaving the agent to infer scope from the name alone.

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 despite a dense sibling set (cgroup_create, cgroup_perm, client_perm). The agent is given no routing signal beyond the tool name.

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

cgroup_createC

Create a new channel group

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the new channel group
typeNoGroup type (0=template, 1=regular, 2=query)

TDQS

C2.9/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 burden. It states the mutation ('create') but omits permissions required, side effects, reversibility, or what happens on failure. Minimal disclosure for a write operation.

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

Conciseness4/5

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

A single, front-loaded sentence with no wasted words. It is appropriately sized for the core action, though it could be slightly more informative without loss of 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 two parameters, no output schema, and no annotations, the description should convey more context about creation behavior and return expectations. The single sentence leaves significant gaps for a mutation tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters including the enum-like type meanings. The description adds no additional parameter semantics. Baseline 3 is appropriate when the schema does the heavy lifting.

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: 'Create a new channel group'. It is clear what the tool does and is distinguishable from most siblings by resource, but it does not explicitly differentiate itself from related group tools like sgroup_create or channel_create.

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?

Provides no guidance on when to use this tool versus alternatives such as sgroup_create or channel_create. The description offers no context, prerequisites, or exclusions.

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

cgroup_permC

Manage permissions for a channel group: add, remove, or list

ParametersJSON Schema
NameRequiredDescriptionDefault
valueNoPermission value (for add)
actionYesAction to perform
group_idYesChannel group ID
permissionNoPermission name (for add/remove)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and falls short. It does not disclose that 'add'/'remove' are mutations (likely requiring elevated auth), whether removal is reversible, or what 'list' returns — meaningfully different behaviors are flattened into one vague sentence.

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 compact sentence with the resource front-loaded and the operations trailing. It is efficient, though its brevity borders on under-specification rather than true 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?

For a 4-parameter mutation-capable tool with no annotations and no output schema, the description is insufficient. It omits auth requirements, the semantics of the permission/value pairing, and any sense of what the list action returns.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter (action, group_id, permission, value) is already documented in the schema with its applicable action noted. The description adds nothing beyond what the schema provides, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('Manage permissions for a channel group') and enumerates the three supported operations. It implicitly distinguishes the resource from siblings like sgroup_perm and channel_perm by naming 'channel group', but never explicitly routes away from them.

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

Usage Guidelines2/5

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

No guidance on when to use this over perm_list, perm_find, perm_overview, channel_perm, or sgroup_perm. The add/remove/list enumeration merely restates the action enum already in the schema rather than describing when each applies.

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

channel_createC

Create a new channel on the server

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesChannel name
parent_idNoParent channel ID
permanentNoPermanent or temporary channel

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden, yet it discloses nothing about side effects, permission requirements, whether 'permanent' changes behavior irreversibly, or what the tool returns. 'Create' implies mutation but no mutation-specific traits (authorization, defaults, reversibility) are described.

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, front-loaded sentence with no wasted words and the core action stated immediately. It is efficient, though arguably under-specified rather than maximally informative.

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?

This is a mutation tool with no annotations and no output schema, so the description should compensate with permission requirements, side-effect notes, or return behavior. Instead it offers only the bare action, leaving significant gaps for an agent to invoke it correctly.

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 100%, so the schema already documents name, parent_id, and permanent with their types and defaults; the description adds no syntax, format, or constraint detail beyond that. Baseline 3 is appropriate when the schema does the heavy lifting.

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 specific verb (Create) and resource (channel) plus the scope ('on the server'), so an agent can distinguish it from channel_delete, channel_update, and channel_info at a glance. It does not, however, explicitly name or contrast itself with those siblings, keeping it below 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 guidance on when to use this tool versus alternatives, nor any stated prerequisites such as required permissions. The description only asserts what the tool does, leaving the agent to infer all usage context from the name.

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

channel_deleteB

Delete a channel from the server

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoForce deletion even if clients are present
channel_idYesChannel ID to delete

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden, yet it says nothing about irreversibility, required permissions, or what happens to connected clients. The schema hints at a 'force' flag for deleting channels with clients present, but the description never explains this behavior or its consequences.

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

Conciseness5/5

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

A single short sentence that leads with the action and resource. Nothing is wasted or buried.

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 destructive, irreversible operation with no annotations and no output schema, the description is minimally viable but leaves out consequences, permission requirements, and the meaning of the force flag. An agent could call it, but not with full awareness of the impact.

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

Parameters3/5

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

Schema description coverage is 100%, so both channel_id and force are already documented in the schema, and the description adds nothing further. Per the high-coverage baseline, a 3 is appropriate.

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

Purpose4/5

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

States a specific verb ('Delete') and resource ('a channel'), so the operation is unambiguous. It does not explicitly differentiate itself from siblings like channel_update or channel_perm, but the destructive verb makes the distinction obvious enough.

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 when-to-use context, no prerequisites, and no mention of alternatives such as channel_update for non-destructive changes. An agent gets no routing guidance beyond the bare operation name.

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

channel_infoC

Get detailed information about a specific channel

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYesChannel ID

TDQS

C2.9/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 implies a read-only lookup, but it never confirms that, nor does it disclose permission requirements, whether missing channels error, or anything about the returned payload. For a zero-annotation tool this is a significant gap.

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

Conciseness4/5

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

A single tight sentence with the resource front-loaded and no padding. It is efficient, though it is sized at the absolute minimum rather than fully exploiting the space for useful context.

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

Completeness3/5

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

For a simple one-parameter read tool this is minimally adequate, but with no annotations, no output schema, and no return-format hint, an agent cannot predict what 'detailed information' contains or what errors to expect. A sentence or two more would close the gap.

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

Parameters3/5

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

Schema description coverage is 100% for the single channel_id parameter, so the schema already carries the parameter documentation. The description adds no format, range, or sourcing details (e.g., how to obtain a channel ID), which is the expected baseline when coverage is complete.

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 (Get) and resource (channel information) scoped to a single channel identified by ID. It is clear what the tool does, but it makes no attempt to differentiate itself from sibling tools like channel_perm, channel_update, or channel_create beyond the obvious read/write distinction.

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 tool versus alternatives. For example, it does not say to use this instead of or alongside channel_perm when permission details are needed, nor does it state any preconditions for retrieving channel info.

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

channel_permB

Manage permissions on a specific channel: add, remove, or list

ParametersJSON Schema
NameRequiredDescriptionDefault
valueNoPermission value (required for add)
actionYesAction to perform
channel_idYesChannel ID
permissionNoPermission name (required for add/remove)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full behavioral burden, yet it discloses nothing beyond the action list: no permission requirements, no note on whether add/remove are reversible or auditable, and no confirmation of whether 'list' is read-only. For a mutation-capable permission tool this is a substantial gap.

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

Conciseness5/5

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

A single compact sentence, front-loaded with the verb and resource, with the three actions enumerated at the end. Nothing wasted.

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

Completeness3/5

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

Adequate for a 4-param tool with full schema coverage and no output schema, but the absence of annotations and behavioral detail leaves an agent without safety, permission, or side-effect context it would need to invoke confidently.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents each parameter including which are required for which action (value for add, permission for add/remove). The description adds no meaning beyond that baseline, so 3 is appropriate.

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

Purpose4/5

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

States a specific verb (manage permissions) and resource (a specific channel), and enumerates the three sub-operations (add, remove, list). It distinguishes itself from sibling client_perm and sgroup_perm by naming the channel scope, though it doesn't explicitly contrast with them.

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

Usage Guidelines3/5

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

The description implies usage via the action list but gives no explicit when-to-use, prerequisites, or alternative routing. An agent knows the three modes exist but not under what conditions one is preferred over channel_perm alternatives like perm_overview.

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

channel_updateC

Update channel properties. Talk power presets: 0=normal, 50=moderated, 999=silent

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew channel name
passwordNoNew channel password (empty string to remove)
permanentNoMake channel permanent
channel_idYesChannel ID to update
talk_powerNoRequired talk power (0=normal, 50=moderated, 999=silent)
descriptionNoNew channel description
max_clientsNoMaximum number of clients
codec_qualityNoAudio codec quality 1-10

TDQS

C2.9/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 says 'update' but not whether this requires elevated permissions, whether changes are immediate/reversible, or what happens to unspecified properties. Only the talk_power preset meaning is conveyed.

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 core action. However, the second sentence duplicates the schema's talk_power description, so it does not fully 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?

For an 8-parameter mutation tool with no annotations and no output schema, the description is sparse: no permission requirements, no side-effect or return-value context, and no guidance on optional-vs-required fields beyond the schema's required list.

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

Parameters3/5

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

Schema description coverage is 100%, so all 8 parameters are already documented, which sets the baseline at 3. The description restates the talk_power presets verbatim from the schema, adding no semantics beyond what the schema provides.

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

Purpose4/5

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

States a clear verb+resource ('Update channel properties'), which is enough to know it mutates a channel. It does not distinguish itself from sibling mutation tools such as channel_perm or cgroup_perm, which also modify channel-related state.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of alternatives (channel_create, channel_delete, channel_info, channel_perm). The agent must infer that this is the tool for modifying existing channel attributes.

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

client_banC

Ban a client from the server

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoBan reasonBanned by AI
durationNoBan duration in seconds (0 = permanent)
client_idYesClient ID

TDQS

C2.9/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 falls short. It does not disclose that this is a destructive action, whether the client is disconnected, whether the ban is reversible, or that duration=0 means permanent (that fact lives only in the schema default).

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 sentence with no filler, and the action is front-loaded. It is efficient, though the brevity reflects under-specification rather than disciplined editing.

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, irreversible-feeling moderation tool with no annotations and no output schema, the description should cover permissions, permanence semantics, and side effects. It covers none of these, leaving the agent to reconstruct behavior from the schema and sibling names.

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

Parameters3/5

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

Schema description coverage is 100%, with reason, duration (including the 0 = permanent convention), and client_id all documented in the schema. The description adds no parameter meaning of its own, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: "Ban a client from the server." An agent can identify the action immediately, but the description does nothing to separate it from the closely related sibling client_kick (kick vs. ban) or to acknowledge ban_list/ban_manage which operate on the same domain.

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

Usage Guidelines2/5

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

No guidance on when to ban rather than kick, no mention of prerequisites such as permissions, and no reference to any alternative tool. The agent must infer the ban/kick distinction from sibling names alone.

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

client_db_listA

List historical clients from the server database (includes offline clients). Supports pagination for large databases

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax number of entries to return (max 1000)
startNoOffset to start from (for pagination)

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses that offline clients are included and that pagination is supported, but says nothing about permissions required, ordering, whether results are cached/live, or any return shape.

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 tight sentences with zero filler; the scope-defining detail (offline clients) is front-loaded before the pagination note.

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 two-optional-parameter list tool with no output schema, the description covers the essentials but omits what a returned client record contains and any ordering or permission context an agent might need.

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

Parameters3/5

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

Schema description coverage is 100%, so limit and start are already documented with defaults and the max-1000 cap. The description's mention of pagination adds no detail beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb and resource ("List historical clients from the server database") and scopes it with "includes offline clients." This distinguishes it from point lookups like client_info, though it does not name any sibling 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 only implied: an agent can infer the tool is for enumerating offline/historical clients and for large datasets that need pagination. There is no explicit when-to-use statement, no condition that selects this over client_info, and no exclusions.

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

client_infoC

Get detailed information about a specific online client

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesClient ID

TDQS

C2.6/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 behavioral burden. It does not disclose whether this is a read-only operation (implied by 'Get' but not stated), what permissions are required, or what the response includes. For a read tool, it fails to mention side effects (none) or safety profile.

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

Conciseness4/5

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

The description is a single concise sentence that front-loads the core action. It is appropriately sized, though it could be slightly more informative without becoming verbose.

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

Completeness2/5

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

Given there are no annotations and no output schema, the description should explain what information is returned, whether the client must be online, and any prerequisites. It omits all of this, leaving significant gaps for an agent to infer.

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 100%, so the schema already documents the single parameter 'client_id' as a number. The description adds no additional meaning about the parameter, such as format, source, or constraints. Baseline 3 is appropriate because the schema does the heavy lifting for this single parameter.

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 a clear verb ('Get') and resource ('detailed information about a specific online client'), distinguishing it from client_move/client_kick which are mutation siblings. However, it is vague about what 'detailed information' entails and does not differentiate it from similar info siblings like client_perm or channel_info beyond the resource name.

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

Usage Guidelines2/5

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

No when-to-use guidance is provided. The description does not state the context for retrieving client info (e.g., after a connection event, for troubleshooting) nor does it mention alternatives or exclusions. It simply restates the basic function.

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

client_kickB

Kick a client from the server or current channel

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoKick reasonKicked by AI
client_idYesClient ID
from_serverNotrue = kick from server, false = kick from channel

TDQS

B3.4/5.0
Behavior2/5

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 implies a destructive action ('Kick') but does not cover permissions required, whether the kick is reversible, what happens to the client, or the effect on other users. This is a significant gap for a moderation tool.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently communicates the core action and scope without any wasted words.

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

Completeness2/5

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

For a moderation tool with no annotations, no output schema, and destructive implications, the description is incomplete. It lacks critical behavioral context such as required permissions, consequences of kicking, and differentiation from related tools like client_ban.

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

Parameters3/5

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

Schema description coverage is 100% (all three parameters have descriptions), so the baseline is 3. The description adds no parameter details beyond the schema, which already documents client_id, reason, and from_server with defaults and meanings.

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

Purpose5/5

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

The description states a specific verb ('Kick') and resource ('a client') with scope ('from the server or current channel'), clearly distinguishing it from siblings like client_ban and client_poke. An agent can immediately understand the tool's action without ambiguity.

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

Usage Guidelines3/5

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

The description implies usage by specifying the optional scope (server vs. channel), but does not explicitly state when to use this tool versus alternatives like client_ban or client_move. No exclusions or preconditions are mentioned, leaving the agent to infer context.

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

client_moveC

Move a client to another channel

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesClient ID
channel_idYesDestination channel ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not state what happens to the client's previous channel state, whether the move is reversible, what permissions are required, or whether the client is disconnected/reconnected. Only the basic action is conveyed.

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

Conciseness5/5

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

A single, efficient sentence with zero waste that front-loads the core action.

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 mutation tool with no annotations, no output schema, and no usage context, the description leaves significant gaps: side effects, permission requirements, and failure modes are all 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 100%, so the schema already documents both parameters. The description imposes a near-zero addition to parameter meaning, but the baseline for full schema coverage is 3.

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 (move) and resource (client) with a clear scope (to another channel). It is distinguishable from siblings like client_kick or client_ban, but does not explicitly differentiate from those alternatives.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites (e.g., permissions, whether the client must be online), and no alternatives mentioned. An agent must infer everything from the purpose alone.

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

client_permC

Manage a client's server group membership and individual permissions

ParametersJSON Schema
NameRequiredDescriptionDefault
skipNoSkip flag for permission
valueNoPermission value (for add_perm)
actionYesAction to perform
negateNoNegate flag for permission
group_idNoServer group ID (for add_group / remove_group)
client_idYesClient ID
permissionNoPermission name (for add_perm / remove_perm)

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden and does not meet it. It never discloses that some actions mutate state (add_group, remove_group, add_perm, remove_perm) while others are read-only (list_groups, list_perms), nor any permission/authorization prerequisites or reversibility of changes.

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?

A single short sentence with no waste, but it is under-specified rather than truly concise. It does not front-load which actions are available or what the caller must supply, leaving the schema to carry the entire operational picture.

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 multiplexed tool with seven parameters, six enum actions, no annotations, and no output schema, the description is too thin. It explains neither the action dispatch semantics nor what each read action returns, which an agent needs to invoke the right action correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all seven parameters including their action-specific applicability. The description adds no syntax, format, or conditional parameter meaning beyond what the schema provides, so the baseline 3 applies.

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 verb 'Manage' is a catch-all, but the resource is specific: a client's server group membership and individual permissions. It does not distinguish this tool from similarly-named siblings such as sgroup_perm, channel_perm, or cgroup_perm, and it never mentions the six distinct actions the tool actually performs. Adequate but vague.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like perm_overview, sgroup_perm, or perm_list. The description states a topic but not a usage context or any exclusion criteria that would help an agent choose among the many permission-related siblings.

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

client_pokeA

Send a poke (alert popup) to a client — more attention-grabbing than a private message

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesPoke message
client_idYesTarget client ID

TDQS

A3.7/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 an intrusive alert/popup rather than a silent message, but it says nothing about required permissions, whether the client can suppress or dismiss the popup, rate limits, or error behavior.

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

Conciseness5/5

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

A single short sentence that front-loads the action ('Send a poke...') and appends the differentiating detail. No filler, no repetition of schema content.

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 two-parameter notification tool this covers purpose and relative urgency, which is largely sufficient. However, with no annotations and no output schema, the description leaves the side-effect profile (permissions, disruption, failure modes) unaddressed.

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

Parameters3/5

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

Schema description coverage is 100% with only two simple required parameters (client_id, message), so the schema already documents everything. The description adds no format, length, or content guidance for the poke message beyond what the schema provides, meeting the baseline of 3.

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 (send a poke to a client) and clarifies the resource is an 'alert popup'. It also positions the tool against plain messaging via 'more attention-grabbing than a private message,' which effectively distinguishes it from msg_send without naming the sibling explicitly.

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

Usage Guidelines4/5

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

The comparative clause 'more attention-grabbing than a private message' gives the agent a clear selection cue: reach for this when a normal message isn't urgent enough. It stops short of stating explicit when-not conditions or naming msg_send as the fallback, so it is context rather than a full routing rule.

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

complaint_listB

List complaints on the virtual server, optionally filtered by target client

ParametersJSON Schema
NameRequiredDescriptionDefault
target_client_db_idNoTarget client database ID to filter

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'List' implies a read-only operation, but the description does not mention permissions, pagination, return format, or any other behavioral trait beyond the basic action.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It communicates the action, scope, and optional filter efficiently.

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

Completeness3/5

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

For a low-complexity list tool with one optional parameter, the description covers the essential purpose and filter. However, with no annotations and no output schema, it omits any behavioral context such as read-only nature or pagination, leaving only minimal completeness.

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

Parameters3/5

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

Schema description coverage is 100%, and the single parameter is already documented as 'Target client database ID to filter.' The description adds 'optionally' and restates that it filters by target client, but does not provide additional syntax or semantic detail beyond the schema, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description uses a specific verb ('List') and resource ('complaints on the virtual server'), making the tool's purpose immediately clear. No sibling tool also lists complaints, but the description does not explicitly differentiate itself from the adjacent 'ban_list' or mention any alternative, so it falls just 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?

It states that results can be optionally filtered by target client, but gives no guidance on when to use this tool versus alternatives or when not to use it. There are no prerequisites, exclusions, or routing hints.

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

file_infoB

Get detailed information about a specific file in a channel's file repository

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesFull path to the file
channel_idYesChannel ID containing the file
channel_passwordNoChannel password if required

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. It implies a read operation but does not state whether permissions are required, what happens if the file is missing, whether channel_password is needed, or what side effects exist. This is a significant transparency gap for an unannotated tool.

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

Conciseness5/5

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

The single sentence is front-loaded with the core action and resource, and every word contributes to clarifying what the tool retrieves. There is no filler or redundancy.

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

Completeness3/5

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

For a simple read tool with full parameter coverage and no output schema, the description is adequate but leaves gaps around return contents, permissions, and edge cases. It does not need to duplicate the schema, but with no annotations or output schema it could say more about behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters including their meaning and required status. The description adds no parameter-level detail beyond naming the file's repository context, which is the baseline expectation when the schema does the heavy lifting.

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

Purpose5/5

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

The description uses a specific verb ('Get') and resource ('detailed information about a specific file') with clear scope ('in a channel's file repository'). It distinguishes itself from the sibling file_list by emphasizing a single specific file rather than listing files.

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 explicit when-to-use guidance, no conditions for choosing this tool over siblings like file_list or channel_info, and no prerequisites or exclusions stated. The intended use is only 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.

file_listB

List files in a channel's file repository

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoDirectory path to list/
channel_idYesChannel ID
channel_passwordNoChannel password if required

TDQS

B3.1/5.0
Behavior2/5

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 does not state whether the operation is read-only, whether authentication or channel_password is required, whether results are paginated, or what the return format looks like.

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 redundant or filler content. Every word contributes to stating the tool's core action and resource.

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

Completeness3/5

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

For a simple list tool with full schema coverage, the description is minimally sufficient to support invocation. However, with no output schema, it does not explain what information is returned about the listed files, leaving a gap for the agent to interpret the results.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents path, channel_id, and channel_password with their meanings. The description adds no parameter-level detail beyond what the schema provides, making the baseline score of 3 appropriate.

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

Purpose4/5

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

The description states a specific verb ('List') and resource ('files in a channel's file repository'), so the core purpose is immediately clear. However, it does not distinguish this tool from the sibling file_info, which likely retrieves details about a single file rather than listing files.

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 explicit guidance on when to use this tool versus alternatives such as file_info or other channel-related tools. The usage is only implied by the verb 'List', leaving the agent to infer the appropriate context.

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

msg_sendB

Send a text message to a channel or a private message to a client

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes'channel' = send to a channel, 'private' = send to a specific client
messageYesMessage text to send
target_idYesChannel ID (for mode=channel) or Client ID (for mode=private)

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden. It does not state required permissions, whether the send is delivered immediately, rate limits, or what happens on failure — for a mutation tool this is a significant gap.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler that conveys verb, resource, and both targets. Nothing is wasted.

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 3-parameter tool with a fully documented schema and no output schema, the description is minimally adequate. However, with no annotations it should say more about permissions or delivery behavior to be genuinely complete for a write action.

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

Parameters3/5

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

Schema description coverage is 100%, so the enum meanings for mode and the target_id interpretation are already fully documented in the schema. The description only restates the channel/private choice, adding no syntax or format detail beyond the schema baseline.

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 ('Send') and resource ('text message') plus the two delivery targets (channel or client). It is clear on its own, though it never names or distinguishes itself from siblings like client_poke or channel_info.

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

Usage Guidelines3/5

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

The description implicitly frames usage (sending a message, choosing channel vs private), but offers no when-to-use guidance or explicit alternatives among the many sibling tools. An agent must infer the routing decision.

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

perm_findA

Find all assignments of a specific permission across server groups, channel groups, channels, and clients

ParametersJSON Schema
NameRequiredDescriptionDefault
permissionYesPermission name (e.g. 'b_virtualserver_info_view')

TDQS

A3.6/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 usefully discloses the traversal scope (server groups, channel groups, channels, clients), but says nothing about permissions required, result size/pagination, or whether the operation is purely read-only (only implied by 'Find').

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

Conciseness5/5

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

A single sentence with the verb front-loaded and zero filler. The scope enumeration is the one detail worth carrying and it is placed at the end where it reads naturally.

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 single-required-parameter read tool with no output schema, the description covers purpose and search scope adequately. The main omission is any note on result volume or required permissions, which is minor given the tool's simplicity.

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?

One parameter at 100% schema description coverage, so the schema already documents 'permission' including an example value. The description adds only the notion that the parameter selects 'a specific permission', matching the baseline for high schema coverage.

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

Purpose4/5

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

Clear verb ('Find') plus resource ('assignments of a specific permission') and an explicit search scope across server groups, channel groups, channels, and clients. It distinguishes itself from a plain permission listing, though it does not name siblings like perm_list or perm_overview as alternatives.

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

Usage Guidelines3/5

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

The use case (auditing where a given permission is granted) is implied by 'Find all assignments... across...', but there is no explicit when-to-use statement or routing to an alternative such as perm_list or perm_overview. Guidance is inferable rather than stated.

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

perm_listA

List available permission definitions. Use 'filter' to search by keyword (e.g. 'kick') or 'category' to narrow by domain. Returns only names by default; set verbose=true for descriptions

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoKeyword to search in permission name or description
verboseNoInclude permission descriptions (increases token usage)
categoryNoFilter by permission category

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. It usefully discloses return behavior ('returns only names by default; set verbose=true for descriptions') and warns of token cost, but never mentions access requirements or whether the full permission set is always visible. Partial coverage of behavior beyond structure.

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

Conciseness5/5

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

Three short sentences, each earning its place: purpose first, usage second, return behavior third. No filler, well front-loaded.

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?

There is no output schema, yet the description compensates by stating what is returned by default and how verbose changes it. With zero required parameters and full schema coverage, the remaining gap is the absence of any safety/permission context on a read tool, which is minor.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents filter, verbose, and category. The description adds only a concrete example keyword ('kick') and reinforces the verbose tradeoff, which is marginal added value over structured data. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: 'List available permission definitions.' An agent knows exactly what it retrieves. However, it never distinguishes itself from close siblings like perm_find and perm_overview, which implies overlapping lookup capabilities.

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

Usage Guidelines3/5

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

The description explains how to use the filter and category parameters, which implies a browsing/lookup context, but never says when to choose this tool over perm_find, perm_overview, or the various *_perm tools. No exclusions or alternatives are named, leaving routing to inference.

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

perm_overviewB

Get the effective permission overview for a client in a specific channel. Shows all permissions and their sources

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYesChannel ID
client_db_idYesClient database ID

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 burden. Words like 'Get' and 'Shows' imply a read-only query, and 'effective' plus 'their sources' hints that inherited/group permissions are resolved rather than raw. That is genuine behavioral value, but it says nothing about auth requirements, output shape, or cost.

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 core action, with no padding. The second sentence usefully clarifies that sources are included, though it slightly overlaps 'overview' in the first.

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 read-only query tool with no annotations and no output schema, the description covers what the tool produces at a high level (permissions plus their sources) but gives no hint of the response structure an agent would need to consume. Adequate but with a clear gap.

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 100% with only two, clearly named numeric parameters (client_db_id, channel_id), so the schema does the heavy lifting. The description only restates that a client and channel scope the query, adding no format or constraint detail beyond the schema. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: 'Get the effective permission overview for a client in a specific channel.' The 'effective' qualifier and 'their sources' give it real specificity. However, it does not differentiate from nearby siblings like perm_list, client_perm, channel_perm, or perm_find, so an agent still needs to guess which resolves the same need.

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 explicit when-to-use or when-not guidance. With siblings such as perm_list, client_perm, channel_perm, and perm_find in the toolset, ambiguity is high and the description does nothing to route the agent. Usage is only implied by the phrase 'effective permission overview for a client in a specific channel.'

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

server_diagnoseB

Diagnose current ServerQuery connection permissions and provide troubleshooting info

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 full behavioral burden. 'Diagnose' implies a safe read, but it doesn't state that it is read-only, whether it requires elevated permissions, or what form the troubleshooting output takes. Minimal disclosure for a zero-annotation tool.

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

Conciseness4/5

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

A single efficient sentence with the action front-loaded and no filler. Well-sized for a no-parameter tool.

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

Completeness3/5

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

With no parameters and no output schema, the description needn't explain return values, but 'provide troubleshooting info' is vague about what an agent will actually receive, leaving the diagnostic output underspecified.

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 convey; the baseline of 4 applies. The description appropriately doesn't waste space describing inputs that don't exist.

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

Purpose4/5

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

States a specific verb (Diagnose) and resource (current ServerQuery connection permissions) plus an auxiliary output (troubleshooting info). Clear what it does, though it doesn't explicitly distinguish itself from the neighboring perm_overview or server_info tools.

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

Usage Guidelines2/5

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

Only an implied usage context ('troubleshooting') with no explicit when-to-use, when-not, or named alternatives among the many permission-related siblings (perm_overview, perm_list, client_perm). An agent must guess when to reach for this over perm_overview.

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

server_infoB

Get TeamSpeak server information. Use scope 'overview' for general server details, 'connection' for network/bandwidth statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoInfo scope: 'overview' = general server details, 'connection' = network statisticsoverview

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, leaving the full disclosure burden to the description. While it indicates a read-style 'Get' operation, it omits key behavioral details like required permissions, rate limits, or whether the network statistics are real-time/cumulative. There is no contradiction with the structured data.

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, tight sentence that front-loads the main purpose and then explains the scope options. No significant waste 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 simple one-parameter read tool with full schema coverage and no output schema, the description covers the basics. However, with no annotations and no output schema, it does not mention what the return data includes or any prerequisites, leaving some gaps for correct invocation.

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

Parameters3/5

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

The single parameter 'scope' has full schema coverage including an enum and a detailed description. The description restates the same meanings without adding new syntax, constraints, or examples. With high schema coverage, the baseline of 3 is appropriate.

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

Purpose4/5

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

The description explicitly states 'Get TeamSpeak server information', giving a clear verb and resource. It distinguishes from nearby siblings like server_diagnose and server_list by specifying it returns general server data with scope options, though it doesn't explicitly contrast with these siblings.

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

Usage Guidelines3/5

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

Usage is implied through the scope descriptions ('Use scope overview for general server details, connection for network/bandwidth statistics'), but the tool does not state when it should be used versus alternatives such as server_diagnose or server_list, nor does it offer exclusions.

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

server_listC

List server resources: online clients, channels, server groups, or channel groups

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceYesResource type to list

TDQS

C2.9/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 adds one useful qualifier ('online' clients) but says nothing about permissions, scoping, pagination, or completeness of the listing, leaving the mutation/safety profile and result behavior undisclosed.

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 efficient sentence that front-loads the verb and the available resource types. No wasted text, though it is perhaps terse enough to omit useful context.

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

Completeness3/5

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

For a one-parameter list tool with no output schema, the description is minimally adequate: it names the listable resources but omits return shape, permissions, and pagination. It is complete enough to call correctly but not to anticipate results.

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

Parameters3/5

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

Schema description coverage is 100% and the enum already enumerates the four resource values, so the baseline is 3. The description adds a small amount of meaning by qualifying clients as 'online', but otherwise restates the enum.

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

Purpose4/5

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

States a specific verb (List) and resource (server resources) and enumerates the four listable types, so an agent knows exactly what comes back. It does not explicitly contrast itself with close siblings like server_search or server_info, so it stops short of full sibling differentiation.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no mention of the alternative tools (server_search, server_info). The reader can infer it is for enumeration, but nothing tells the agent when this is preferable to the sibling search/info tools.

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

server_logC

View recent entries from the virtual server log

ParametersJSON Schema
NameRequiredDescriptionDefault
linesNoNumber of log lines to retrieve
reverseNoNewest first
begin_posNoStarting position in log file
instance_logNoShow instance log instead of virtual server log

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden, yet it only gestures at "recent entries" without stating that output is bounded (default 50, max 100 lines), that it is read-only, whether permissions are required, or what the return looks like. It adds almost no behavioral context an agent couldn't infer from the verbs.

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 sentence that is front-loaded with the action and resource and contains no filler. It is appropriately sized, though perhaps too terse to be maximally useful.

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 read tool with full schema coverage and no output schema, the description is minimally adequate, but it omits any guidance on output format, the instance-vs-virtual-server distinction, or relationship to sibling diagnostic tools. An agent can call it, but with less confidence than a richer definition would give.

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

Parameters3/5

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

Schema description coverage is 100% and every parameter (lines, reverse, begin_pos, instance_log) is documented in the schema itself with defaults and bounds. The description adds no format, paging, or positional semantics beyond that, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb ("View") and a specific resource ("virtual server log"), so the agent knows this is a read of log entries. However, it offers no differentiation from nearby siblings like server_diagnose or server_info, which could plausibly also surface log/status output.

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

Usage Guidelines2/5

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

The description gives no indication of when to reach for this tool versus server_diagnose or server_info, nor any prerequisites or exclusions. Usage is only weakly implied by the word "View" and "recent entries".

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

sgroup_clientsC

List all clients assigned to a server group

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesServer group ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'List' implies a read-only operation, but nothing is said about permissions required, whether offline/empty groups are handled, or pagination/result limits. For a tool with zero annotation coverage this is a notable gap.

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

Conciseness4/5

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

A single front-loaded sentence with no filler or redundancy. It is appropriately sized, though it is minimal rather than maximally informative.

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

Completeness3/5

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

For a simple one-parameter read tool with complete schema coverage and no output schema, the description is minimally adequate. It would be stronger if it noted the read-only nature or what the client entries represent.

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

Parameters3/5

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

Schema description coverage is 100% with a single, well-documented group_id, so the baseline is 3. The description adds no format, range, or sourcing detail beyond what the schema already provides.

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

Purpose4/5

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

States a specific verb (list) and resource (clients assigned to a server group), which is clear enough to distinguish from the related sgroup_perm and sgroup_create tools. However, it does not explicitly contrast with adjacent client-listing siblings such as client_db_list or client_info.

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 alternatives, no prerequisites, and no exclusions. The agent must infer that this is the lookup for membership in a server group 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.

sgroup_createB

Create a new server group

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the new server group
typeNoGroup type (0=template, 1=regular, 2=query)

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 says only that a group is created, without mentioning permissions required, whether the name must be unique, what side effects occur, or what is returned.

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 zero waste. It is appropriately sized for a simple creation tool and contains no redundant phrasing.

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

Completeness3/5

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

The input schema fully covers the parameters and required field, so the description is minimally sufficient for invocation. However, with no annotations and no output schema, it omits behavioral context such as permissions and creation effects.

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

Parameters3/5

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

Schema description coverage is 100%, so the two parameters are already documented in the input schema. The description adds no meaning beyond the schema, making the baseline 3 appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: 'Create a new server group'. It distinguishes the action from destructive siblings like sgroup_delete, but does not explicitly differentiate it from other creation tools such as cgroup_create.

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 tool, what prerequisites exist, or how it differs from alternatives like cgroup_create or sgroup_perm. The agent must infer usage entirely from the tool name and schema.

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

sgroup_deleteA

Delete a server group. Use force=true to remove even if clients are assigned

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoForce deletion even if clients are assigned to this group
group_idYesServer group ID to delete

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. It usefully reveals the blocking behavior when clients are assigned, but never states that deletion is irreversible, what happens to memberships/permissions, or what permission level is required for a destructive operation.

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

Conciseness5/5

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

Two short sentences, zero filler, with the core action front-loaded before the conditional modifier. Nothing could be removed without losing information.

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?

Simple two-parameter tool with no output schema, so return values need no explanation. However, for an unannotated destructive operation the description omits irreversibility and authorization context, leaving meaningful gaps for an agent deciding whether to call it.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented, including force's meaning and its default of false. The description's restatement of force adds no syntax or format detail beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Delete a server group') and is unambiguous. It is easily distinguished from the sibling sgroup_create and readable without opening the schema, though it never names a sibling explicitly to sharpen the distinction.

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 conditional instruction ('Use force=true to remove even if clients are assigned'), which implies the default path fails when clients exist. There is no guidance on prerequisites, permissions, or when to prefer an alternative such as reassigning clients first.

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

sgroup_permC

Manage permissions for a server group: add, remove, or list

ParametersJSON Schema
NameRequiredDescriptionDefault
skipNoSkip flag
valueNoPermission value (for add)
actionYesAction to perform
negateNoNegate flag
group_idYesServer group ID
permissionNoPermission name (for add/remove)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden but says nothing about required privileges, whether add/remove are idempotent, whether changes are reversible, or what happens with negate/skip. The 'negate' and 'skip' flags ('Negate flag', 'Skip flag') are opaque and never explained here.

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 front-loaded sentence with the scope first and actions last, no wasted words. It is efficient, though the terseness leaves important semantics unstated rather than being excessive.

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?

A mutation tool with six parameters, no annotations, and no output schema needs more: the description omits permission requirements, effect of the negation/skip flags, and return behavior. An agent can pick the action but not predict the result or preconditions.

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 100%, so the baseline is 3; the schema documents group_id, action, permission, and value. The description repeats action values but adds no meaning for negate/skip/value beyond the (tautological) schema text.

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

Purpose4/5

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

Names a specific verb (manage) plus resource (server group permissions) and enumerates the three actions, which separates it from sibling permission tools like cgroup_perm and client_perm by scope. It stops short of explicitly contrasting 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 statement of when to choose this tool over cgroup_perm, client_perm, or perm_list/perm_overview; usage is only implied by the 'server group' scope. No prerequisites or when-not-to-use guidance is given.

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

token_createC

Create a new privilege key/token for server or channel group access

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesServer group ID (type=0) or channel group ID (type=1)
channel_idNoChannel ID (required for channel group tokens)
custom_setNoCustom client properties (format: ident=value|ident=value)
token_typeYes0 = server group token, 1 = channel group token
descriptionNoToken description

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose that the returned token is a secret typically shown only once, what permissions are required, or that creation is irreversible. For a credential-minting mutation tool this is a significant omission.

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?

One tight sentence with the action front-loaded and no filler. It is efficient, though arguably terse given the tool is a security-sensitive mutation.

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?

A write/credential tool with no annotations, no output schema, and five parameters, two of them required. The description omits the conditional requirement logic (channel_id needed for channel tokens) and any behavioral context, leaving the agent under-informed for a sensitive operation.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters are documented in the schema itself, including token_type, group_id, and channel_id semantics. The description adds only the general server/channel distinction already fully covered by the schema, so baseline 3 applies.

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

Purpose4/5

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

Specific verb+resource: 'Create a new privilege key/token for server or channel group access' clearly states what it does and the scope of access it targets. It is distinguishable from the read-only sibling token_list, though it does not name that sibling explicitly.

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

Usage Guidelines2/5

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

No guidance on when to use this versus alternatives (e.g., token_list) and no prerequisites or exclusions stated. The phrase 'for server or channel group access' hints at scope but does not tell the agent when creation is appropriate.

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

token_listA

List all privilege keys/tokens available on the server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It implies a read-only listing but never explicitly states non-destructiveness, whether this requires admin privileges to call, or whether the result is paginated. Volume and auth requirements are undisclosed.

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

Conciseness5/5

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

A single well-formed sentence with zero filler. The verb and scope are front-loaded and no sentence is wasted.

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 zero-parameter discovery tool with no output schema, the description is only minimally complete. It doesn't explain what a 'privilege key' looks like in the response or note that token_create likely follows, leaving the agent to guess about output shape and next steps.

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

Parameters4/5

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

There are no parameters, so per the rubric this is a baseline 4. The description correctly implies the tool takes no input by describing a global server-wide listing.

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

Purpose5/5

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

The description states a clear verb ('List') and resource ('privilege keys/tokens') plus scope ('available on the server'). It is immediately distinguishable from token_create and perm_list, and an agent can tell what it returns without opening the schema.

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

Usage Guidelines3/5

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

The description implies this is a discovery operation for available token types, but never says when to call it. There is no mention of token_create as the follow-up action or any prerequisite context, leaving usage to inference.

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. 35 tool updatesv1.0.3
    • First observedban_list
    • First observedban_manage
    • First observedcgroup_assign
    • First observedcgroup_create
    • First observedcgroup_perm
    • First observedchannel_create
    • First observedchannel_delete
    • First observedchannel_info
    • First observedchannel_perm
    • First observedchannel_update
    • First observedclient_ban
    • First observedclient_db_list
    • First observedclient_info
    • First observedclient_kick
    • First observedclient_move
    • First observedclient_perm
    • First observedclient_poke
    • First observedcomplaint_list
    • First observedfile_info
    • First observedfile_list
    • First observedmsg_send
    • First observedperm_find
    • First observedperm_list
    • First observedperm_overview
    • First observedserver_diagnose
    • First observedserver_info
    • First observedserver_list
    • First observedserver_log
    • First observedserver_search
    • First observedsgroup_clients
    • First observedsgroup_create
    • First observedsgroup_delete
    • First observedsgroup_perm
    • First observedtoken_create
    • First observedtoken_list

TDQS

B3.2/5.0

Scored across 35 tools

Disambiguation4/5

Most tools have clearly distinct purposes, but the perm_* family (perm_overview, perm_list, perm_find, channel_perm, client_perm, sgroup_perm, cgroup_perm) has overlapping 'manage permissions' functions that could confuse without careful reading. Similarly, ban_* tools (ban_list, ban_manage, client_ban) have some overlap. Descriptions help distinguish them, but boundaries aren't always crisp.

Naming Consistency4/5

Tool names mostly use a consistent verb_noun or noun_verb pattern (e.g., channel_create, client_kick, sgroup_perm), but there are minor deviations like server_list (noun_verb) and sgroup_create (abbreviated noun). The abbreviations (sgroup, cgroup, perm) are consistent within categories, making the naming predictable overall.

Tool Count3/5

With 35 tools, the count is heavy for a TeamSpeak server management MCP. While many are distinct operations, the number could overwhelm an agent, and some tools (e.g., perm_overview vs perm_list) might be consolidated. The scope is broad, but the count feels borderline excessive.

Completeness4/5

The tool set covers most CRUD operations for channels, clients, server groups, channel groups, permissions, bans, messages, files, tokens, and complaints. However, some gaps exist: no tools for banning by IP/range, no detailed server group info beyond permissions, and no file upload/download operations. These are minor but noticeable for a complete management surface.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI models to interact with VoIPBin's VoIP services, supporting features like call management, agent management, campaigns, conferences, and chat functionality.
    4
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    A Model Context Protocol server that enables AI models like Claude to control TeamSpeak servers, allowing users to manage channels, send messages, configure permissions, and perform server administration through natural language commands.
    40
    10
    MIT