Skip to main content
Glama
tizee

Unix Manual Server

by tizee

Unix Manual Server (MCP)

An MCP server that provides Unix command documentation directly within Claude conversations.

Features

  • Get command documentation: Retrieve help pages, man pages, and usage information for Unix commands

  • List common commands: Discover available commands on your system, categorized by function

  • Check command existence: Verify if a specific command is available and get its version information

Related MCP server: DevDocs MCP Server

Installation

Prerequisites

Setup

  1. Clone this repository

  2. Install the package:

pip install -e .
# or
uv install -e .
  1. Install the server in Claude Desktop:

mcp install unix_manual_server.py
# uv
uv run mcp install unix_manual_server.py

Usage

Once installed, you can use the server's tools directly in Claude:

Get command documentation

I need help with the grep command. Can you show me the documentation?

List common commands

What Unix commands are available on my system?

Check if a command exists

Is the awk command available on my system?

Development

To test the server locally without installing it in Claude:

mcp dev unix_manual_server.py

Security

The server takes precautions to prevent command injection by:

  • Validating command names against a regex pattern

  • Executing commands directly without using shell

  • Setting timeouts on all command executions

  • Only checking for documentation, never executing arbitrary commands

Logging

Logs are saved to unix-manual-server.log in the same directory as the script, useful for debugging.

  • use @modelcontextprotocol/inspector with npx under the hood.

uv run mcp dev unix_manual_server.py
npx @modelcontextprotocol/inspector uv run unix_manual_server.py

License

MIT


Created with the MCP Python SDK. For more information about MCP, visit modelcontextprotocol.io.

Available Tools

3 tools
check_command_existsC

Check if a command exists on the system.

Args: command: The command to check

Returns: Information about whether the command exists

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes

TDQS

C2.7/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 states the tool checks for command existence but doesn't explain how it performs this check (e.g., system path search, specific OS behavior), what 'exists' means (e.g., executable in PATH), or any limitations (e.g., platform dependencies). This is inadequate for a tool with zero annotation coverage.

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 concise and well-structured with clear sections for Args and Returns. However, the 'Returns' section is vague ('Information about whether the command exists'), which slightly reduces efficiency. Overall, it's appropriately sized with minimal fluff.

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 no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks details on behavior, parameter usage, and return format, making it inadequate for an agent to reliably invoke this tool. More context is needed to compensate for the missing structured data.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It adds minimal value: it names the parameter ('command') and states it's 'The command to check,' but doesn't clarify format (e.g., string without arguments, case sensitivity) or examples. This is insufficient given the low schema coverage and single parameter.

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: 'Check if a command exists on the system.' This is a specific verb ('Check') and resource ('command'), making it understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_command_documentation' or 'list_common_commands', which prevents 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 Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or specify scenarios where checking command existence is appropriate versus retrieving documentation or listing commands. This leaves the agent without contextual usage direction.

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

get_command_documentationC

Get documentation for a command in Unix-like system.

Args: command: The command to get documentation for (no arguments) prefer_economic: Whether to prefer the economic approach (--help/-h/help) [default: True] man_section: Specific manual section to look in (1-9) [optional]

Returns: The command documentation as a string

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes
prefer_economicNo
man_sectionNo

TDQS

C2.9/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 mentions that the tool returns documentation as a string, which is helpful, but doesn't cover important behavioral aspects like error handling (what happens if the command doesn't exist), performance characteristics, or system dependencies. The description is functional but lacks operational context.

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 well-structured with clear sections (Args, Returns) and gets straight to the point. The opening sentence states the purpose clearly, followed by parameter details. While efficient, the 'prefer_economic' explanation could be more concise or clearer about what 'economic approach' means in practice.

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 tool with 3 parameters, 0% schema coverage, no annotations, and no output schema, the description does an adequate job. It explains the basic functionality and parameters, but lacks important context about error conditions, performance, and system requirements. The return type is mentioned but not the format or potential variations in output.

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

Parameters3/5

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

The description provides parameter documentation in the Args section, explaining what each parameter does. With 0% schema description coverage, this adds significant value beyond the bare schema. However, some explanations could be clearer - 'prefer_economic' is described but the meaning of 'economic approach' isn't fully explained, and 'man_section' range (1-9) is mentioned but not what different sections represent.

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 documentation for a command in Unix-like system.' It specifies the verb ('get documentation') and resource ('a command'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'check_command_exists' or 'list_common_commands' beyond the obvious functional difference.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus its siblings. While the purpose is clear, there's no mention of alternatives like using 'check_command_exists' first or when 'list_common_commands' might be more appropriate. The description only explains what the tool does, not when to choose it over other options.

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

list_common_commandsB

List common Unix commands available on the system.

Returns: A list of common Unix commands

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/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 states the tool returns a list but doesn't specify details like format, size, or whether it's static or dynamic. For a tool with no annotations, this is insufficient to inform the agent about key behavioral traits.

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 concise and well-structured, with two sentences that directly state the purpose and return value. It's front-loaded with the main action and avoids unnecessary details, though the 'Returns:' section could be integrated more smoothly.

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 low complexity (0 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks depth in behavioral context and usage guidelines, which are needed for full agent understanding in this server 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's no need for parameter details in the description. The baseline for this scenario is 4, as the description appropriately avoids redundant information and focuses on the tool's purpose.

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: 'List common Unix commands available on the system.' It specifies the verb ('List') and resource ('common Unix commands'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'check_command_exists' or 'get_command_documentation', which prevents a score of 5.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or contexts where this tool is preferred, such as for general exploration versus specific checks. This lack of comparative usage information limits its helpfulness for an AI agent.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • First observedcheck_command_exists
    • First observedget_command_documentation
    • First observedlist_common_commands

TDQS

B3.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: checking command existence, retrieving documentation, and listing common commands. There is no overlap in functionality, making it easy for an agent to select the appropriate tool without confusion.

Naming Consistency4/5

The tools follow a consistent verb_noun pattern (check_command_exists, get_command_documentation, list_common_commands), with minor deviations in verb choice ('check', 'get', 'list'). The naming is predictable and readable, though not perfectly uniform in verb style.

Tool Count3/5

With only 3 tools, the server feels thin for a Unix manual domain, which might include operations like searching commands, filtering by category, or managing documentation. While the core functions are covered, the toolset could benefit from additional utilities to enhance completeness.

Completeness4/5

The tools cover the essential operations for a Unix manual server: verifying command availability, fetching documentation, and listing commands. Minor gaps exist, such as the inability to search or filter commands, but agents can work around these limitations with the provided tools.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides comprehensive access to documentation for 600+ Kali Linux penetration testing and security tools through Claude Desktop, enabling users to search, explore, and get detailed information about security tools by category or functionality.
    1
    -
  • F
    license
    A
    quality
    D
    maintenance
    Provides access to 600+ documentation libraries from DevDocs.io including Python, JavaScript, React, Django, and more. Enables searching, browsing, and retrieving documentation content directly through Claude Desktop.
    5
    5
    -

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/tizee/mcp-unix-manual'

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