TeamSpeak MCP
Provides tools for controlling TeamSpeak servers, including sending messages to channels, managing users, creating and modifying channels with permissions, configuring talk power settings, and managing virtual server settings.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TeamSpeak MCPlist all users currently connected to the server"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TeamSpeak MCP
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:
📦 Method 1: PyPI Package (Recommended for most users)
✅ 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"]
}
}
}🐳 Method 2: Pre-built Docker Images (Recommended for containers)
✅ No dependencies - Everything included
✅ Version consistency - Immutable deployments
✅ Easy scaling - Works with orchestration
✅ Cross-platform - Works anywhere Docker runs
💡 Note: We use
-eflags 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 ( | 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 argsMost Reliable (Docker):
docker pull ghcr.io/marlburrow/teamspeak-mcp:latest
# Add to Claude Desktop config with env vars in argsMost 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.pyConnection test
python test_mcp.pyWith 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 |
|
TEAMSPEAK_PORT | ServerQuery port (default: 10011) |
|
TEAMSPEAK_USER | ServerQuery username |
|
TEAMSPEAK_PASSWORD | ServerQuery password |
|
TEAMSPEAK_SERVER_ID | Virtual server ID (usually 1) |
|
🔧 How to Get Your Credentials
Step 1: Enable ServerQuery
On your TeamSpeak server, ensure ServerQuery is enabled:
Check
ts3server.ini:query_port=10011Default 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_IDStep 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_powerwith preset "silent""Set up a moderated welcome channel" → Uses
set_channel_talk_powerwith 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_permissionswith action "list""Add talk power permission to channel 6" → Uses
manage_channel_permissionswith 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_permissionswith action "add_group""Remove user 8 from moderator group" → Uses
manage_user_permissionswith action "remove_group""Show all server groups for user 12" → Uses
manage_user_permissionswith action "list_groups""Give user 20 the 'b_client_kick' permission with value 75" → Uses
manage_user_permissionswith 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 serversend_channel_message: Send message to a channelsend_private_message: Send private messagepoke_client: Send poke (alert notification) to a user - more attention-grabbing than private messagelist_clients: List connected clientslist_channels: List channelscreate_channel: Create new channeldelete_channel: Delete channelmove_client: Move client to another channelkick_client: Kick clientban_client: Ban clientserver_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 presetschannel_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 availableassign_client_to_group: Add or remove clients from server groupscreate_server_group: Create new server groups with custom settingsmanage_server_group_permissions: Manage permissions for server groups
🆕 Moderation & Bans (3 total)
list_bans: List all active ban rules on the servermanage_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 identifierfind_channels: Search for channels by name pattern
🆕 Privilege Tokens (2 total)
list_privilege_tokens: List all privilege keys/tokens availablecreate_privilege_token: Create new privilege tokens for server/channel access
🆕 File Management (3 total)
list_files: List files in a channel's file repositoryget_file_info: Get detailed information about specific filesmanage_file_permissions: List and manage active file transfers
🆕 Logs & Monitoring (3 total)
view_server_logs: View recent entries from the server logadd_log_entry: Add custom entries to the server logget_connection_info: Get detailed connection information
🆕 Snapshots & Backup (2 total)
create_server_snapshot: Create snapshots of server configurationdeploy_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.serverDocker 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:
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-majorAutomatic 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
Setup (One-time):
# Show setup instructions make setup-pypi
Result:
PyPI:
uvx install teamspeak-mcpgets the new versionDocker:
ghcr.io/marlburrow/teamspeak-mcp:v1.0.4availableGitHub: Automatic release with changelog
No manual work needed! 🎉
📦 Release Process
This project uses automated GitHub Actions for building and publishing Docker images:
Tag a release:
make release-patch(orrelease-minor/release-major)Automatic build: GitHub Actions builds and pushes multi-arch images
Available everywhere: PyPI, GitHub Container Registry, and GitHub Releases
🆘 Troubleshooting
Common Issues
"Connection refused"
Check that ServerQuery is enabled on your server
Verify port (default: 10011)
"Authentication failed"
Check your ServerQuery credentials
Ensure user has proper permissions
"Virtual server not found"
Check virtual server ID with
serverlist
"Python version error"
Ensure you're using Python 3.10-3.12
The MCP library requires Python 3.10+
"Docker environment variables not working"
Use
-eflags in args instead of the"env": {}field for better compatibilityEnsure 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 toolsadd_log_entryB
Add a custom entry to the server log
| Name | Required | Description | Default |
|---|---|---|---|
| log_level | Yes | Log level (1=ERROR, 2=WARNING, 3=DEBUG, 4=INFO) | |
| message | Yes | Log message to add |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| client_database_id | Yes | Client database ID to modify group membership for | |
| action | Yes | Action to perform | |
| group_id | Yes | Server group ID to add/remove client from |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | Yes | Client ID | |
| reason | No | Ban reason | Banned by AI |
| duration | No | Ban duration in seconds (0 = permanent) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | Channel ID to get info for |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | Yes | Client ID to get detailed info for |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Channel name | |
| parent_id | No | Parent channel ID (optional) | |
| permanent | No | Permanent or temporary channel (default: temporary) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| token_type | Yes | Token type (0=server group, 1=channel group) | |
| group_id | Yes | Server group ID (for token_type=0) or channel group ID (for token_type=1) | |
| channel_id | No | Channel ID (required for channel group tokens when token_type=1) | |
| description | No | Optional description for the token | |
| custom_set | No | Optional custom client properties set (format: ident=value|ident=value) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the new server group | |
| type | No | Group type (0=template, 1=regular, 2=query, default: 1) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | Channel ID to delete | |
| force | No | Force deletion even if clients are present |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| snapshot_data | Yes | Snapshot data to deploy (from create_server_snapshot) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | Yes | Search pattern for channel name |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | Channel ID containing the file | |
| file_path | Yes | Full path to the file | |
| channel_password | No | Channel password if required (optional) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| lines | No | Number of log lines to retrieve (1-100, default: 50) | |
| reverse | No | Show logs in reverse order (newest first, default: true) | |
| begin_pos | No | Starting position in log file (optional) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | Yes | Client ID | |
| reason | No | Kick reason | Expelled by AI |
| from_server | No | Kick from server (true) or channel (false) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| target_client_database_id | No | Target client database ID to filter complaints (optional) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | Channel ID to list files for | |
| path | No | Directory path to list (default: root '/') | / |
| channel_password | No | Channel password if required (optional) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| ban_id | No | Ban ID (required for delete action) | |
| ip | No | IP address pattern to ban (optional for add action) | |
| name | No | Name pattern to ban (optional for add action) | |
| uid | No | Client unique identifier to ban (optional for add action) | |
| time | No | Ban duration in seconds (0 = permanent, default: 0) | |
| reason | No | Ban reason (optional) | Banned by AI |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | Channel ID to modify permissions for | |
| action | Yes | Action to perform | |
| permission | No | Permission name (required for add/remove actions) | |
| value | No | Permission value (required for add action) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| transfer_id | No | File transfer ID (required for stop_transfer action) | |
| delete_partial | No | Delete partial file when stopping transfer (default: false) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Server group ID to modify permissions for | |
| action | Yes | Action to perform | |
| permission | No | Permission name (required for add/remove actions) | |
| value | No | Permission value (required for add action) | |
| skip | No | Skip flag for permission (optional, default: false) | |
| negate | No | Negate flag for permission (optional, default: false) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | Yes | Client ID to manage permissions for | |
| action | Yes | Action to perform | |
| group_id | No | Server group ID (required for add_group/remove_group actions) | |
| permission | No | Permission name (required for add_permission/remove_permission actions) | |
| value | No | Permission value (required for add_permission action) | |
| skip | No | Skip flag for permission (optional, default: false) | |
| negate | No | Negate flag for permission (optional, default: false) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | Yes | Client ID | |
| channel_id | Yes | Destination channel ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | Yes | Target client ID to poke | |
| message | Yes | Poke message to send |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | Yes | Search pattern for client name or UID | |
| search_by_uid | No | Search by unique identifier instead of name (default: false) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | No | Channel ID (optional, uses current channel if not specified) | |
| message | Yes | Message to send |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| client_id | Yes | Target client ID | |
| message | Yes | Message to send |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | Channel ID to configure | |
| talk_power | No | Required talk power (0=everyone can talk, 999=silent channel) | |
| preset | No | Quick preset: 'silent' (999), 'moderated' (50), 'normal' (0) |
TDQS
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.
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.
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.
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.
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.
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.)
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | Channel ID to update | |
| name | No | New channel name (optional) | |
| description | No | New channel description (optional) | |
| password | No | New channel password (optional, empty string to remove) | |
| max_clients | No | Maximum number of clients (optional) | |
| talk_power | No | Required talk power to speak in channel (optional) | |
| codec_quality | No | Audio codec quality 1-10 (optional) | |
| permanent | No | Make channel permanent (optional) |
TDQS
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.
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.
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.
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.
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.
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.)
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Server name (optional) | |
| welcome_message | No | Server welcome message (optional) | |
| max_clients | No | Maximum number of clients (optional) | |
| password | No | Server password (optional, empty string to remove) | |
| hostmessage | No | Host message displayed in server info (optional) | |
| hostmessage_mode | No | Host message mode: 0=none, 1=log, 2=modal, 3=modalquit (optional) | |
| default_server_group | No | Default server group ID for new clients (optional) | |
| default_channel_group | No | Default channel group ID for new clients (optional) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| lines | No | Number of log lines to retrieve (1-100, default: 50) | |
| reverse | No | Show logs in reverse order (newest first, default: true) | |
| instance_log | No | Show instance log instead of virtual server log (default: false) | |
| begin_pos | No | Starting position in log file (optional) | |
| log_level | No | Log level (1=ERROR, 2=WARNING, 3=DEBUG, 4=INFO) | |
| timestamp_from | No | Unix timestamp for log entries from (optional) | |
| timestamp_to | No | Unix timestamp for log entries to (optional) | |
| complete_mode | No | Enable complete mode - retrieve ALL logs by paginating automatically (default: false) | |
| max_iterations | No | Maximum pagination iterations in complete mode (default: 1000, protection against infinite loops) | |
| enhanced_debug | No | Enable enhanced debugging information (default: false) |
TDQS
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.
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.
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.
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.
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.
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
Scored across 40 tools
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.
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.
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).
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
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants like Claude to initiate and manage real-time voice calls using Twilio and OpenAI's voice models.61MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that allows management of Counter-Strike 2 game servers via RCON commands using natural language.10MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants like Claude to manage changelogs, projects, and content through natural language interactions with Changerawr instances.2MIT
- AlicenseAqualityFmaintenanceA Model Context Protocol server that enables AI assistants like Claude to manage song requests, monitor queues, and interact with streaming platforms' song request systems.652MIT