Tanium MCP服务器
用于Tanium端点管理的MCP(模型上下文协议)服务器,与Claude Desktop和Microsoft Copilot Studio兼容。
特性
端点发现
- 按计算机名、IP地址、用户名或安装的软件查找端点
- 获取完整的端点详细信息,包括已安装的软件清单
- 列出计算机组及其筛选器表达式
软件清单
- 获取任何软件的全车队版本细分
- 查找安装了特定应用程序的所有端点
Tanium Deploy(软件包)
- 浏览带有名称过滤的Deploy软件包(Greenshot、PowerToys等)
- 按名称将软件部署到计算机组或特定端点
- 跟踪部署状态和结果
动作脚本(Tanium Interact)
- 浏览和详细说明操作脚本包
- 按主机名对计算机组、特定端点或单个计算机运行脚本
- 支持参数化包
- 停止运行操作
直接连接(Tanium性能)
- 从端点获取实时CPU性能数据
- 获取实时运行进程列表(PID、内存、用户、命令行)
- 通过可选的时间范围获取性能和安全警报
- 终止终结点上的进程
支持的URL格式
# Just company name (maps to -api.cloud.tanium.com)
mycompany
# With or without https://
https://mycompany-api.cloud.tanium.com
mycompany-api.cloud.tanium.com
# Full URL (as-is)
https://mycompany-api.cloud.tanium.com/plugin/products/gateway/graphql用法
本地开发
npm install
node src/server.js码头工人
docker build -t tanium-mcp .
docker run -p 3000:3000 \
-e TANIUM_API_URL=mycompany \
-e TANIUM_API_TOKEN=token-... \
tanium-mcp环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
TANIUM_API_URL | Tanium租户名称或完整的API URL | 必需 |
TANIUM_API_TOKEN | Tanium API令牌(仅限stdio模式) | - |
PORT | HTTP服务器端口 | 3000 |
认证
在HTTP模式下,Tanium API令牌在 Authorization header——它从不存储在服务器端:
Authorization: Bearer 在stdio模式(克劳德桌面扩展)下,从 TANIUM_API_TOKEN Claude Desktop注入的环境变量。
克劳德桌面
每个用户都会将此添加到他们的 claude_desktop_config.json:
视窗 (%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"tanium": {
"command": "cmd.exe",
"args": ["/c", "npx", "-y", "mcp-remote", "https:///mcp", "--header", "Authorization:Bearer "]
}
}
}macOS/Linux (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"tanium": {
"command": "npx",
"args": ["-y", "mcp-remote", "https:///mcp", "--header", "Authorization:Bearer "]
}
}
}Windows注意事项: 必须安装Node.js(npx与它捆绑在一起)。这cmd.exe /c需要包装器,因为Claude Desktop在不进行shell扩展的情况下生成进程C:\Program Files\nodejs\包含一个空格。
部署
Azure容器应用
az containerapp up -n tanium-mcp --source .工具
| 工具 | 读/写 | 描述 |
|---|---|---|
tanium_list_sensors | read | 按名称列出/搜索传感器 |
tanium_get_endpoints | read | 列出端点名称、IP、制造商、型号 |
tanium_get_computer_groups | read | 列出计算机组和筛选表达式--将其用作部署目标 |
tanium_find_endpoints_by_user | read | 按上次登录的用户名查找端点 |
tanium_find_endpoints_by_software | read | 查找安装了特定应用程序的端点 |
tanium_find_endpoints_by_computer_name | read | 按主机名查找端点(部分匹配) |
tanium_find_endpoints_by_ip | read | 按IP地址查找端点 |
tanium_get_endpoint_details | read | 一个端点的完整详细信息,包括已安装的软件 |
tanium_list_packages | read | 列出带有名称过滤的Tanium Deploy软件包 |
tanium_get_package_details | read | 动作脚本包命令和参数 |
tanium_get_software_versions | read | 软件的全舰队版本细分 |
tanium_list_action_groups | read | 列出操作组(脚本部署的权限范围) |
tanium_deploy_package | 写 | 针对组或特定端点部署软件或运行操作脚本 |
tanium_get_action_status | read | 检查部署的状态和结果(已完成/失败/正在运行) |
tanium_stop_action | 写 | 停止跑步动作 |
tanium_get_endpoint_performance | read | 通过Direct Connect实时查看CPU使用情况 |
tanium_get_endpoint_processes | read | 通过Direct Connect实时运行进程 |
tanium_get_endpoint_alerts | read | 通过Direct Connect发出性能/安全警报(可选时间范围) |
tanium_terminate_process | 写 | 通过Direct Connect终止端点上的进程 |
tanium_deploy_package 定位
该工具支持两个部署后端:
Tanium部署 (软件包——Greenshot、PowerToys等):
softwarePackageId ID from tanium_list_packages
targetGroup Computer group name, e.g. "All Computers"
startTime / endTime Optional ISO 8601 window (defaults: now to +7 days)Tanium行动 (脚本——运行命令、补丁等):
packageId / packageName ID or name from tanium_get_package_details
endpointNames ["SC-PC-ABC123", "SC-PC-XYZ456"] (resolved to IDs)
endpointIds Tanium endpoint IDs from find/list tools
computerGroupName/Id Target a whole computer group
packageParams [{key: "$1", value: "..."}] for parameterized packages
actionGroupId/Name Permission scope override (default: "Default - All Computers")评估
eval.xml 包含经过验证的问答对,用于在实时环境中测试代理性能。
