mspbots-fleet-mcp
Officialmspbots-fleet-mcp
MSPbots Fleet Platform API 的 MCP 服务器——基于 fleetdm 的多租户控制台:主机清单、按需脚本和已保存的 osquery 查询,通过 MCP 暴露给客户端。
它采用与姊妹服务 mspbots-agent-mcp 相同的设计:无状态、不存储凭据、通过 Model Context Protocol(Streamable HTTP/SSE 传输)进行按请求的头认证。
何时使用
此 MCP 封装的是 MSPbots 内部产品(设备群管理),而非第三方集成。典型用途:
"该租户有哪些主机,哪些处于离线状态?" →
mspbotsfleet_list_hosts"将此笔记本电脑标记为生产环境" →
mspbotsfleet_set_host_labels"这台机器看起来已过期,强制刷新" →
mspbotsfleet_refetch_host"在那台服务器上运行我们的日志收集脚本" →
mspbotsfleet_run_script"现在所有 Windows 主机的磁盘使用情况如何?" → 使用
mspbotsfleet_create_query创建保存的查询,然后mspbotsfleet_run_query"一批新笔记本电脑刚注册,认领我们声明过的那批" →
mspbotsfleet_claim_hosts"我们要停用这台设备,不再将其视为我们的(但保留在 Fleet 中)" →
mspbotsfleet_release_host
Related MCP server: Rancher MCP Server
工具
所有工具的凭证均来自请求头(X-MSP-Token / X-MSP-Tenant-Id / X-MSP-Host),
工具参数里不需要传 token。
主机
主机无法通过接口创建:机器装上 fleetd 并注册后自动出现,再按本租户声明过的标识符
(主机名/序列号/UUID)认领归属,见 mspbotsfleet_claim_hosts。
Tool | 功能 | 参数 |
| 列出当前租户的主机(模糊搜索+状态过滤+分页) |
|
| 获取主机详情+手动标签 |
|
| 列出该主机可执行的脚本 |
|
| 全量替换主机的手动标签 |
|
| 请求主机下次签入时刷新属性(异步) |
|
| 从 Fleet 移除主机并清除归属(fleetd 未卸载会再次注册) |
|
| 声明标识符并接管匹配到的无主主机(幂等,可重复调用重试未匹配的) |
|
| 放弃本租户对某主机的归属,不删除主机本身(幂等) |
|
主机列表为全量拉取后在内存过滤/排序/分页,Fleet 侧数据缓存 15 秒,归属信息实时查库不进缓存。
claim_hosts返回{claimed, waiting, rejected}:waiting是已声明但主机还没出现在 Fleet 里,rejected是标识符已被别的租户声明过。
脚本
Tool | 功能 | 参数 |
| 列出本租户脚本 |
|
| 获取脚本详情(含正文) |
|
| 新建脚本(文件名须以 |
|
| 替换脚本正文(文件名不可改) |
|
| 删除脚本(对所有主机生效) |
|
| 在主机上执行脚本 |
|
| 查询执行结果( |
|
create_script/update_script只返回{id, name},时间戳等其余字段需再查mspbotsfleet_get_script/mspbotsfleet_list_scripts。
已保存的查询
Tool | 功能 | 参数 |
| 列出本租户查询 |
|
| 获取查询详情(含 SQL) |
|
| 新建保存查询(仅允许单条 SELECT / WITH…SELECT)。非幂等——重复调用会建出多个查询 |
|
| 更新查询(partial,只传要改的字段) |
|
| 删除查询及其报表数据 |
|
| 对主机实时执行查询并等待结果(≤45s) |
|
SQL 校验规则:只允许单条
SELECT或WITH … SELECT,末尾分号自动去除,正文中出现;直接拒绝。这些校验由后端执行,本服务不重复校验。
快速开始
Docker(推荐)
docker compose up --build服务器启动在 http://localhost:8080。
本地(uv)
uv sync
python -m mspbots_fleet_mcp健康检查
curl http://localhost:8080/health
# {"status": "ok"}健康检查端点无需任何凭据。
授权参数说明 (Authentication)
对 /mcp 的每个请求都必须包含以下 HTTP 头(由 MCP 调用方提供——与 mspbots-agent-mcp / ticketqa-mcp 保持一致):
Header | 类型 | 是否必填 | 字段描述 | Example |
| string | 必填 | Fleet Platform 已签发的访问凭证 (JWT bearer token)。本服务原样转发为下游请求的 |
|
| string | 必填 | 租户标识。转发给下游 API 时改名为 |
|
| string | 必填 | Fleet API 所在的 host。 |
|
缺少这三个头中的任何一个都会返回 401 Unauthorized。
下游 Fleet API 本身对鉴权失败(缺 token/签名错误/角色不足)统一返回 403, 不是 401——401 只发生在本服务这一层(缺 gateway header)。
环境变量
Variable | Default | Description |
|
| Listening port |
|
| Listening host |
MCP 端点
POST http://localhost:8080/mcp使用以下方式连接 MCP 客户端:
传输:
http(Streamable HTTP / SSE)请求头:
X-MSP-Token、X-MSP-Tenant-Id、X-MSP-Host(均必填)
测试示例 (Test Example)
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "X-MSP-Token: <token>" \
-H "X-MSP-Tenant-Id: <tenant-id>" \
-H "X-MSP-Host: https://agent.mspbots.ai" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": { "name": "mspbotsfleet_list_hosts", "arguments": { "status": "online", "per_page": 10 } }
}'⚠️ 本仓库为公开仓库,请勿在任何提交的文件中写入真实的 token / tenant id 等敏感信息, 上面的
<token>/<tenant-id>仅为占位符。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA Model Context Protocol server that bridges Microsoft Teams with MCP-compatible clients (LLMs, agentic frameworks, CLI), enabling chat integration, message search, and event streaming without traditional REST API endpoints.
- AlicenseBqualityCmaintenanceModel Context Protocol (MCP) server for the Rancher ecosystem: multi-cluster Kubernetes, Harvester HCI (VMs, storage, networks), and Fleet GitOps.1012Apache 2.0
- Alicense-qualityDmaintenanceModel Context Protocol server that connects AI agents with CrowdStrike Falcon platform for intelligent security analysis and automation.MIT
- Alicense-qualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for New Relic monitoring, observability, and management operations.MIT
Related MCP Connectors
MCP server for interacting with the Supabase platform
MCP server wrapping the Tesla Fleet API and TeslaMate API
MCP (Model Context Protocol) server for Appwrite
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MSPbotsAI/mspbots-fleet-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server