Skip to main content
Glama
batteryshark

System Information MCP Server

by batteryshark

System Information MCP Server

A modular FastMCP server providing focused system diagnostic tools for efficient troubleshooting and environment analysis. Each tool targets specific system aspects for optimal performance and clarity.

šŸš€ Features

šŸ“Š Modular Tool Design

  • 10 specialized tools for targeted diagnostics

  • Efficient data collection with minimal overhead

  • Raw text output for optimal performance

  • Cross-platform compatibility (macOS, Linux, Windows)

šŸ”§ Available Tools

Tool

Purpose

Key Information

get_system_summary

Quick system overview

Hostname, OS, CPU, RAM, uptime

get_hardware_details

Comprehensive hardware specs

CPU cores, memory, GPU detection

get_display_info

Display/monitor analysis

Resolution, refresh rate, HDR status

get_network_status

Network diagnostics

Interfaces, IPs, DNS, VPN detection

get_storage_analysis

Storage overview

Disk usage, partitions, filesystem types

get_connected_devices

Peripheral inventory

USB and Bluetooth devices

get_user_environment

Session context

User info, timezone, locale settings

get_running_processes

Process analysis

Top processes by CPU/memory usage

get_open_ports

Network security

Listening ports and services

get_full_system_report

Complete analysis

All diagnostics in one comprehensive report

Installation

# Clone and setup
git clone <repository>
cd mcp-sysinfo

# Install dependencies
uv add fastmcp psutil requests

# Test the server
uv run python main.py

Usage

MCP Configuration

Add to your MCP client configuration:

Local/stdio Configuration

{
  "mcpServers": {
    "sysinfo": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mcp-sysinfo", "python", "main.py"]
    }
  }
}

Remote/HTTP Configuration

{
  "mcpServers": {
    "sysinfo": {
      "type": "http",
      "url": "http://localhost:8000/mcp/"
    }
  }
}

For HTTP mode, set the PORT environment variable:

PORT=8000 uv run python main.py

Tool Usage Examples

Quick System Check

# Get essential system overview
result = await client.call_tool("get_system_summary", {})

Targeted Diagnostics

# Network troubleshooting
network_info = await client.call_tool("get_network_status", {})

# Storage analysis
storage_info = await client.call_tool("get_storage_analysis", {})

# Security audit
ports_info = await client.call_tool("get_open_ports", {})

Complete System Analysis

# Full diagnostic report
full_report = await client.call_tool("get_full_system_report", {})

Platform Support

  • macOS 10.15+ (tested on Apple Silicon)

  • Linux Ubuntu/Debian-based distributions

  • Windows 10/11 (basic support)

Architecture

src/sysinfo/
ā”œā”€ā”€ __init__.py          # Package exports
ā”œā”€ā”€ collectors.py        # Modular info collection functions
└── server.py           # FastMCP server implementation
main.py                 # Entry point

Key Design Principles

  • Modular Tools: Each diagnostic function is a separate MCP tool for targeted usage

  • Performance Optimized: Raw text output without JSON wrapping overhead

  • Error-resilient: Graceful handling of missing/inaccessible data

  • Cross-platform: Platform-specific detection with intelligent fallbacks

  • Agent-friendly: Clean markdown output optimized for LLM consumption

  • Minimal Dependencies: Uses only fastmcp, psutil, and requests

Development

Testing

# Test with in-memory client
uv run python test_refactored.py

# Test individual collectors
uv run python -c "from src.sysinfo.collectors import get_hardware_info; print(get_hardware_info())"

Adding New Collectors

  1. Add function to collectors.py

  2. Export in __init__.py

  3. Call from server.py tool

  4. Test cross-platform compatibility

License

MIT License - see LICENSE file for details.

Available Tools

10 tools
get_connected_devicesA

Get USB and Bluetooth device information.

Lists all connected USB devices and paired/active Bluetooth devices. Useful for peripheral troubleshooting and device inventory.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what information is returned (device information, lists of devices) and hints at the scope (connected USB, paired/active Bluetooth). However, it doesn't disclose important behavioral traits like whether this requires elevated permissions, how current the data is, what format the information comes in, or potential performance implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly structured with three concise sentences that each earn their place: first states the core purpose, second elaborates on scope, third provides usage context. No wasted words, front-loaded with the essential information, and appropriately sized for a zero-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description provides adequate coverage of what the tool does and when to use it. However, without annotations and with no output schema, it lacks important contextual details about the return format, data freshness, permission requirements, and error conditions that would be helpful for an AI agent to use this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the baseline would be 3. However, the description adds value by clarifying that no filtering parameters are needed - it returns 'all connected USB devices' and 'paired/active Bluetooth devices' without requiring any input. This semantic clarification about the comprehensive nature of the output justifies a higher score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Get', 'Lists') and resources ('USB and Bluetooth device information', 'connected USB devices', 'paired/active Bluetooth devices'). It distinguishes itself from sibling tools by focusing specifically on peripheral devices rather than displays, networks, processes, or other system aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('Useful for peripheral troubleshooting and device inventory'), which helps differentiate it from general system reporting siblings. However, it doesn't explicitly state when NOT to use it or name specific alternative tools for related but different purposes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_display_infoB

Get connected display information - resolution, refresh rate, HDR status.

Shows details for all connected monitors including resolution, refresh rates, connection types, and HDR capabilities. Essential for display troubleshooting and multi-monitor setup verification.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what information is returned (resolution, refresh rates, etc.) but lacks details on permissions needed, rate limits, error conditions, or whether it's a read-only operation. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by elaboration in a second sentence, and ends with a concise usage context. Every sentence adds value without waste, making it efficient and well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (simple read operation with 0 parameters) and lack of annotations/output schema, the description is adequate but incomplete. It covers what data is returned but doesn't address behavioral aspects like permissions or errors. For a tool with no structured data support, it meets minimum viability but has clear gaps in providing a full context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description appropriately focuses on output semantics without redundant parameter info. A baseline of 4 is applied since no parameters exist, and the description adds value by explaining what data is retrieved.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Get connected display information') and resources ('resolution, refresh rate, HDR status'), distinguishing it from siblings like get_connected_devices or get_hardware_details by focusing exclusively on display attributes. However, it doesn't explicitly differentiate from all siblings (e.g., get_system_summary might include display info), preventing a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context ('Essential for display troubleshooting and multi-monitor setup verification'), suggesting when to use it, but lacks explicit guidance on when not to use it or alternatives (e.g., vs. get_connected_devices for broader device info). It provides some direction but falls short of naming specific alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_full_system_reportA

Get complete system analysis - runs all diagnostic tools.

Comprehensive system report including hardware, network, storage, devices, and user environment. Use for complete system analysis and thorough troubleshooting sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool 'runs all diagnostic tools' and is 'comprehensive,' but lacks details on execution time, resource usage, permissions required, or output format. For a tool with no annotations that performs system analysis, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two paragraphs: the first states the action and scope, the second elaborates on components and usage. Each sentence adds value, but the second paragraph could be slightly more front-loaded by integrating usage context earlier. Overall, it's efficient with minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a comprehensive system analysis tool with no annotations and no output schema, the description is moderately complete. It covers purpose and usage but lacks behavioral details like execution behavior, output structure, or error handling. With siblings available for specific checks, it's adequate but has clear gaps for informed tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter information, which is appropriate. Baseline is 4 for zero parameters, as it avoids unnecessary details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Get complete system analysis', 'runs all diagnostic tools') and identifies the resource ('complete system report'). It distinguishes from siblings by mentioning it includes hardware, network, storage, devices, and user environment, which are covered by separate sibling tools. However, it doesn't explicitly name the sibling tools it aggregates, keeping it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('for complete system analysis and thorough troubleshooting sessions'), which implies it's for comprehensive diagnostics rather than specific checks. It doesn't explicitly state when not to use it or name alternatives, but the context strongly suggests using sibling tools for focused queries instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_hardware_detailsA

Get comprehensive hardware information - CPU, RAM, GPU, storage overview.

Detailed hardware specs including performance metrics and device detection. Use for hardware diagnostics and system capability assessment.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'detailed hardware specs' and 'performance metrics,' implying a read-only operation, but doesn't explicitly state if it's safe, requires permissions, has rate limits, or what the output format looks like. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior and constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, starting with a clear purpose statement followed by usage guidelines in two concise sentences. Every sentence adds value: the first defines what the tool does, and the second explains when to use it. There's no redundant information, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (no parameters, no output schema, no annotations), the description is adequate but has clear gaps. It covers purpose and usage well, but without annotations or output schema, it lacks details on behavioral traits like safety, permissions, or return format. For a diagnostic tool, more context on what 'comprehensive' entails or example outputs would enhance completeness, but it's minimally viable as-is.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, with 100% schema description coverage (since there are no parameters to describe). The description doesn't need to add parameter semantics, so it naturally compensates by focusing on the tool's purpose and usage. This meets the baseline for tools with no parameters, as there's nothing to document beyond what's already covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as retrieving comprehensive hardware information including CPU, RAM, GPU, and storage, with specific mention of performance metrics and device detection. It distinguishes itself from siblings like get_connected_devices or get_display_info by covering broader hardware aspects, though it doesn't explicitly contrast with get_full_system_report or get_system_summary, which might overlap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage contexts: 'Use for hardware diagnostics and system capability assessment.' This gives clear guidance on when to use the tool, such as for troubleshooting or evaluating system performance. However, it doesn't specify when not to use it or name alternatives among siblings, like using get_system_summary for a high-level overview instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_network_statusA

Get network configuration and connectivity - interfaces, IPs, DNS, VPN status.

Complete network diagnostics including external connectivity and VPN detection. Essential for troubleshooting network issues and security analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions what the tool includes ('network diagnostics', 'external connectivity and VPN detection'), which adds useful context beyond basic purpose. However, it lacks details on potential side effects, performance implications, or output format, leaving some behavioral aspects unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two sentences that are front-loaded with key information ('Get network configuration and connectivity') and avoid waste. While efficient, it could be slightly more structured, but it effectively conveys the essential details without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (network diagnostics with no parameters) and lack of annotations and output schema, the description is moderately complete. It covers the purpose and usage context well but doesn't fully address behavioral aspects like what specific data is returned or how the diagnostics are performed, leaving some gaps for an agent to understand the tool fully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the inputs. The description doesn't need to add parameter information, and it appropriately focuses on the tool's functionality without redundant details, earning a baseline score for this scenario.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Get', 'diagnostics') and resources ('network configuration and connectivity', 'interfaces, IPs, DNS, VPN status'), making it easy to understand what it does. However, it doesn't explicitly differentiate from sibling tools like 'get_connected_devices' or 'get_open_ports', which might also relate to network aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool ('Essential for troubleshooting network issues and security analysis'), which helps guide usage. It doesn't specify when not to use it or name alternatives among siblings, but the context is sufficient for typical decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_open_portsA

Get list of open network ports and listening services.

Shows listening ports with associated processes and active network connections. Critical for security analysis, service monitoring, and network troubleshooting.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states what the tool does, not how it behaves. It lacks details on permissions required, whether it runs locally or remotely, potential performance impact, output format, or any limitations. The description is functional but not behaviorally transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with three sentences: the first states the core function, the second elaborates on scope, and the third provides usage context. It is front-loaded with the main purpose, though the third sentence could be more concise by integrating context into the first two.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of network port analysis and the lack of annotations and output schema, the description is incomplete. It does not explain what the output includes (e.g., port numbers, protocols, process IDs), how data is formatted, or any behavioral aspects like real-time vs. cached data, making it inadequate for an agent to fully understand the tool's operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the baseline is 4. The description does not need to compensate for any parameter gaps, and it appropriately does not mention parameters, focusing instead on the tool's purpose and output scope.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific verb ('Get list') and resource ('open network ports and listening services'), and distinguishes from siblings by focusing on ports/services rather than devices, processes, or hardware. It provides a comprehensive scope including listening ports, processes, and active connections.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through phrases like 'critical for security analysis, service monitoring, and network troubleshooting,' but does not explicitly state when to use this tool versus alternatives like get_network_status or get_running_processes. No exclusions or direct comparisons to sibling tools are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_running_processesA

Get list of running processes with resource usage and executable paths.

Shows top processes by CPU/memory usage with PIDs, names, and executable paths. Essential for performance analysis, troubleshooting resource issues, and security auditing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what the tool returns (list of processes with specific attributes) and its purpose, but lacks details on potential limitations (e.g., real-time vs. cached data, permissions required, or system-specific behavior). The description adds value by specifying the focus on 'top processes' and use cases, but does not fully cover behavioral traits like performance impact or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by additional details in a structured manner. Each sentence adds value: the first defines the tool, the second elaborates on output specifics, and the third provides usage contexts. There is no wasted text, making it highly efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a read-only operation with no parameters) and lack of annotations or output schema, the description is reasonably complete. It explains what the tool does, what information it returns, and when to use it. However, it could be more complete by detailing the output format (e.g., structure of the list) or any system dependencies, which would help an agent invoke it correctly without an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, focusing instead on the tool's output and usage. This meets the baseline for tools with no parameters, as it avoids unnecessary repetition from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Get list of running processes') and resource ('with resource usage and executable paths'), distinguishing it from sibling tools like get_hardware_details or get_network_status. It explicitly mentions what information is included (PIDs, names, executable paths) and the scope (top processes by CPU/memory usage).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('Essential for performance analysis, troubleshooting resource issues, and security auditing'), giving practical scenarios. However, it does not explicitly state when NOT to use it or name specific alternatives among the sibling tools, such as get_full_system_report for broader analysis.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_storage_analysisB

Get disk and storage analysis - all partitions, capacity, usage.

Comprehensive storage overview including all mounted volumes and usage stats. Critical for disk space management and storage troubleshooting.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool provides a 'comprehensive storage overview' and is 'critical for disk space management,' but fails to disclose key behavioral traits such as whether it requires elevated permissions, potential performance impact, data freshness, or output format. This leaves significant gaps for an agent to understand how to invoke it effectively.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by elaboration and context. It avoids redundancy and uses clear language. However, the second sentence ('Comprehensive storage overview...') slightly repeats information from the first, and the third sentence adds value but could be more integrated for optimal efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a system analysis tool with no parameters and no output schema), the description provides basic purpose and usage context but lacks completeness. Without annotations or an output schema, it should ideally explain what the return data looks like (e.g., structured metrics, raw text) or any behavioral constraints. The description is adequate as a minimum viable explanation but has clear gaps for full contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, with 100% schema description coverage (since there are no parameters to describe). In such cases, the baseline score is 4, as there is no need for the description to compensate for parameter documentation. The description appropriately focuses on the tool's purpose without unnecessary parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get disk and storage analysis - all partitions, capacity, usage.' It specifies the verb ('Get') and resource ('disk and storage analysis'), and the second sentence elaborates on scope ('all mounted volumes and usage stats'). However, it does not explicitly differentiate from sibling tools like 'get_hardware_details' or 'get_full_system_report', which might overlap in system monitoring contexts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context with phrases like 'Critical for disk space management and storage troubleshooting,' suggesting when this tool is appropriate. However, it does not provide explicit guidance on when to use this tool versus alternatives (e.g., 'get_hardware_details' for broader hardware info or 'get_full_system_report' for comprehensive data), nor does it specify exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_system_summaryA

Get essential system overview - hostname, OS, CPU, RAM, uptime.

Quick system identity check without heavy data collection. Perfect for basic system verification and health checks.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that this is a read operation ('Get') and emphasizes it's 'without heavy data collection,' which implies low resource usage and non-destructive behavior. However, it lacks details on potential rate limits, error conditions, or specific output format, leaving some behavioral aspects unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and well-structured: the first sentence states the purpose with key details, and the next two sentences provide usage context. Every sentence adds value—none are redundant or vague—making it efficient and front-loaded for quick understanding by an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is largely complete. It clearly explains what the tool does and when to use it, aligning with the sibling context. However, the lack of output schema means the description doesn't specify the return format (e.g., structured data vs. raw text), which is a minor gap for full contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, with 100% schema description coverage (since there are no parameters to describe). The description does not need to add parameter semantics, and it appropriately avoids discussing inputs. A baseline of 4 is applied as per the rules for zero-parameter tools, as it correctly focuses on the tool's purpose without unnecessary parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool's purpose with specific details: 'Get essential system overview - hostname, OS, CPU, RAM, uptime.' This clearly distinguishes it from sibling tools like get_full_system_report or get_hardware_details by emphasizing it's a 'quick system identity check without heavy data collection' for 'basic system verification and health checks.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: 'Perfect for basic system verification and health checks.' It implicitly contrasts with siblings by noting it's 'without heavy data collection,' suggesting alternatives like get_full_system_report for more detailed analysis. This helps the agent choose appropriately based on the need for a lightweight overview versus comprehensive data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_user_environmentB

Get user session and locale information - current user, timezone, language.

User context including session details, timezone, and system language settings. Important for environment-specific troubleshooting and localization issues.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool retrieves 'user session and locale information' and is 'important for... troubleshooting and localization,' but it doesn't disclose key behavioral traits such as whether this is a read-only operation, if it requires specific permissions, potential rate limits, or what the output format looks like. For a tool with no annotation coverage, this leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence clearly states the purpose, and the second adds context. There's minimal waste, but the second sentence could be slightly more concise (e.g., merging ideas). Overall, it's efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (simple, no parameters) and the absence of annotations and output schema, the description is moderately complete. It explains what the tool does and its use cases, but it lacks details on behavioral aspects (e.g., safety, output format) that would be crucial for an agent to invoke it correctly without structured data. It's adequate but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and the schema description coverage is 100% (as there are no parameters to describe). The description doesn't need to add parameter semantics, so it meets the baseline of 4 for having no parameters. It appropriately focuses on the tool's purpose without unnecessary parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get user session and locale information - current user, timezone, language.' It uses specific verbs ('Get') and resources ('user session and locale information'), making the action and target explicit. However, it doesn't distinguish this tool from its siblings (e.g., get_display_info, get_system_summary), which also retrieve system/user information, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidance: 'Important for environment-specific troubleshooting and localization issues.' This suggests when the tool might be useful, but it doesn't explicitly state when to use this tool versus alternatives (e.g., get_system_summary for broader info) or any exclusions. The guidance is helpful but not comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose targeting specific system components like hardware, network, processes, storage, displays, devices, and user environment. There is no overlap in functionality; for example, get_hardware_details focuses on CPU/RAM/GPU, while get_storage_analysis covers disk partitions, and get_display_info handles monitor details. The descriptions reinforce these boundaries, making tool selection unambiguous for an agent.

Naming Consistency5/5

All tool names follow a consistent 'get_*' verb_noun pattern with snake_case, such as get_connected_devices, get_display_info, and get_running_processes. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions across all 10 tools.

Tool Count5/5

With 10 tools, the server is well-scoped for system information gathering, covering key areas like hardware, network, processes, storage, and user environment. Each tool earns its place by addressing a distinct aspect of system diagnostics, avoiding bloat while ensuring comprehensive coverage for troubleshooting and analysis tasks.

Completeness5/5

The tool set provides complete coverage for system information diagnostics, including hardware details, network status, running processes, storage analysis, display info, connected devices, user environment, and a full system report. There are no obvious gaps; agents can perform thorough system analysis without dead ends, from basic summaries to in-depth reports.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Latest Blog Posts

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/batteryshark/mcp-sysinfo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server