Skip to main content
Glama
MarlBurroW

TeamSpeak MCP

by MarlBurroW

TeamSpeak MCP

PyPI version Python MCP GitHub Actions Docker License GitHub stars GitHub issues

A Model Context Protocol (MCP) server for controlling TeamSpeak from AI models like Claude.

Requirements

  • Python 3.10-3.12

  • Docker (optional, for containerized deployment)

  • TeamSpeak 3 Server with ServerQuery enabled

Related MCP server: CS2 RCON MCP Server

Features

  • 🎯 Connect to TeamSpeak servers

  • 💬 Send messages to channels, private messages, and pokes (alert notifications)

  • 📋 List connected users and detailed client information

  • 🔧 Advanced channel management (create, delete, update properties, permissions)

  • 🔇 AFK/Silent channel setup with talk power presets

  • 🎵 Voice control (mute, unmute, kick, ban)

  • 🛡️ Fine-grained permission management per channel

  • 🖥️ Virtual server configuration (name, description, limits, welcome messages)

  • 👥 User permission management (server groups, individual permissions)

  • 📊 Comprehensive server and channel diagnostics

  • 📝 Enhanced logging system with:

    • Automatic log configuration

    • Log diagnostics

    • Instance-level logs

    • Advanced filtering

    • Real-time notifications

  • ⚙️ 39 powerful tools for complete TeamSpeak automation

🎯 Integration Methods Overview

TeamSpeak MCP offers multiple integration methods to fit your setup and preferences:

  • Easiest setup - One command installation

  • Automatic updates via standard package managers

  • Standard MCP pattern - Compatible with Claude Desktop examples

  • No Docker required - Pure Python implementation

# Installation
uvx install teamspeak-mcp

# Usage
uvx teamspeak-mcp --host your-server.com --user your-user --password your-password

# Claude Desktop config (CLI args)
{
  "mcpServers": {
    "teamspeak": {
      "command": "uvx",
      "args": ["teamspeak-mcp", "--host", "your-server.com", "--user", "your-user", "--password", "your-password"]
    }
  }
}
  • No dependencies - Everything included

  • Version consistency - Immutable deployments

  • Easy scaling - Works with orchestration

  • Cross-platform - Works anywhere Docker runs

💡 Note: We use -e flags in args instead of the "env": {} field because Claude Desktop's environment variable handling can be unreliable. The args method ensures consistent variable passing.

# Installation
docker pull ghcr.io/marlburrow/teamspeak-mcp:latest

# Claude Desktop config (env vars in args)
{
  "mcpServers": {
    "teamspeak": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "TEAMSPEAK_HOST=your-server.com",
        "-e", "TEAMSPEAK_USER=your-user", 
        "-e", "TEAMSPEAK_PASSWORD=your-password",
        "ghcr.io/marlburrow/teamspeak-mcp:latest"
      ]
    }
  }
}

🐍 Method 3: Local Python Installation (For developers)

  • Full control - Access to source code

  • Customizable - Modify for specific needs

  • Development - Contribute to the project

  • ⚠️ More setup - Requires Python environment management

# Installation
git clone https://github.com/MarlBurroW/teamspeak-mcp.git
cd teamspeak-mcp && pip install -r requirements.txt

# Claude Desktop config (Python module)
{
  "mcpServers": {
    "teamspeak": {
      "command": "python",
      "args": ["-m", "teamspeak_mcp.server", "--host", "your-server.com", "--user", "your-user", "--password", "your-password"]
    }
  }
}

🏗️ Method 4: Local Docker Build (For customization)

  • Custom builds - Modify Dockerfile as needed

  • Offline capability - No external dependencies

  • Version control - Pin to specific commits

  • ⚠️ Build time - Requires local Docker build

# Installation
git clone https://github.com/MarlBurroW/teamspeak-mcp.git
cd teamspeak-mcp && docker build -t teamspeak-mcp .

# Claude Desktop config (local image)
{
  "mcpServers": {
    "teamspeak": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "TEAMSPEAK_HOST=your-server.com",
        "-e", "TEAMSPEAK_USER=your-user",
        "-e", "TEAMSPEAK_PASSWORD=your-password",
        "teamspeak-mcp"
      ]
    }
  }
}

🎯 Which Method Should You Choose?

Use Case

Recommended Method

Why

First time user

PyPI Package (uvx)

Easiest setup, standard MCP pattern

Production deployment

Pre-built Docker

Reliable, versioned, no dependencies

CI/CD environments

Pre-built Docker

Consistent, fast deployment

Development/Contributing

Local Python

Full access to source code

Custom modifications

Local Docker Build

Controlled build process

Corporate environments

Local Docker Build

No external dependencies

💡 Quick Start Examples

Fastest (PyPI):

uvx install teamspeak-mcp
# Add to Claude Desktop config with CLI args

Most Reliable (Docker):

docker pull ghcr.io/marlburrow/teamspeak-mcp:latest
# Add to Claude Desktop config with env vars in args

Most Flexible (Local):

git clone https://github.com/MarlBurroW/teamspeak-mcp.git
cd teamspeak-mcp && pip install -r requirements.txt
# Add to Claude Desktop config with Python module

🚀 Quick Start

Automatic installation script

python install.py

Connection test

python test_mcp.py

With Docker

# Build image
docker build -t teamspeak-mcp .

# Test with Docker
docker run --rm -it \
  -e TEAMSPEAK_HOST=your-server.com \
  -e TEAMSPEAK_USER=your-user \
  -e TEAMSPEAK_PASSWORD=your-password \
  teamspeak-mcp test

🔑 TeamSpeak Server Setup

Before using TeamSpeak MCP, you need to configure your TeamSpeak server credentials:

📋 Required Information

Parameter

Description

Example

TEAMSPEAK_HOST

Your server IP or domain

ts.example.com or 192.168.1.100

TEAMSPEAK_PORT

ServerQuery port (default: 10011)

10011

TEAMSPEAK_USER

ServerQuery username

mcp_user

TEAMSPEAK_PASSWORD

ServerQuery password

secure_password123

TEAMSPEAK_SERVER_ID

Virtual server ID (usually 1)

1

🔧 How to Get Your Credentials

Step 1: Enable ServerQuery

On your TeamSpeak server, ensure ServerQuery is enabled:

  • Check ts3server.ini: query_port=10011

  • Default enabled on most installations

Step 2: Get Admin Access

  • First installation: Check server logs for admin token: token=AAAA...

  • Existing server: Use your admin credentials

Step 3: Create MCP User

Connect to ServerQuery and create a dedicated user:

# Connect via telnet or putty to your-server:10011
telnet your-server.example.com 10011

# Login with admin
login serveradmin YOUR_ADMIN_PASSWORD

# Create dedicated user for MCP
serverqueryadd client_login_name=mcp_user client_login_password=secure_password123

# Grant necessary permissions (optional - adjust as needed)
servergroupaddclient sgid=6 cldbid=USER_DB_ID

Step 4: Test Connection

# Test with our connection script
python test_mcp.py

# Or with Docker
docker run --rm -it \
  -e TEAMSPEAK_HOST=your-server.example.com \
  -e TEAMSPEAK_USER=mcp_user \
  -e TEAMSPEAK_PASSWORD=secure_password123 \
  ghcr.io/marlburrow/teamspeak-mcp:latest test

💡 Quick Configuration Examples

For PyPI installation:

{
  "mcpServers": {
    "teamspeak": {
      "command": "uvx",
      "args": ["teamspeak-mcp", "--host", "your-server.example.com", "--user", "mcp_user", "--password", "secure_password123"]
    }
  }
}

For Docker installation:

{
  "mcpServers": {
    "teamspeak": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "TEAMSPEAK_HOST=your-server.example.com",
        "-e", "TEAMSPEAK_USER=mcp_user",
        "-e", "TEAMSPEAK_PASSWORD=secure_password123",
        "ghcr.io/marlburrow/teamspeak-mcp:latest"
      ]
    }
  }
}

⚠️ Security Note: Create a dedicated ServerQuery user with minimal permissions. Never use your admin account for automated tools.

Usage

Once configured, you can use these commands with Claude:

Basic Commands

  • "Connect to TeamSpeak server"

  • "Send message 'Hello everyone!' to general channel"

  • "Send private message 'Can you join me?' to user 5"

  • "Poke user 12 with message 'Urgent: Please check the announcement!'"

  • "List connected users"

  • "Create temporary channel called 'Meeting'"

  • "Move user John to private channel"

  • "Show me server info"

🆕 Advanced Commands

  • "Make channel 5 silent so nobody can talk" → Uses set_channel_talk_power with preset "silent"

  • "Set up a moderated welcome channel" → Uses set_channel_talk_power with preset "moderated"

  • "Update channel 3 to set max clients to 10 and add password 'secret'" → Uses update_channel

  • "Show me detailed information about channel 7" → Uses channel_info

  • "Get comprehensive details about client 12" → Uses client_info_detailed

  • "List all permissions for channel 4" → Uses manage_channel_permissions with action "list"

  • "Add talk power permission to channel 6" → Uses manage_channel_permissions with action "add"

  • "Change server name to 'My Gaming Server' and set max clients to 100" → Uses update_server_settings

  • "Set welcome message to 'Welcome to our server!'" → Uses update_server_settings

  • "Add user 15 to admin group 6" → Uses manage_user_permissions with action "add_group"

  • "Remove user 8 from moderator group" → Uses manage_user_permissions with action "remove_group"

  • "Show all server groups for user 12" → Uses manage_user_permissions with action "list_groups"

  • "Give user 20 the 'b_client_kick' permission with value 75" → Uses manage_user_permissions with action "add_permission"

  • "Diagnose my current permissions and connection" → Uses diagnose_permissions

  • "Check why I can't list clients" → Uses diagnose_permissions

🎯 Available Tools (39 total)

Core Tools (12 total)

  • connect_to_server : Connect to TeamSpeak server

  • send_channel_message : Send message to a channel

  • send_private_message : Send private message

  • poke_client : Send poke (alert notification) to a user - more attention-grabbing than private message

  • list_clients : List connected clients

  • list_channels : List channels

  • create_channel : Create new channel

  • delete_channel : Delete channel

  • move_client : Move client to another channel

  • kick_client : Kick client

  • ban_client : Ban client

  • server_info : Get server information

🆕 Advanced Management Tools (8 total)

  • update_channel : Update channel properties (name, description, password, talk power, limits, etc.)

  • set_channel_talk_power : Quick setup for AFK/silent/moderated channels with presets

  • channel_info : Get detailed channel information (permissions, codec, type, etc.)

  • manage_channel_permissions : Fine-grained permission control (add/remove/list)

  • client_info_detailed : Comprehensive client details (platform, version, status, etc.)

  • update_server_settings : Update virtual server settings (name, welcome message, max clients, password, host message, default groups)

  • manage_user_permissions : Complete user permission management (add/remove server groups, set individual permissions, list assignments)

  • diagnose_permissions : Diagnose current connection permissions and troubleshoot issues

🆕 Server Groups Management (4 total)

  • list_server_groups : List all server groups available

  • assign_client_to_group : Add or remove clients from server groups

  • create_server_group : Create new server groups with custom settings

  • manage_server_group_permissions : Manage permissions for server groups

🆕 Moderation & Bans (3 total)

  • list_bans : List all active ban rules on the server

  • manage_ban_rules : Create, delete or manage ban rules (IP, name, UID-based)

  • list_complaints : List complaints against users

🆕 Search & Discovery (2 total)

  • search_clients : Search for clients by name pattern or unique identifier

  • find_channels : Search for channels by name pattern

🆕 Privilege Tokens (2 total)

  • list_privilege_tokens : List all privilege keys/tokens available

  • create_privilege_token : Create new privilege tokens for server/channel access

🆕 File Management (3 total)

  • list_files : List files in a channel's file repository

  • get_file_info : Get detailed information about specific files

  • manage_file_permissions : List and manage active file transfers

🆕 Logs & Monitoring (3 total)

  • view_server_logs : View recent entries from the server log

  • add_log_entry : Add custom entries to the server log

  • get_connection_info : Get detailed connection information

🆕 Snapshots & Backup (2 total)

  • create_server_snapshot : Create snapshots of server configuration

  • deploy_server_snapshot : Deploy/restore server configuration from snapshots

🔧 Development

Local testing

# Install development dependencies
pip install -r requirements.txt

# Run tests
python test_mcp.py

# Start MCP server
python -m teamspeak_mcp.server

Docker build

# Build
docker build -t teamspeak-mcp .

# Test
docker run --rm -it teamspeak-mcp

🔒 Security

  • 🔑 Never commit credentials in code

  • 🛡️ Use ServerQuery accounts with limited privileges

  • 🌐 Configure firewall to restrict ServerQuery port access

  • 🔄 Change ServerQuery passwords regularly

🚀 Automatized Release Workflow (For Maintainers)

This project uses fully automated releases via GitHub Actions. No manual PyPI uploads needed!

How it works:

  1. One Command Release:

    # Patch release (1.0.3 -> 1.0.4)
    make release-patch
    
    # Minor release (1.0.3 -> 1.1.0) 
    make release-minor
    
    # Major release (1.0.3 -> 2.0.0)
    make release-major
  2. Automatic Process:

    • ✅ Bumps version in pyproject.toml

    • ✅ Creates git commit and tag

    • ✅ Pushes to GitHub

    • ✅ GitHub Actions triggers automatically:

      • 🔨 Builds Python package

      • 🧪 Tests on TestPyPI first

      • 📦 Publishes to PyPI

      • 🐳 Builds and publishes Docker images

      • 📝 Creates GitHub release with changelog

  3. Setup (One-time):

    # Show setup instructions
    make setup-pypi

Result:

  • PyPI: uvx install teamspeak-mcp gets the new version

  • Docker: ghcr.io/marlburrow/teamspeak-mcp:v1.0.4 available

  • GitHub: Automatic release with changelog

  • No manual work needed! 🎉

📦 Release Process

This project uses automated GitHub Actions for building and publishing Docker images:

  1. Tag a release: make release-patch (or release-minor/release-major)

  2. Automatic build: GitHub Actions builds and pushes multi-arch images

  3. Available everywhere: PyPI, GitHub Container Registry, and GitHub Releases

🆘 Troubleshooting

Common Issues

  1. "Connection refused"

    • Check that ServerQuery is enabled on your server

    • Verify port (default: 10011)

  2. "Authentication failed"

    • Check your ServerQuery credentials

    • Ensure user has proper permissions

  3. "Virtual server not found"

    • Check virtual server ID with serverlist

  4. "Python version error"

    • Ensure you're using Python 3.10-3.12

    • The MCP library requires Python 3.10+

  5. "Docker environment variables not working"

    • Use -e flags in args instead of the "env": {} field for better compatibility

    • Ensure environment variables are passed correctly in Docker args

    • Check that all required variables are provided: TEAMSPEAK_HOST, TEAMSPEAK_USER, TEAMSPEAK_PASSWORD

Logs

# With Docker
docker logs container-name

# Without Docker
python -m teamspeak_mcp.server --verbose

📝 License

MIT

Available Tools

40 tools
add_log_entryB

Add a custom entry to the server log

ParametersJSON Schema
NameRequiredDescriptionDefault
log_levelYesLog level (1=ERROR, 2=WARNING, 3=DEBUG, 4=INFO)
messageYesLog message to add

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility for disclosing behavior, but it only states the action without details on side effects (e.g., log persistence, permissions, truncation) or error cases.

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 single-sentence description is concise and front-loaded, but it could be slightly more structured with a brief note on usage.

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 write tool, the description covers the basic purpose but omits return value, error behavior, and any prerequisites, leaving gaps for the agent.

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 description does not need to repeat parameter details. However, it adds no extra context about expected message format, level semantics, or constraints beyond the schema.

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

Purpose5/5

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

The description clearly states the verb 'Add' and the resource 'custom entry to the server log', distinguishing it from read-only sibling tools like get_instance_logs and view_server_logs.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor are there any preconditions or restrictions mentioned.

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

assign_client_to_groupC

Add or remove a client from a server group

ParametersJSON Schema
NameRequiredDescriptionDefault
client_database_idYesClient database ID to modify group membership for
actionYesAction to perform
group_idYesServer group ID to add/remove client from

TDQS

C2.9/5.0
Behavior2/5

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

The description lacks behavioral details beyond echoing the action parameter. Without annotations, it does not disclose idempotency, error behavior, or side effects, which are critical for a mutation tool.

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

Conciseness4/5

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

The description is a single, clear sentence. It is concise but could be structured to front-load more context, such as the tool's purpose more explicitly.

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

Completeness2/5

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

Given the tool modifies state and has no annotations or output schema, the description is incomplete. It omits return values, error conditions, or any behavioral guarantees essential for an AI agent.

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?

With 100% schema coverage, the baseline is 3. The description adds no extra meaning beyond the schema; it merely repeats the action parameter's concept.

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

Purpose4/5

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

The description clearly states that the tool adds or removes a client from a server group, using specific verbs and resources. It distinguishes from sibling tools like create_server_group or list_server_groups, though not 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 is provided on when to use this tool versus alternatives, such as manage_server_group_permissions. There is no mention of prerequisites or scenarios where the tool should not be used.

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

ban_clientC

Ban a client from the server

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

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, and the description lacks important behavioral details such as whether banning disconnects the client, what happens with existing bans, or the effect of duration=0 (permanent). The term 'ban' is ambiguous.

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 concise sentence with no superfluous information. It is front-loaded and directly states the tool's purpose.

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

Completeness2/5

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

Given the absence of an output schema and annotations, the description is too brief. It does not clarify the return value, side effects, or success/failure indicators, leaving the agent underinformed for 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?

Schema description coverage is 100%, so each parameter is already documented. The description adds no additional meaning beyond what the schema provides, earning the baseline score.

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

Purpose4/5

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

The description clearly states the action (ban) and the resource (client). It is specific and distinguishes from related tools like kick_client by implying permanence, though not explicit.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as kick_client or manage_ban_rules. Missing context about prerequisites like required permissions.

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

channel_infoB

Get detailed information about a specific channel

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYesChannel ID to get info for

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, and the description does not disclose behavioral traits such as read-only nature, response structure, or data volume, leaving the agent underinformed.

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, well-structured and front-loaded with the purpose. No wasted words.

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

Completeness2/5

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

Given no output schema and no behavioral context, the description fails to explain what 'detailed information' includes or any potential side effects, making it incomplete for an info retrieval 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?

The schema covers 100% of parameters and describes channel_id. The description adds no extra meaning beyond the schema, meeting baseline but not exceeding.

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 'Get detailed information about a specific channel' clearly states the verb (get) and resource (channel info), and distinguishes from siblings like list_channels or find_channels.

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

Usage Guidelines2/5

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

No usage guidance is provided; there is no mention of when to use this tool vs alternatives like list_channels or channel existence checks.

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

client_info_detailedC

Get detailed information about a specific client

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesClient ID to get detailed info for

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, and description fails to disclose what 'detailed information' includes, whether it's read-only, permissions needed, or any side effects. Relies solely on vague wording.

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?

Single sentence is concise but lacks structure and key details. Could be expanded to include behavioral context 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?

With no output schema and no annotations, the description does not specify return format, what 'detailed' entails, or how it differs from sibling tools like list_clients. Inadequate for effective agent decision-making.

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 one well-described parameter. Description does not add additional meaning beyond what schema already provides, meeting the 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?

Description clearly states the tool retrieves detailed info for a specific client, but does not differentiate from sibling 'list_clients' which likely provides a summary list. Lacks explicit mention that it targets a single client.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like list_clients or search_clients. No exclusion or context provided.

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

connect_to_serverB

Connect to the configured TeamSpeak server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior1/5

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

With no annotations provided, the description must fully disclose behavioral traits. It fails to mention authentication requirements, idempotency, side effects, or whether it can be called multiple times. The single sentence is insufficient.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. Every word earns its place.

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

Completeness3/5

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

Given zero parameters and no output schema, the description covers the basic purpose. However, it omits whether this is a required first step, any error conditions, or connection lifecycle. Adequate but minimal.

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 0 parameters, so schema coverage is 100% by default. The description confirms no parameters are needed, adding context about a preconfigured server. Baseline for 0 params is 4.

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

Purpose5/5

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

The description clearly states the action ('Connect') and the resource ('the configured TeamSpeak server'), distinguishing it from siblings that perform other operations. It is specific and unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives, such as whether it must be called first, or prerequisites like server configuration. The description provides no context for usage decisions.

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

create_channelC

Create a new channel

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesChannel name
parent_idNoParent channel ID (optional)
permanentNoPermanent or temporary channel (default: temporary)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, and the description does not disclose any behavioral traits such as required permissions, side effects, or whether the operation is destructive. The description carries the full burden, and it fails to provide necessary behavioral context.

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

Conciseness4/5

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

The description is a single, clear sentence that is front-loaded. It is appropriately concise, though it could benefit from a bit more detail without becoming verbose.

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

Completeness2/5

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

Given the three parameters and the absence of annotations and output schema, the description is incomplete. It does not mention expected return values, error conditions, or additional context necessary 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?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning beyond the tool's name, so it meets the baseline of 3 but does not provide any additional guidance on parameter usage.

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

Purpose4/5

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

The description clearly states the action ('Create') and the resource ('channel'), and it is distinguishable from sibling tools like 'update_channel' and 'delete_channel'. However, it lacks specifics about the type of channel (e.g., text or voice) which could improve clarity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'update_channel' or 'channel_info'. There is no mention of prerequisites, permissions, or context for use.

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

create_privilege_tokenB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
token_typeYesToken type (0=server group, 1=channel group)
group_idYesServer group ID (for token_type=0) or channel group ID (for token_type=1)
channel_idNoChannel ID (required for channel group tokens when token_type=1)
descriptionNoOptional description for the token
custom_setNoOptional custom client properties set (format: ident=value|ident=value)

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 must handle behavioral disclosure. It does not mention side effects, what the token is used for after creation, error conditions, or permission requirements.

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

Conciseness5/5

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

Single sentence with no extraneous words; efficient and to the point.

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 5-parameter tool with no output schema or behavioral notes, the description is too sparse. It does not explain the token's purpose after creation or how it integrates with other tools.

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 covers 100% of parameters with detailed descriptions. The description adds context about 'server or channel group access' but does not significantly improve understanding beyond the schema.

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

Purpose5/5

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

The description clearly states the action (create), the object (privilege key/token), and its purpose (for server or channel group access). It distinguishes from siblings like list_privilege_tokens and other create tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites (e.g., required permissions), and no mention of when not to use it.

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

create_server_groupB

Create a new server group with specified name and type

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

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries full burden but tells only that it creates a new server group. It does not disclose required permissions, whether the operation is idempotent, or any side effects (e.g., name uniqueness or validation constraints).

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

Conciseness5/5

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

The description is a single sentence with no fluff. It is front-loaded and efficiently communicates the tool's purpose and inputs.

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

Completeness3/5

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

For a simple creation tool, the description covers the basic action and inputs but omits details about the return value (e.g., ID of new server group) and potential error conditions (e.g., duplicate name).

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 baseline is 3. The description restates 'name and type' without adding new meaning or constraints beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the action 'create a new server group' and specifies the inputs 'name and type'. This distinguishes it from sibling tools like list_server_groups or manage_server_group_permissions which have different purposes.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., for listing or managing permissions). There is no mention of prerequisites or context that would help an agent decide to invoke this tool.

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

create_server_snapshotB

Create a snapshot of the virtual server configuration

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, and the description does not disclose behavioral details such as whether the snapshot replaces existing snapshots, requires permissions, or has any side effects. This is insufficient for a tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single sentence with no unnecessary words. It is concise and front-loaded, effectively conveying the tool's purpose without waste.

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

Completeness3/5

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

Given the tool has no parameters and no output schema, the description is minimal but missing information about the return value (e.g., snapshot ID). For a simple tool, this is a minor gap, but overall it is adequate for basic understanding.

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

Parameters4/5

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

The input schema has zero parameters, and schema description coverage is 100%. The description adds no parameter info, but baseline for zero parameters is 4. The tool does not require parameters, so the description is adequate.

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

Purpose4/5

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

The description clearly states the action ('Create a snapshot') and the resource ('virtual server configuration'). However, it does not differentiate from the sibling tool 'deploy_server_snapshot', which could cause confusion about the tool's exact role.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'deploy_server_snapshot'. The description offers no context about prerequisites, conditions, or scenarios for use.

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

delete_channelB

Delete a channel

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

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only states 'Delete a channel' without explaining irreversibility, permission requirements, or effect on related objects like messages or members.

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. However, it could be slightly expanded to include key behavioral notes without losing conciseness.

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

Completeness2/5

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

Given no output schema and no annotations, the description fails to cover important aspects like return value, side effects, and error conditions. It is too sparse for a deletion 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 provides full parameter coverage with descriptions. The description adds no extra meaning beyond the schema. Baseline 3 applies.

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

Purpose5/5

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

The description 'Delete a channel' clearly states the action and resource. It distinguishes well from siblings like create_channel or update_channel by specifying deletion.

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

Usage Guidelines2/5

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

No usage context is provided. There is no guidance on when to use this tool versus alternatives (e.g., update to disable), nor any mention of prerequisites or consequences.

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

deploy_server_snapshotB

Deploy/restore a server configuration from a snapshot

ParametersJSON Schema
NameRequiredDescriptionDefault
snapshot_dataYesSnapshot data to deploy (from create_server_snapshot)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether the deployment is destructive, what happens to the current configuration, or any authorization requirements. This leaves significant behavioral gaps.

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

Conciseness4/5

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

The description is very short (one sentence) and front-loaded. It is efficient but might be too terse for some users; however, it earns its place with no unnecessary words.

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

Completeness3/5

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

Given the low complexity (1 parameter, no output schema), the description covers the basic purpose but lacks details on behavior, return values, or prerequisites. It is minimally adequate but incomplete.

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

Parameters3/5

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

Schema coverage is 100%, and the parameter description 'Snapshot data to deploy (from create_server_snapshot)' is adequate. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Deploy/restore') and the resource ('server configuration from a snapshot'). It distinguishes from sibling 'create_server_snapshot' which creates snapshots, whereas this deploys 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 when you have a snapshot to deploy, but it does not provide explicit guidance on when to use this tool vs alternatives (e.g., when not to use it, prerequisites).

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

diagnose_permissionsA

Diagnose current connection permissions and provide troubleshooting help

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations provided, the description must fully convey behavioral traits. It implies a read-only operation ('diagnose'), but does not explicitly state that no changes are made, nor does it describe the nature of the output or any side effects.

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

Conciseness5/5

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

The description is a single, efficient sentence. It front-loads the core action and purpose with no unnecessary words.

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

Completeness4/5

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

For a simple diagnostic tool with no parameters and no output schema, the description provides sufficient context. It could elaborate on what 'troubleshooting help' entails, but overall it is adequate.

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

Parameters4/5

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

The tool has zero parameters, so the input schema is fully covered. The description does not need to add parameter details, but it could clarify that no input is required. Baseline of 4 is appropriate given no parameters.

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

Purpose5/5

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

The description clearly states the tool diagnoses current connection permissions and provides troubleshooting help. It uses a specific verb ('diagnose') and resource ('current connection permissions'), and the purpose is distinct from sibling tools, which are either management or informational.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs. alternatives like manage_channel_permissions or list_bans. The description implies troubleshooting, but does not explicitly state when to avoid other tools or provide context for selection.

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

find_channelsA

Search for channels by name pattern

ParametersJSON Schema
NameRequiredDescriptionDefault
patternYesSearch pattern for channel name

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided. Description only says 'search', which indicates a read operation, but fails to disclose matching behavior (case sensitivity, partial matching, etc.). Minimal behavioral disclosure.

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

Conciseness5/5

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

Extremely concise, single sentence with no fluff. Structure is minimal but effective for the core purpose.

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

Completeness3/5

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

Given one parameter and no output schema, the description is adequate but could include search behavior details (e.g., regex support, case sensitivity). No additional context that improves 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 coverage is 100% with parameter description 'Search pattern for channel name'. Description adds no new meaning beyond schema, so baseline score of 3 is appropriate.

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

Purpose5/5

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

Description explicitly states the core functionality: searching for channels by name pattern. Clearly distinguishes from siblings like list_channels (which likely lists all) and channel_info (specific channel detail).

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

Usage Guidelines3/5

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

No explicit when-to-use or alternatives mentioned. The purpose implies use for pattern-based search, but lacks guidance on when to prefer this over list_channels or channel_info.

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

get_connection_infoB

Get detailed connection information for the virtual server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior1/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. The description only states the purpose and does not mention any behavioral traits such as read-only nature, authentication requirements, or side effects.

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

Conciseness5/5

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

The description is a single concise sentence that efficiently conveys the tool's purpose without extraneous words. It is appropriately front-loaded.

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

Completeness3/5

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

Given the absence of an output schema and the simplicity of the tool (no parameters), the description is minimally adequate. However, it does not elaborate on what 'connection information' includes, which could lead to ambiguity.

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

Parameters4/5

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

The input schema has zero parameters, which is fully covered (100%). With no parameters, the description does not need to add param semantics, and the baseline of 4 is appropriate.

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

Purpose4/5

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

The description clearly states the action ('Get') and the resource ('detailed connection information for the virtual server'), which is specific and distinguishable from sibling tools like 'server_info' or 'connect_to_server'. However, it does not explicitly contrast with similar tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor are there any prerequisites or when-not-to-use instructions. The description fails to help an agent decide between this and related tools.

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

get_file_infoB

Get detailed information about a specific file in a channel

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

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, and the short description does not disclose behavioral traits such as whether the operation is read-only, requires specific permissions, or any side effects. The agent has no indication of safety or impact.

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

Conciseness3/5

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

The description is a single sentence, concise but minimal. Could include structured information like intended use or return type 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?

No output schema exists, and the description does not explain what 'detailed information' includes. The tool's simplicity is offset by a lack of clarity on return values and usage context.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond what the schema already specifies for the three parameters.

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

Purpose5/5

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

Clearly states the tool gets detailed information about a specific file in a channel. Distinguishes from sibling tools like list_files (which lists files) and other channel operations.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., list_files). No mention of prerequisites or context, leaving the agent to infer usage.

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

get_instance_logsA

Get instance-level logs instead of virtual server logs

ParametersJSON Schema
NameRequiredDescriptionDefault
linesNoNumber of log lines to retrieve (1-100, default: 50)
reverseNoShow logs in reverse order (newest first, default: true)
begin_posNoStarting position in log file (optional)

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, permissions required, or performance impact. The description only restates the tool's function without adding safety or side-effect context.

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

Conciseness5/5

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

The description is a single, front-loaded phrase with no unnecessary words. It efficiently conveys the purpose and contrast.

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?

The description does not explain what instance-level logs are, what output format to expect, or the default behavior when no parameters are provided. Given the absence of an output schema, more context is needed for an agent to fully understand the tool's 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?

The input schema provides complete descriptions for all parameters (100% coverage), so the description adds no additional meaning. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool retrieves instance-level logs and explicitly contrasts with virtual server logs, distinguishing it from the sibling tool view_server_logs.

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

Usage Guidelines4/5

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

The description explicitly says 'instead of virtual server logs,' providing clear guidance on when to use this tool versus its sibling. However, it does not mention any prerequisites or scenarios to avoid.

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

kick_clientB

Kick a client from server or channel

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesClient ID
reasonNoKick reasonExpelled by AI
from_serverNoKick from server (true) or channel (false)

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 must disclose all behavioral traits. It only states the basic action without explaining consequences (e.g., whether the client is notified, if the kick is reversible, or any permission requirements).

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

Conciseness4/5

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

The description is a single sentence with no fluff, making it concise. However, it could be better structured by front-loading key information or using bullet points for clarity, though it is not overly 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 the tool has three parameters, no output schema, no annotations, and exists alongside similar tools like ban_client, the description fails to explain distinctions (e.g., temporary vs permanent), post-kick behavior, or restrictions (e.g., cannot kick self). It is insufficient for full context.

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

Parameters3/5

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

The input schema covers all three parameters with descriptions (100% coverage). The tool description adds minimal extra meaning, mainly implying the scope via 'from server or channel', but does not elaborate on the parameters beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the action ('Kick') and the resource ('client'), and specifies the two scopes ('from server or channel'), effectively distinguishing it from sibling tools like ban_client or move_client.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool over alternatives (e.g., ban_client), no prerequisites, and no context on when to set the 'from_server' parameter. The default reason is given but not contextualized.

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

list_bansA

List all active ban rules on the virtual server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

Describes a read operation, which is clear. However, does not disclose any permissions needed or whether bans are returned in full detail. Annotations absent, so burden is on description.

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

Conciseness5/5

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

Single sentence, no wasted words. Front-loaded with key information.

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

Completeness4/5

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

For a zero-parameter list tool, description covers the purpose adequately. Could benefit from mentioning return format, but not critical.

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

Parameters4/5

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

No parameters in schema, so baseline 4 applies. Nothing to add beyond schema.

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

Purpose5/5

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

Description clearly states verb 'List', resource 'ban rules', and scope 'active' on 'virtual server'. Distinguishes from sibling tools like 'ban_client' and 'manage_ban_rules'.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. No mention of prerequisites or context.

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

list_channelsA

List all channels on the server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only says 'list all channels'. It fails to disclose behavioral traits such as required permissions, rate limits, pagination, or what data fields are returned. The agent gains minimal insight beyond the tool's name.

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 directly states the purpose. It is front-loaded and not verbose, though it could benefit from a bit more context without becoming bulky.

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

Completeness2/5

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

Given no output schema and no annotations, the description is minimally informative. It does not explain what channel properties are listed, ordering, or any prerequisites. For a simple list tool, more detail on return format would improve completeness.

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

Parameters4/5

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

There are no parameters, so schema coverage is trivially 100%. The description adds no parameter info, but with zero parameters, the baseline is 4. It does not need to compensate for any gaps.

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 'List all channels on the server' clearly specifies the action (list) and the resource (channels), distinguishing it from siblings like 'channel_info' (details on a specific channel) and 'find_channels' (search/filter).

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

Usage Guidelines3/5

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

The description states the tool's function but provides no guidance on when to use it versus alternatives like 'find_channels' or 'channel_info'. It implicitly suggests use when all channels are needed, but lacks explicit when-not or alternative mentions.

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

list_clientsA

List all clients connected to the server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

The description indicates a read-only operation (listing clients), which is appropriate. However, it does not disclose any potential limitations such as pagination, permission requirements, or impact on the server. With no annotations, the description could be more explicit about the 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?

The description is a single, concise sentence that conveys the essential purpose. It is front-loaded and contains no unnecessary words or repetition.

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

Completeness3/5

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

Given no output schema, the description does not clarify what information is returned for each client (e.g., name, ID, IP). For a complete understanding, the agent might need more context about the response format or any default sorting.

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

Parameters4/5

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

The input schema has no parameters, so the description does not need to add parameter meaning. The schema coverage is 100%, and the description aligns with the tool's purpose. Baseline score of 4 is appropriate for zero parameters.

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

Purpose5/5

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

The description clearly states the action ('list') and the resource ('all clients connected to the server'). It distinguishes from sibling tools like 'search_clients' which implies filtering, and 'client_info_detailed' which provides details for a single client.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'search_clients' for filtered results or 'client_info_detailed' for a specific client. The description lacks any context for selection.

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

list_complaintsB

List complaints on the virtual server

ParametersJSON Schema
NameRequiredDescriptionDefault
target_client_database_idNoTarget client database ID to filter complaints (optional)

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 disclose behavioral traits. It only states the action without mentioning that it is read-only, what complaints are, or any permission requirements. The description is too minimal to be transparent.

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

Conciseness5/5

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

The description is a single, efficient sentence that conveys the core purpose with no unnecessary words. It is front-loaded and easy to read.

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

Completeness3/5

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

Given the simple nature of the tool (list with one optional filter), the description is minimally adequate. However, it fails to explain return values or behavioral context (e.g., whether it lists all complaints or only those for the current user). Annotations and output schema are missing, so completeness could be improved.

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 schema description coverage is 100%, with a clear description for the optional 'target_client_database_id' parameter. The tool description does not add extra meaning beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'List' and resource 'complaints on the virtual server', making the purpose unambiguous. It distinguishes itself from sibling listing tools like list_bans, list_channels, list_clients, etc., as it deals with a different entity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives. For example, it does not explain that filtering by client database ID is optional for listing all complaints. Given many sibling listing tools, explicit usage context is missing.

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

list_filesB

List files in a channel's file repository

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYesChannel ID to list files for
pathNoDirectory path to list (default: root '/')/
channel_passwordNoChannel password if required (optional)

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 must disclose behavioral traits; however, it only states the basic function without mentioning what the output contains, authentication needs, or potential side effects.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant words.

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

Completeness2/5

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

Given the tool has 3 parameters, no output schema, and no annotations, the description is too minimal; it omits details like return format, pagination, and error handling.

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 baseline is 3; the description adds no additional meaning beyond the schema's parameter descriptions.

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

Purpose5/5

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

The description uses a specific verb-resource pair ('List files') with clear scope ('in a channel's file repository'), and the tool name and sibling tools confirm it is distinct.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as get_file_info or list_channels; no mention of prerequisites or exclusions.

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

list_privilege_tokensA

List all privilege keys/tokens available on the server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It clearly indicates a read-only operation ('List all') and no side effects are implied. However, it does not disclose if special permissions are required.

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

Conciseness5/5

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

The description is a single, concise sentence that conveys the purpose without redundant words.

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

Completeness4/5

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

For a tool with no parameters and no output schema, the description adequately explains what it does. It could mention its relationship to 'create_privilege_token' but is not essential.

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

Parameters4/5

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

There are no parameters, so schema coverage is 100% by default. The description does not add meaning beyond the schema but is not required to since the schema is empty.

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 'List' and clearly identifies the resource as 'privilege keys/tokens available on the server'. This distinguishes it from the sibling tool 'create_privilege_token' which creates tokens.

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

Usage Guidelines3/5

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

The description implies usage for listing all privilege tokens but does not provide explicit guidance on when to use this tool versus alternatives or any prerequisites.

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

list_server_groupsA

List all server groups available on the virtual server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided; description does not disclose read-only nature, required permissions, or any side effects. 'List all' implies read-only but is not explicit.

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

Conciseness5/5

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

Single sentence, no wasted words. Appropriate length for the tool's simplicity.

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

Completeness3/5

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

Given no output schema, description could elaborate on what the list contains (IDs, names, etc.). However, for a straightforward list-all tool with no parameters, it meets minimum completeness.

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

Parameters4/5

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

No parameters exist in the schema, so baseline is 4. Description correctly states it lists all groups without needing parameters, adding no further semantics but not missing any either.

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

Purpose5/5

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

Description clearly states the verb 'list', resource 'server groups', and scope 'on the virtual server'. It effectively distinguishes from sibling tools like create_server_group or manage_server_group_permissions.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as list_channels or manage_server_group_permissions. No mention of prerequisites or context.

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

manage_ban_rulesC

Create, delete or manage ban rules

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
ban_idNoBan ID (required for delete action)
ipNoIP address pattern to ban (optional for add action)
nameNoName pattern to ban (optional for add action)
uidNoClient unique identifier to ban (optional for add action)
timeNoBan duration in seconds (0 = permanent, default: 0)
reasonNoBan reason (optional)Banned by AI

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 should disclose behavioral traits. It only says 'Create, delete or manage' but does not explain consequences, permissions, or reversibility of actions.

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

Conciseness4/5

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

The description is very concise, consisting of a single short sentence without redundancy. However, it sacrifices completeness for brevity.

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

Completeness2/5

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

Given the complexity (7 parameters, action enum with conditional requirements), the description is too brief. It does not summarize behavior, conditional logic, or output, leaving gaps for an AI agent.

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% and parameter descriptions in the schema are clear. The description adds no additional meaning beyond what the schema already provides.

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 'Create, delete or manage ban rules', which gives a general idea but is vague on what 'manage' entails beyond create/delete. It does not differentiate from sibling tools like 'list_bans' (read-only) or 'ban_client' (likely quick ban).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'ban_client' or 'list_bans'. The description lacks context for tool selection.

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

manage_channel_permissionsC

Add or remove specific permissions for a channel

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

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 must fully disclose behavior. It only says 'add or remove', but the schema includes a 'list' action. There is no mention of what happens on success, error conditions, or whether permissions are cumulative or replaceable.

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

Conciseness4/5

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

The description is a single sentence, concise and front-loaded. However, it sacrifices completeness for brevity, omitting the list action and behavioral context.

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?

The tool has 4 parameters, no output schema, and no annotations. The description fails to explain return values, error handling, or the effect of actions. It is insufficient for an agent to understand the tool's full capabilities.

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

Parameters3/5

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

Input schema has 100% description coverage, so the baseline is 3. The tool description adds minimal value beyond the schema, only stating 'specific permissions' without further detail on permission names or value semantics.

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

Purpose4/5

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

The description clearly states the tool adds or removes permissions for a channel, using specific verbs and resource. However, it omits the 'list' action available in the schema, and does not differentiate from sibling permission management tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like manage_file_permissions or manage_user_permissions. The agent receives no context on prerequisites or when listing vs adding/removing is appropriate.

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

manage_file_permissionsC

List active file transfers and manage file transfer permissions

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
transfer_idNoFile transfer ID (required for stop_transfer action)
delete_partialNoDelete partial file when stopping transfer (default: false)

TDQS

C2.2/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It does not explain side effects (e.g., what happens when a transfer is stopped, whether partial files are deleted) or required permissions. The description is too vague.

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

Conciseness2/5

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

The description is short but inaccurate. It uses 'manage file transfer permissions' which is not supported by the schema, wasting the single sentence on misleading content. Conciseness without accuracy is not valuable.

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

Completeness2/5

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

Given no annotations or output schema, the description should cover behaviors, side effects, and usage context. It fails to do so, providing only a high-level and partially incorrect overview. The tool's complexity is low, but the description is insufficient.

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. The description adds no extra meaning beyond the schema. The action enum is clear, but the description's mention of 'manage permissions' does not align with the actual parameters.

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

Purpose2/5

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

The description states 'List active file transfers and manage file transfer permissions', but the schema only supports 'list_transfers' and 'stop_transfer' actions. The 'manage permissions' part is not reflected in the input schema, making the purpose partially misleading and not fully accurate.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus siblings like 'list_files' or other permission management tools (e.g., 'manage_channel_permissions'). The description does not specify prerequisites or alternatives.

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

manage_server_group_permissionsB

Add, remove or list permissions for a server group

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesServer group ID to modify permissions for
actionYesAction to perform
permissionNoPermission name (required for add/remove actions)
valueNoPermission value (required for add action)
skipNoSkip flag for permission (optional, default: false)
negateNoNegate flag for permission (optional, default: false)

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 full responsibility for behavioral disclosure. It only lists the possible actions without explaining side effects (e.g., whether changes are immediate, require permissions, or affect other settings). The schema includes flags like skip and negate, but their behavioral implications are not described.

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

Conciseness4/5

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

The description is a single, clear sentence that quickly conveys the tool's purpose. It is front-loaded with the verb and resource. However, it could be slightly expanded to mention optional parameters 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 the tool has 6 parameters, no output schema, and no annotations, the description is too sparse. It does not explain return values for the list action, nor does it cover the behavior of optional parameters. A more complete description would include usage context and expected outcomes.

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?

Since the input schema has 100% coverage, the baseline is 3. The description does not add any additional meaning to the parameters beyond what the schema already provides. It does not explain the purpose of skip, negate, or value in any detail.

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 ('manage') and clearly identifies the resource (server group permissions). It lists the three actions (add, remove, list), making the purpose unambiguous and distinguishing it from sibling tools like manage_channel_permissions or manage_user_permissions.

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 that the tool is for modifying server group permissions, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., diagnose_permissions or list_server_groups). No exclusions or prerequisites are mentioned.

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

manage_user_permissionsB

Manage user permissions: add/remove server groups, set individual permissions

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesClient ID to manage permissions for
actionYesAction to perform
group_idNoServer group ID (required for add_group/remove_group actions)
permissionNoPermission name (required for add_permission/remove_permission actions)
valueNoPermission value (required for add_permission action)
skipNoSkip flag for permission (optional, default: false)
negateNoNegate flag for permission (optional, default: false)

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 must disclose behavioral traits. It mentions actions but does not discuss side effects, required authentication, or the impact of actions like removing a group. This leaves significant gaps for a tool that modifies permissions.

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, efficient but could be slightly more structured to enumerate actions clearly.

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

Completeness2/5

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

Given the tool has 7 parameters with conditional requirements and no output schema, the description is too brief. It does not explain return behavior or how parameters interact, leaving the agent to infer from the schema alone.

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 input schema fully documents each parameter. The description adds no extra meaning beyond summarizing the tool's purpose. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states it manages user permissions by adding/removing server groups and setting individual permissions, which distinguishes it from sibling tools like manage_channel_permissions or manage_server_group_permissions.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not specify that it applies to individual user permissions as opposed to group or channel permissions, leaving the agent without clear selection criteria.

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

move_clientB

Move a client to another channel

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesClient ID
channel_idYesDestination channel ID

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description should carry full burden but only says 'move'. It does not disclose whether the move is instantaneous, what happens to channel memberships, or any side effects like permission changes.

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 single sentence is very concise with no wasted words. It could be slightly more informative without harming conciseness.

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

Completeness2/5

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

Given no output schema and no annotations, the description should provide more context, such as the effect on the client, whether the move is within the same server, or error conditions. It currently lacks 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 coverage is 100% with descriptions for both parameters. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Move' and the resource 'client' to 'another channel', which is specific and distinguishes from sibling tools like 'kick_client' or 'assign_client_to_group'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'assign_client_to_group' or 'kick_client'. There is no context about prerequisites or exclusions.

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

poke_clientA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesTarget client ID to poke
messageYesPoke message to send

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, and the description lacks disclosure of behavioral traits such as whether the poke is destructive, permission requirements, rate limits, or what happens if the client is offline.

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 communicates the core purpose efficiently without unnecessary words.

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

Completeness4/5

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

For a simple notification tool with two clear parameters, the description is nearly complete. It lacks minor details like persistence or cooldowns but covers the essential purpose and differentiation.

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 description does not need to add much. It mentions 'to a client' but does not explain the parameters beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the action ('send a poke'), the target resource ('client'), and distinguishes it from a sibling tool ('more attention-grabbing than a private message').

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

Usage Guidelines4/5

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

The description implies when to use this tool (for attention-grabbing alerts) versus a private message, but does not explicitly provide when-not-to-use scenarios or other alternatives.

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

search_clientsA

Search for clients by name pattern or unique identifier

ParametersJSON Schema
NameRequiredDescriptionDefault
patternYesSearch pattern for client name or UID
search_by_uidNoSearch by unique identifier instead of name (default: false)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. It only states search by pattern or UID, but does not disclose behavior like case sensitivity, partial matching, pagination, or limits. Significant gaps for a search 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?

Single sentence with no wasted words, directly conveys the tool's purpose. Efficiently structured.

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

Completeness3/5

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

For a simple 2-parameter search with no output schema, the description is adequate but lacks information on return format, pagination, or match semantics. Could be more complete.

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

Parameters3/5

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

Schema coverage is 100% (both parameters documented). Description adds slight context ('by name pattern or unique identifier') but does not elaborate beyond what schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool searches for clients by name pattern or unique identifier, specifying the verb and resource. It distinguishes from sibling tools like list_clients and client_info_detailed.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. It implies usage for searching by name or UID, but does not mention when not to use it or compare to siblings like list_clients.

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

send_channel_messageC

Send a message to a TeamSpeak channel

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idNoChannel ID (optional, uses current channel if not specified)
messageYesMessage to send

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 full burden for behavioral disclosure. It only states the basic action, omitting any behavioral traits such as whether the user must be in the channel, character limits, or potential errors. The description adds no value beyond the tool's name.

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 effectively communicates the tool's core purpose. No extraneous information. While concise, it could be slightly more informative without losing brevity.

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

Completeness3/5

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

Given the tool's simplicity (2 params, no output schema), the description is minimally complete. It explains what the tool does but lacks context about return value, error conditions, or prerequisites (e.g., needing to be on a server). For a basic messaging action, this may be sufficient but could be improved.

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 both parameters have descriptions in the schema (channel_id optional with default behavior, message required). The description does not add any additional semantic meaning beyond what the schema already provides. Baseline 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 'Send a message to a TeamSpeak channel' clearly states the action (send) and the resource (channel message). It distinguishes from sibling 'send_private_message' by targeting channels. Could be more specific about channel scope (optional channel_id), but overall clear.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs siblings like send_private_message. No mention of prerequisites (e.g., being connected to a server, channel membership) or context for use. The description lacks any when-to-use or when-not-to-use information.

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

send_private_messageC

Send a private message to a user

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesTarget client ID
messageYesMessage to send

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description only restates the tool's purpose. It does not disclose side effects (e.g., is message stored? does user need to be online?), privacy implications, or limitations.

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

Conciseness4/5

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

Single sentence with no wasted words. While efficient, the brevity leaves gaps that could be filled without bloating.

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

Completeness2/5

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

No output schema and no description of return values or error conditions. For a simple send, details like message length limits or whether confirmation is returned are missing.

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. The description adds no additional meaning beyond what is in the schema, meeting the baseline 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 clearly states the action (send) and resource (private message to a user). However, it does not distinguish from siblings like 'send_channel_message', which also sends messages. The term 'private' hints at a difference but is not explicit.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., 'send_channel_message', 'poke_client'). No context about prerequisites or exclusions.

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

server_infoA

Get TeamSpeak server information

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It fails to mention whether the operation is read-only, what specific information is returned (e.g., host, version, online users), or any potential side effects. This is insufficient for an info-gathering 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 sentence with no wasted words. It is front-loaded with the key action and resource.

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

Completeness3/5

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

Given no parameters, no output schema, and no annotations, the description is minimal. It does not elaborate on what 'server information' entails (e.g., connection status, version, client count). For a tool with no output schema, more context about the return value would be helpful.

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

Parameters4/5

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

There are zero parameters, and the schema description coverage is 100%. According to guidelines, 0 parameters baseline is 4. The description adds nothing beyond the schema, but the schema itself is sufficient.

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

Purpose5/5

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

The description clearly states the action ('Get') and the resource ('TeamSpeak server information'), which is specific and unambiguous. It distinguishes from sibling tools like 'channel_info' or 'client_info_detailed' by focusing on server-level information.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. The description implies usage for general server information, but does not provide when-not-to-use or differentiate from other info tools like 'get_connection_info' or 'view_server_logs'.

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

set_channel_talk_powerB

Set talk power requirement for a channel (useful for AFK/silent channels)

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYesChannel ID to configure
talk_powerNoRequired talk power (0=everyone can talk, 999=silent channel)
presetNoQuick preset: 'silent' (999), 'moderated' (50), 'normal' (0)

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 must disclose behavioral traits. It only states the basic action without mentioning permissions required, side effects (e.g., immediate vs. persistent), or whether changes affect current speakers. The schema covers parameter meanings, but the description adds no behavioral context beyond the obvious mutation.

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

Conciseness4/5

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

The description is a single, front-loaded sentence containing the core action and a context hint. It is concise, but it could be more informative without harming conciseness.

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

Completeness2/5

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

Given no output schema, the description does not explain return values or success/failure behavior. The relationship between the two optional parameters (talk_power and preset) is unclear. The description is too minimal for a configuration-modifying 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 baseline is 3. The description does not add additional meaning to the parameters (e.g., interplay between talk_power and preset) 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?

The verb 'Set' and resource 'talk power requirement for a channel' clearly state the action and object. The note 'useful for AFK/silent channels' adds context that distinguishes it from general channel updates, but it does not explicitly differentiate from sibling tools like 'update_channel'.

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

Usage Guidelines3/5

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

The description mentions a specific use case (AFK/silent channels) but does not provide when-to-use vs. alternatives, nor when not to use. No sibling names or exclusions are given.

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

update_channelC

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

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYesChannel ID to update
nameNoNew channel name (optional)
descriptionNoNew channel description (optional)
passwordNoNew channel password (optional, empty string to remove)
max_clientsNoMaximum number of clients (optional)
talk_powerNoRequired talk power to speak in channel (optional)
codec_qualityNoAudio codec quality 1-10 (optional)
permanentNoMake channel permanent (optional)

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 burden. It only says 'Update' without disclosing side effects, required permissions, or whether omitted properties remain unchanged. This is insufficient for a mutation tool.

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

Conciseness4/5

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

The description is a single concise sentence, which is efficient. However, it could be structured to front-load the main action and then list parameters explicitly. Still, it avoids unnecessary verbosity.

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

Completeness2/5

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

Given the tool has 8 parameters, no output schema, and no annotations, the description is too brief. It lacks information on return values, error conditions, and partial update behavior, making it incomplete for confident use.

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 describes all parameters. The description adds no extra meaning beyond listing a few examples. Baseline 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 clearly states the tool updates channel properties and lists examples (name, description, password, talk power, limits, etc.), distinguishing it from siblings like create_channel or delete_channel. However, the 'etc.' is vague and could be more precise.

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 manage_channel_permissions or set_channel_talk_power. The description does not specify context or prerequisites.

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

update_server_settingsC

Update virtual server settings (name, welcome message, max clients, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoServer name (optional)
welcome_messageNoServer welcome message (optional)
max_clientsNoMaximum number of clients (optional)
passwordNoServer password (optional, empty string to remove)
hostmessageNoHost message displayed in server info (optional)
hostmessage_modeNoHost message mode: 0=none, 1=log, 2=modal, 3=modalquit (optional)
default_server_groupNoDefault server group ID for new clients (optional)
default_channel_groupNoDefault channel group ID for new clients (optional)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided. Description only indicates mutation but omits permission needs, reversibility, or return behavior.

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

Conciseness4/5

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

Single, front-loaded sentence. Use of 'etc.' introduces vagueness but overall concise.

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

Completeness2/5

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

Fails to describe output behavior or confirm that all parameters are optional. Incomplete for a tool with 8 optional parameters and no output schema.

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 covers 100% of parameters with descriptions. The tool description adds no new meaning beyond listing examples.

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

Purpose4/5

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

The description clearly states 'Update virtual server settings' with examples, distinguishing it from read-only tools like 'server_info'. However, 'etc.' is imprecise; the schema compensates.

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. Lacks context on prerequisites or side effects.

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

view_server_logsC

View recent entries from the virtual server log with enhanced options

ParametersJSON Schema
NameRequiredDescriptionDefault
linesNoNumber of log lines to retrieve (1-100, default: 50)
reverseNoShow logs in reverse order (newest first, default: true)
instance_logNoShow instance log instead of virtual server log (default: false)
begin_posNoStarting position in log file (optional)
log_levelNoLog level (1=ERROR, 2=WARNING, 3=DEBUG, 4=INFO)
timestamp_fromNoUnix timestamp for log entries from (optional)
timestamp_toNoUnix timestamp for log entries to (optional)
complete_modeNoEnable complete mode - retrieve ALL logs by paginating automatically (default: false)
max_iterationsNoMaximum pagination iterations in complete mode (default: 1000, protection against infinite loops)
enhanced_debugNoEnable enhanced debugging information (default: false)

TDQS

C2.8/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 fails to mention any safety traits, rate limits, or side effects. The phrase 'enhanced options' is vague and does not clarify behavior beyond filtering.

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

Conciseness3/5

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

The description is a single sentence: concise but overly brief. It lacks structure and does not front-load critical information. It is not verbose but could be more informative without adding length.

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 10 parameters and no output schema, the description is very incomplete. It does not explain the return format, pagination behavior, or how log levels work, even though some details are in the schema. The tool's complexity warrants more context.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add any additional meaning beyond what the schema provides for each parameter.

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

Purpose4/5

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

The description clearly states the verb 'View' and the resource 'virtual server log entries'. It mentions 'enhanced options' hinting at additional parameters, but does not explicitly differentiate from the sibling tool 'get_instance_logs'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'get_instance_logs' or 'add_log_entry'. There are no explicit usage conditions or exclusions.

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

TDQS

B3/5.0

Scored across 40 tools

Disambiguation3/5

Many tools have distinct purposes, but there is overlap in permission management (manage_user_permissions, assign_client_to_group, manage_channel_permissions, manage_server_group_permissions) and banning (ban_client, manage_ban_rules, list_bans). Descriptions help, but an agent might struggle to choose the correct tool for permission tasks.

Naming Consistency4/5

Most tools use consistent verb_noun snake_case pattern. Some verbs like 'list_', 'get_', 'manage_', 'create_' are used. A few tools use noun_first (e.g., channel_info, server_info) which breaks the pattern slightly, but overall naming is predictable.

Tool Count3/5

40 tools is on the high side for a TeamSpeak server, but the domain has many operations (channels, clients, groups, permissions, files, bans, logs, etc.). Still, the count feels slightly bloated; some tools could be merged (e.g., permission management).

Completeness4/5

The tool set covers essential operations for TeamSpeak server management: channel, client, group, permission, ban, file, log, and token management. Minor gaps exist (e.g., editing client details directly), but most workflows are supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers