Skip to content

Latest commit

 

History

History
68 lines (44 loc) · 1.75 KB

README.md

File metadata and controls

68 lines (44 loc) · 1.75 KB

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.