mspbots-fleet-mcp
Officialmspbots-fleet-mcp
MSPbots Fleet Platform API용 MCP 서버 — fleetdm을 기반으로 하는 멀티 테넌트 콘솔로, 호스트 인벤토리, 온디맨드 스크립트, 저장된 osquery 쿼리를 MCP 클라이언트에 노출합니다.
형제 서비스인 mspbots-agent-mcp와 동일한 설계를 따릅니다: 무상태(stateless), 저장된 자격 증명 없음, Model Context Protocol(Streamable HTTP/SSE 전송)을 통한 요청별 헤더 인증.
언제 사용하나요
이 MCP는 내부 MSPbots 제품(디바이스 플릿 관리)을 래핑하며, 타사 통합이 아닙니다. 일반적인 사용 사례:
"이 테넌트에는 어떤 호스트가 있고, 어떤 것이 오프라인인가요?" →
mspbotsfleet_list_hosts"이 노트북을 Production으로 태그" →
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)에서 가져오며, 도구 매개변수에 토큰을 전달할 필요가 없습니다.
호스트
호스트는 API로 생성할 수 없습니다. 머신에 fleetd를 설치하고 등록하면 자동으로 나타나며, 이 테넌트에서 선언한 식별자(호스트 이름/시리얼/UUID)로 소유권을 클레임합니다. mspbotsfleet_claim_hosts를 참고하세요.
도구 | 설명 | 매개변수 |
| 현재 테넌트의 호스트 나열 (퍼지 검색+상태 필터+페이지네이션) |
|
| 호스트 상세 정보+수동 라벨 조회 |
|
| 해당 호스트에서 실행 가능한 스크립트 나열 |
|
| 호스트의 수동 라벨 전체 교체 |
|
| 호스트가 다음 체크인 시 속성을 새로 고치도록 요청 (비동기) |
|
| Fleet에서 호스트를 제거하고 소유권 정리 (fleetd를 제거하지 않으면 다시 등록됨) |
|
| 식별자를 선언하고 일치하는 무소유 호스트 인수 (멱등, 일치하지 않은 항목 재시도 가능) |
|
| 이 테넌트의 호스트 소유권 포기, 호스트 자체는 삭제하지 않음 (멱등) |
|
호스트 목록은 전체를 가져온 뒤 메모리에서 필터/정렬/페이지네이션합니다. Fleet 쪽 데이터는 15초 캐시되며, 소유권 정보는 캐시하지 않고 실시간으로 DB를 조회합니다.
claim_hosts는{claimed, waiting, rejected}를 반환합니다.waiting은 선언은 되었지만 아직 Fleet에 나타나지 않은 호스트이고,rejected는 식별자가 다른 테넌트에 의해 이미 선언된 경우입니다.
스크립트
도구 | 설명 | 매개변수 |
| 이 테넌트의 스크립트 나열 |
|
| 스크립트 상세 정보 조회 (본문 포함) |
|
| 새 스크립트 생성 (파일 이름은 |
|
| 스크립트 본문 교체 (파일 이름은 변경 불가) |
|
| 스크립트 삭제 (모든 호스트에 적용) |
|
| 호스트에서 스크립트 실행 |
|
| 실행 결과 조회 ( |
|
create_script/update_script는{id, name}만 반환하므로, 타임스탬프 등 나머지 필드는mspbotsfleet_get_script/mspbotsfleet_list_scripts로 다시 조회해야 합니다.
저장된 쿼리
도구 | 설명 | 매개변수 |
| 이 테넌트의 쿼리 나열 |
|
| 쿼리 상세 조회 (SQL 포함) |
|
| 새 저장 쿼리 생성 (단일 |
|
| 쿼리 업데이트 (부분 업데이트, 변경할 필드만 전달) |
|
| 쿼리 및 해당 리포트 데이터 삭제 |
|
| 호스트에서 쿼리를 실시간 실행하고 결과 대기 (≤45초) |
|
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 | 유형 | 필수 여부 | 설명 | 예시 |
| string | 필수 | Fleet Platform에서 발급한 액세스 자격 증명 (JWT bearer token). 이 서비스는 그대로 다운스트림 요청의 |
|
| string | 필수 | 테넌트 식별자. 다운스트림 API로 전달할 때 |
|
| string | 필수 | Fleet API가 있는 호스트. |
|
세 헤더 중 하나라도 없으면 401 Unauthorized를 반환합니다.
다운스트림 Fleet API는 인증 실패(토큰 누락/서명 오류/역할 부족) 시 403을 반환합니다. 401이 아닙니다. 401은 이 서비스 계층(게이트웨이 헤더 누락)에서만 발생합니다.
환경 변수
변수 | 기본값 | 설명 |
|
| 수신 포트 |
|
| 수신 호스트 |
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