MCPilot
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_system_infoA | |
| get_cpu_usageA | Returns current CPU utilization as overall and per-core percentages, plus 1/5/15-minute load averages. Use this when investigating high CPU usage, system slowness, or load-related issues. Does not modify system state. |
| get_memory_usageA | Returns current system memory and swap utilization as percentages and GB. Use this when investigating high memory usage, swapping, or general system slowdown. Does not modify system state. |
| get_disk_usageA | |
| list_processesA | |
| get_process_infoA | |
| get_service_statusA | |
| get_service_logsA | Returns the most recent journal log lines for a systemd service. Use this when investigating why a service failed, crashed, or is misbehaving. Does not modify system state. |
| get_listening_portsA | Returns all currently listening TCP and UDP ports with their associated process information (PID, process name, bind address). Use this when investigating port conflicts, checking if a service is listening, or diagnosing network issues. Does not modify system state. |
| restart_serviceA | Restarts a systemd service. This is a STATE-CHANGING operation that REQUIRES human approval before execution. Use this only when a service needs to be restarted as a remediation step and the user has been informed. This is the only mutating tool in MCPilot. |
| list_directoryA | |
| get_file_metadataA | |
| search_filesA | Searches for files matching a glob pattern within a directory tree. Results are capped at 100 entries. Path must be within allowed roots. Use this when looking for specific files by name or extension within a project. Does not modify system state. |
| read_fileA | |
| git_statusA | |
| git_diffA | Returns the Git diff for a repository, showing changed files and diff text. Output is capped to prevent context flooding, with a truncated flag if the cap was hit. The repo path must be within allowed roots. Use this when investigating what code changes were made, comparing working tree to index, or reviewing staged changes. Does not modify system state. |
| git_logA | |
| run_testsA | Runs pytest in a repository using a fixed, MCPilot-chosen command (never an LLM-supplied command). Returns pass/fail status, summary, and list of failing tests. The repo path must be within allowed roots. Use this when investigating test failures or verifying that changes haven't broken tests. Does not modify system state (runs read-only tests). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Each tool targets a specific resource and action: system metrics (cpu, memory, disk), process listing vs detail, service status vs logs vs restart, file operations (list, metadata, search, read), and git (status, diff, log). No two tools overlap in purpose, and descriptions clearly delineate when to use each.
All tool names follow a consistent verb_noun pattern in snake_case: get_cpu_usage, list_processes, get_service_logs, search_files, git_status, run_tests. The git_ prefix acts as a consistent namespace, and verbs (get, list, search, read, restart, run) are unambiguous.
With 18 tools, the set is slightly above the typical 3-15 sweet spot but still well-scoped for a system diagnostic server. The breadth (system, process, service, file, git, tests) justifies each tool's existence, and none feel redundant.
The surface covers monitoring and read-only inspection comprehensively, but notable mutating actions are missing: no process kill, no file write/edit, no git commit/push, and only restart_service (no start/stop). This limits full lifecycle management, though it may be intentional for a diagnostic tool.