mspbots-fleet-mcp
OfficialClick on "Install 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., "@mspbots-fleet-mcpwhich hosts are currently offline?"
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.
mspbots-fleet-mcp
MCP server for the MSPbots Fleet Platform API — a multi-tenant console over fleetdm: host inventory, on-demand scripts, and saved osquery queries, exposed to MCP clients.
It follows the same design as the sibling mspbots-agent-mcp service:
stateless, no stored credentials, per-request header authentication over the
Model Context Protocol (Streamable HTTP/SSE
transport).
When would you use this
This MCP wraps an internal MSPbots product (device fleet management), not a third-party integration. Typical uses:
"What hosts does this tenant have, and which are offline?" →
mspbotsfleet_list_hosts"Tag this laptop as Production" →
mspbotsfleet_set_host_labels"This machine looks stale, force a refresh" →
mspbotsfleet_refetch_host"Run our log-collection script on that server" →
mspbotsfleet_run_script"What's the disk usage across all Windows hosts right now?" → create a saved query with
mspbotsfleet_create_query, thenmspbotsfleet_run_query"A batch of new laptops just enrolled, claim the ones we declared" →
mspbotsfleet_claim_hosts"We're offboarding this device, stop tracking it as ours (but leave it in Fleet)" →
mspbotsfleet_release_host
Related MCP server: Rancher MCP Server
Tools
所有工具的凭证均来自请求头(X-MSP-Token / X-MSP-Tenant-Id / X-MSP-Host),
工具参数里不需要传 token。
Hosts
主机无法通过接口创建:机器装上 fleetd 并注册后自动出现,再按本租户声明过的标识符
(主机名/序列号/UUID)认领归属,见 mspbotsfleet_claim_hosts。
Tool | 功能 | 参数 |
| 列出当前租户的主机(模糊搜索+状态过滤+分页) |
|
| 获取主机详情+手动标签 |
|
| 列出该主机可执行的脚本 |
|
| 全量替换主机的手动标签 |
|
| 请求主机下次签入时刷新属性(异步) |
|
| 从 Fleet 移除主机并清除归属(fleetd 未卸载会再次注册) |
|
| 声明标识符并接管匹配到的无主主机(幂等,可重复调用重试未匹配的) |
|
| 放弃本租户对某主机的归属,不删除主机本身(幂等) |
|
主机列表为全量拉取后在内存过滤/排序/分页,Fleet 侧数据缓存 15 秒,归属信息实时查库不进缓存。
claim_hosts返回{claimed, waiting, rejected}:waiting是已声明但主机还没出现在 Fleet 里,rejected是标识符已被别的租户声明过。
Scripts
Tool | 功能 | 参数 |
| 列出本租户脚本 |
|
| 获取脚本详情(含正文) |
|
| 新建脚本(文件名须以 |
|
| 替换脚本正文(文件名不可改) |
|
| 删除脚本(对所有主机生效) |
|
| 在主机上执行脚本 |
|
| 查询执行结果( |
|
create_script/update_script只返回{id, name},时间戳等其余字段需再查mspbotsfleet_get_script/mspbotsfleet_list_scripts。
Saved queries
Tool | 功能 | 参数 |
| 列出本租户查询 |
|
| 获取查询详情(含 SQL) |
|
| 新建保存查询(仅允许单条 SELECT / WITH…SELECT)。非幂等——重复调用会建出多个查询 |
|
| 更新查询(partial,只传要改的字段) |
|
| 删除查询及其报表数据 |
|
| 对主机实时执行查询并等待结果(≤45s) |
|
SQL 校验规则:只允许单条
SELECT或WITH … SELECT,末尾分号自动去除,正文中出现;直接拒绝。这些校验由后端执行,本服务不重复校验。
Quick Start
Docker (recommended)
docker compose up --buildThe server starts on http://localhost:8080.
Local (uv)
uv sync
python -m mspbots_fleet_mcpHealth Check
curl http://localhost:8080/health
# {"status": "ok"}No credentials are required for the health endpoint.
授权参数说明 (Authentication)
Every request to /mcp must include the following HTTP headers (provided by the
MCP caller — kept consistent with mspbots-agent-mcp / ticketqa-mcp):
Header | 类型 | 是否必填 | 字段描述 | Example |
| string | 必填 | Fleet Platform 已签发的访问凭证 (JWT bearer token)。本服务原样转发为下游请求的 |
|
| string | 必填 | 租户标识。转发给下游 API 时改名为 |
|
| string | 必填 | Fleet API 所在的 host。 |
|
Missing any of the three headers returns 401 Unauthorized.
下游 Fleet API 本身对鉴权失败(缺 token/签名错误/角色不足)统一返回 403, 不是 401——401 只发生在本服务这一层(缺 gateway header)。
Environment Variables
Variable | Default | Description |
|
| Listening port |
|
| Listening host |
MCP Endpoint
POST http://localhost:8080/mcpConnect your MCP client with:
Transport:
http(Streamable HTTP / SSE)Headers:
X-MSP-Token,X-MSP-Tenant-Id,X-MSP-Host(all required)
测试示例 (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