Skip to main content
Glama
mlaugharn
by mlaugharn

cli MCP server

cli bridge

Pretty much a remix of the demo notes app.

Components

Resources

The server implements a simple system for working with arbitrary clis with:

  • Custom cli:// URI scheme for accessing individual notes

  • Each cli resource has a name, help menu subtree, and text/plain mimetype

Tools

The server implements one tool:

  • add (cmd): Recursively parses cli help menu subtrees and stores definition

    • Takes "cmd"

    • Updates server state and notifies clients of resource changes

  • help (cmd): Return subtrees definition

  • run (cmd, cmd_args | None): Run a known command

Related MCP server: PyCLI MCP

Quickstart

Install

Claude Desktop

Note: I had to use /opt/homebrew/bin/uv instead of just uv in the command field in this json:

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

On Windows: %APPDATA%/Claude/claude_desktop_config.json

{"mcpServers": {
  "cli": {
    "command": "uv",
    "args": [
      "run",
      "--directory",
      "\<path to repo folder\>",
      "cli"
    ]}
  }
}

By design, you have to explicitly 'add' a command before it can be run.

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector via npm with this command:

npx @modelcontextprotocol/inspector uv --directory <path to repo> run cli

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

Available Tools

3 tools
addC

Add a new cli schema learned by traversing parsing all help menu subtrees.

ParametersJSON Schema
NameRequiredDescriptionDefault
cmdYes

TDQS

C2.2/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It hints at a complex process (traversing/parsing help menus) but does not disclose whether the operation is destructive, requires permissions, or any side effects.

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

Conciseness3/5

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

The description is a single sentence, which is concise, but its poor grammar and awkward phrasing detract from clarity. It could be restructured for better readability.

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 lack of output schema and minimal parameter info, the description should explain the return value and parameter details. It does not, leaving the agent with insufficient information to use the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain the 'cmd' parameter beyond what the schema provides (a string). It fails to clarify what the parameter represents or any constraints.

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

Purpose3/5

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

The description attempts to state the tool's purpose by saying 'Add a new cli schema learned by traversing parsing all help menu subtrees,' but the grammar is confusing. It is not a tautology and gives a general idea, but lacks clarity.

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?

No guidance on when to use this tool versus siblings like 'help' or 'run'. The description does not provide context for appropriate usage or alternatives.

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

helpC

Returns learned schema of cli.

ParametersJSON Schema
NameRequiredDescriptionDefault
cmdYes

TDQS

C2/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states it returns something, but does not disclose any side effects, permissions, or whether this is a read operation. Agent gets no insight into behavior.

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

Conciseness2/5

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

The description is a single underspecified sentence. While short, it lacks necessary detail, making it ineffective rather than concise.

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

Completeness1/5

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

With one parameter, no output schema, and no annotations, the description is extremely incomplete. Missing return format, examples, and parameter details leaves the agent with insufficient information to use the tool correctly.

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

Parameters1/5

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

Parameter 'cmd' is only defined by type in schema (0% coverage). The description adds no explanation of what 'cmd' represents or acceptable values, leaving the agent to guess.

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

Purpose3/5

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

The description states 'Returns learned schema of cli' which indicates a return operation on a schema resource, but 'learned schema' and 'cli' are ambiguous. It does not clearly distinguish from sibling tools 'add' and 'run'.

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?

No guidance on when to use this tool versus alternatives like 'add' or 'run'. The description lacks context for appropriate usage scenarios.

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

runC

Run a command

ParametersJSON Schema
NameRequiredDescriptionDefault
cmdYes
cmd_argsNo

TDQS

C2.1/5.0
Behavior1/5

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

No annotations are present, so the description carries the full burden of disclosing behavioral traits. It merely states 'Run a command' without any information about side effects, permissions, system impact, or return behavior. This is insufficient for an agent to understand the tool's effects.

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

Conciseness2/5

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

The description is only one sentence, which is concise but not adequately informative for a tool with two parameters and no annotations. It under-specifies the tool's purpose and usage.

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

Completeness1/5

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

Given the lack of annotations, output schema, and parameter descriptions, the description is completely inadequate. It provides no context on return values, error handling, or execution environment, leaving the agent with insufficient information to use the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0%, but the description adds no explanation of the parameters 'cmd' or 'cmd_args'. It does not clarify what constitutes a command or how arguments are passed, leaving the agent with only the raw schema types.

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 'Run a command' clearly states the action (run) and the resource (command). It is not a tautology and provides a specific verb and resource, but it does not distinguish from sibling tools 'add' and 'help' which are different operations.

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?

No usage guidelines are provided. The description does not specify when to use this tool versus alternatives like 'add' or 'help', nor does it mention any prerequisites or exclusions.

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 updatesv0.1.0
    • First observedadd
    • First observedhelp
    • First observedrun

TDQS

C2.8/5.0
Disambiguation5/5

Each tool has a distinct purpose: add learns a CLI schema, help retrieves it, and run executes a command. There is no overlap.

Naming Consistency5/5

All tool names are single imperative verbs (add, help, run), following a consistent pattern.

Tool Count5/5

Three tools is appropriate for a focused CLI schema management server, covering learning, retrieval, and execution.

Completeness3/5

Basic lifecycle is covered (add, retrieve, run), but lacks schema update or deletion, and may not support multiple CLIs.

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

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables natural language interaction with any Python CLI application (Click, Typer, Argparse) through the Model Context Protocol.
    23
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to call any CLI tool by scanning its help output and serving it as an MCP server.
    1
    GPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Universal MCP server that wraps any CLI tool, enabling AI assistants to run commands via natural language.
    MIT

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/mlaugharn/cli-mcp'

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