← teamspeak3-mcp

teamspeak3-mcp 1.0.3

npm · teamspeak3-mcp · current release

35
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-22T21:53:51.047Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools 35

ToolCategoryAnnotationsRisk
ban_listList all active ban rules on the virtual server
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
— · —
ban_manageCreate, delete, or clear ban rules on the server
Input schema
{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "add",
        "delete",
        "delete_all"
      ],
      "description": "Action to perform"
    },
    "ban_id": {
      "type": "number",
      "description": "Ban ID (required for delete)"
    },
    "ip": {
      "type": "string",
      "description": "IP address pattern to ban"
    },
    "name": {
      "type": "string",
      "description": "Name pattern to ban"
    },
    "uid": {
      "type": "string",
      "description": "Client unique identifier to ban"
    },
    "time": {
      "type": "number",
      "default": 0,
      "description": "Ban duration in seconds (0 = permanent)"
    },
    "reason": {
      "type": "string",
      "default": "Banned by AI",
      "description": "Ban reason"
    }
  },
  "required": [
    "action"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
cgroup_assignAssign a client to a channel group in a specific channel
Input schema
{
  "type": "object",
  "properties": {
    "group_id": {
      "type": "number",
      "description": "Channel group ID to assign"
    },
    "channel_id": {
      "type": "number",
      "description": "Channel ID where the assignment applies"
    },
    "client_db_id": {
      "type": "number",
      "description": "Client database ID"
    }
  },
  "required": [
    "group_id",
    "channel_id",
    "client_db_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
cgroup_createCreate a new channel group
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name for the new channel group"
    },
    "type": {
      "type": "number",
      "default": 1,
      "description": "Group type (0=template, 1=regular, 2=query)"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
cgroup_permManage permissions for a channel group: add, remove, or list
Input schema
{
  "type": "object",
  "properties": {
    "group_id": {
      "type": "number",
      "description": "Channel group ID"
    },
    "action": {
      "type": "string",
      "enum": [
        "add",
        "remove",
        "list"
      ],
      "description": "Action to perform"
    },
    "permission": {
      "type": "string",
      "description": "Permission name (for add/remove)"
    },
    "value": {
      "type": "number",
      "description": "Permission value (for add)"
    }
  },
  "required": [
    "group_id",
    "action"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
channel_createCreate a new channel on the server
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Channel name"
    },
    "parent_id": {
      "type": "number",
      "description": "Parent channel ID"
    },
    "permanent": {
      "type": "boolean",
      "default": false,
      "description": "Permanent or temporary channel"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
channel_deleteDelete a channel from the server
Input schema
{
  "type": "object",
  "properties": {
    "channel_id": {
      "type": "number",
      "description": "Channel ID to delete"
    },
    "force": {
      "type": "boolean",
      "default": false,
      "description": "Force deletion even if clients are present"
    }
  },
  "required": [
    "channel_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
channel_infoGet detailed information about a specific channel
Input schema
{
  "type": "object",
  "properties": {
    "channel_id": {
      "type": "number",
      "description": "Channel ID"
    }
  },
  "required": [
    "channel_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
channel_permManage permissions on a specific channel: add, remove, or list
Input schema
{
  "type": "object",
  "properties": {
    "channel_id": {
      "type": "number",
      "description": "Channel ID"
    },
    "action": {
      "type": "string",
      "enum": [
        "add",
        "remove",
        "list"
      ],
      "description": "Action to perform"
    },
    "permission": {
      "type": "string",
      "description": "Permission name (required for add/remove)"
    },
    "value": {
      "type": "number",
      "description": "Permission value (required for add)"
    }
  },
  "required": [
    "channel_id",
    "action"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
channel_updateUpdate channel properties. Talk power presets: 0=normal, 50=moderated, 999=silent
Input schema
{
  "type": "object",
  "properties": {
    "channel_id": {
      "type": "number",
      "description": "Channel ID to update"
    },
    "name": {
      "type": "string",
      "description": "New channel name"
    },
    "description": {
      "type": "string",
      "description": "New channel description"
    },
    "password": {
      "type": "string",
      "description": "New channel password (empty string to remove)"
    },
    "max_clients": {
      "type": "number",
      "description": "Maximum number of clients"
    },
    "talk_power": {
      "type": "number",
      "description": "Required talk power (0=normal, 50=moderated, 999=silent)"
    },
    "codec_quality": {
      "type": "number",
      "description": "Audio codec quality 1-10"
    },
    "permanent": {
      "type": "boolean",
      "description": "Make channel permanent"
    }
  },
  "required": [
    "channel_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
client_banBan a client from the server
Input schema
{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "number",
      "description": "Client ID"
    },
    "reason": {
      "type": "string",
      "default": "Banned by AI",
      "description": "Ban reason"
    },
    "duration": {
      "type": "number",
      "default": 0,
      "description": "Ban duration in seconds (0 = permanent)"
    }
  },
  "required": [
    "client_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
client_db_listList historical clients from the server database (includes offline clients). Supports pagination for large databases
Input schema
{
  "type": "object",
  "properties": {
    "start": {
      "type": "number",
      "default": 0,
      "description": "Offset to start from (for pagination)"
    },
    "limit": {
      "type": "number",
      "default": 25,
      "description": "Max number of entries to return (max 1000)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
client_infoGet detailed information about a specific online client
Input schema
{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "number",
      "description": "Client ID"
    }
  },
  "required": [
    "client_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
client_kickKick a client from the server or current channel
Input schema
{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "number",
      "description": "Client ID"
    },
    "reason": {
      "type": "string",
      "default": "Kicked by AI",
      "description": "Kick reason"
    },
    "from_server": {
      "type": "boolean",
      "default": false,
      "description": "true = kick from server, false = kick from channel"
    }
  },
  "required": [
    "client_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
client_moveMove a client to another channel
Input schema
{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "number",
      "description": "Client ID"
    },
    "channel_id": {
      "type": "number",
      "description": "Destination channel ID"
    }
  },
  "required": [
    "client_id",
    "channel_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
client_permManage a client's server group membership and individual permissions
Input schema
{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "number",
      "description": "Client ID"
    },
    "action": {
      "type": "string",
      "enum": [
        "add_group",
        "remove_group",
        "list_groups",
        "add_perm",
        "remove_perm",
        "list_perms"
      ],
      "description": "Action to perform"
    },
    "group_id": {
      "type": "number",
      "description": "Server group ID (for add_group / remove_group)"
    },
    "permission": {
      "type": "string",
      "description": "Permission name (for add_perm / remove_perm)"
    },
    "value": {
      "type": "number",
      "description": "Permission value (for add_perm)"
    },
    "skip": {
      "type": "boolean",
      "default": false,
      "description": "Skip flag for permission"
    },
    "negate": {
      "type": "boolean",
      "default": false,
      "description": "Negate flag for permission"
    }
  },
  "required": [
    "client_id",
    "action"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
client_pokeSend a poke (alert popup) to a client — more attention-grabbing than a private message
Input schema
{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "number",
      "description": "Target client ID"
    },
    "message": {
      "type": "string",
      "description": "Poke message"
    }
  },
  "required": [
    "client_id",
    "message"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
complaint_listList complaints on the virtual server, optionally filtered by target client
Input schema
{
  "type": "object",
  "properties": {
    "target_client_db_id": {
      "type": "number",
      "description": "Target client database ID to filter"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
file_infoGet detailed information about a specific file in a channel's file repository
Input schema
{
  "type": "object",
  "properties": {
    "channel_id": {
      "type": "number",
      "description": "Channel ID containing the file"
    },
    "file_path": {
      "type": "string",
      "description": "Full path to the file"
    },
    "channel_password": {
      "type": "string",
      "description": "Channel password if required"
    }
  },
  "required": [
    "channel_id",
    "file_path"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
file_listList files in a channel's file repository
Input schema
{
  "type": "object",
  "properties": {
    "channel_id": {
      "type": "number",
      "description": "Channel ID"
    },
    "path": {
      "type": "string",
      "default": "/",
      "description": "Directory path to list"
    },
    "channel_password": {
      "type": "string",
      "description": "Channel password if required"
    }
  },
  "required": [
    "channel_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
msg_sendSend a text message to a channel or a private message to a client
Input schema
{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "channel",
        "private"
      ],
      "description": "'channel' = send to a channel, 'private' = send to a specific client"
    },
    "target_id": {
      "type": "number",
      "description": "Channel ID (for mode=channel) or Client ID (for mode=private)"
    },
    "message": {
      "type": "string",
      "description": "Message text to send"
    }
  },
  "required": [
    "mode",
    "target_id",
    "message"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
perm_findFind all assignments of a specific permission across server groups, channel groups, channels, and clients
Input schema
{
  "type": "object",
  "properties": {
    "permission": {
      "type": "string",
      "description": "Permission name (e.g. 'b_virtualserver_info_view')"
    }
  },
  "required": [
    "permission"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
perm_listList available permission definitions. Use 'filter' to search by keyword (e.g. 'kick') or 'category' to narrow by domain. Returns only names by default; set verbose=true for descriptions
Input schema
{
  "type": "object",
  "properties": {
    "filter": {
      "type": "string",
      "description": "Keyword to search in permission name or description"
    },
    "category": {
      "type": "string",
      "enum": [
        "server",
        "channel",
        "client",
        "group",
        "filetransfer"
      ],
      "description": "Filter by permission category"
    },
    "verbose": {
      "type": "boolean",
      "default": false,
      "description": "Include permission descriptions (increases token usage)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
perm_overviewGet the effective permission overview for a client in a specific channel. Shows all permissions and their sources
Input schema
{
  "type": "object",
  "properties": {
    "client_db_id": {
      "type": "number",
      "description": "Client database ID"
    },
    "channel_id": {
      "type": "number",
      "description": "Channel ID"
    }
  },
  "required": [
    "client_db_id",
    "channel_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
server_diagnoseDiagnose current ServerQuery connection permissions and provide troubleshooting info
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
— · —
server_infoGet TeamSpeak server information. Use scope 'overview' for general server details, 'connection' for network/bandwidth statistics
Input schema
{
  "type": "object",
  "properties": {
    "scope": {
      "type": "string",
      "enum": [
        "overview",
        "connection"
      ],
      "default": "overview",
      "description": "Info scope: 'overview' = general server details, 'connection' = network statistics"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
server_listList server resources: online clients, channels, server groups, or channel groups
Input schema
{
  "type": "object",
  "properties": {
    "resource": {
      "type": "string",
      "enum": [
        "clients",
        "channels",
        "server_groups",
        "channel_groups"
      ],
      "description": "Resource type to list"
    }
  },
  "required": [
    "resource"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
server_logView recent entries from the virtual server log
Input schema
{
  "type": "object",
  "properties": {
    "lines": {
      "type": "number",
      "minimum": 1,
      "maximum": 100,
      "default": 50,
      "description": "Number of log lines to retrieve"
    },
    "reverse": {
      "type": "boolean",
      "default": true,
      "description": "Newest first"
    },
    "instance_log": {
      "type": "boolean",
      "default": false,
      "description": "Show instance log instead of virtual server log"
    },
    "begin_pos": {
      "type": "number",
      "description": "Starting position in log file"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
server_searchSearch for online clients by name/UID or channels by name pattern
Input schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "client",
        "channel"
      ],
      "description": "Search type"
    },
    "pattern": {
      "type": "string",
      "description": "Search pattern (name or UID)"
    },
    "by_uid": {
      "type": "boolean",
      "default": false,
      "description": "Search clients by unique identifier instead of name (only for type=client)"
    }
  },
  "required": [
    "type",
    "pattern"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
sgroup_clientsList all clients assigned to a server group
Input schema
{
  "type": "object",
  "properties": {
    "group_id": {
      "type": "number",
      "description": "Server group ID"
    }
  },
  "required": [
    "group_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
sgroup_createCreate a new server group
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name for the new server group"
    },
    "type": {
      "type": "number",
      "default": 1,
      "description": "Group type (0=template, 1=regular, 2=query)"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
sgroup_deleteDelete a server group. Use force=true to remove even if clients are assigned
Input schema
{
  "type": "object",
  "properties": {
    "group_id": {
      "type": "number",
      "description": "Server group ID to delete"
    },
    "force": {
      "type": "boolean",
      "default": false,
      "description": "Force deletion even if clients are assigned to this group"
    }
  },
  "required": [
    "group_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
sgroup_permManage permissions for a server group: add, remove, or list
Input schema
{
  "type": "object",
  "properties": {
    "group_id": {
      "type": "number",
      "description": "Server group ID"
    },
    "action": {
      "type": "string",
      "enum": [
        "add",
        "remove",
        "list"
      ],
      "description": "Action to perform"
    },
    "permission": {
      "type": "string",
      "description": "Permission name (for add/remove)"
    },
    "value": {
      "type": "number",
      "description": "Permission value (for add)"
    },
    "skip": {
      "type": "boolean",
      "default": false,
      "description": "Skip flag"
    },
    "negate": {
      "type": "boolean",
      "default": false,
      "description": "Negate flag"
    }
  },
  "required": [
    "group_id",
    "action"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
token_createCreate a new privilege key/token for server or channel group access
Input schema
{
  "type": "object",
  "properties": {
    "token_type": {
      "type": "number",
      "minimum": 0,
      "maximum": 1,
      "description": "0 = server group token, 1 = channel group token"
    },
    "group_id": {
      "type": "number",
      "description": "Server group ID (type=0) or channel group ID (type=1)"
    },
    "channel_id": {
      "type": "number",
      "description": "Channel ID (required for channel group tokens)"
    },
    "description": {
      "type": "string",
      "description": "Token description"
    },
    "custom_set": {
      "type": "string",
      "description": "Custom client properties (format: ident=value|ident=value)"
    }
  },
  "required": [
    "token_type",
    "group_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
token_listList all privilege keys/tokens available on the server
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.