Skip to content

mlaugharn/cli-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

cli MCP server

cli bridge

image

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

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.

About

expose clis over model context protocol

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages