{"data":{"slug":"adhikasp-mcp-client-cli","name":"mcp-client-cli","tagline":"A CLI tool to run LLM prompts and implement MCP client.","github_url":"https://github.com/adhikasp/mcp-client-cli","owner":"adhikasp","repo":"mcp-client-cli","owner_avatar_url":"https://avatars.githubusercontent.com/u/6151302?v=4","primary_language":"Python","stars":678,"forks":84,"topics":["langchain","llm","mcp","model-context-protocol"],"archived":false,"github_pushed_at":"2025-12-02T10:00:38+00:00","maintenance_label":"Slowing","stars_delta_30d":0,"url":"https://www.graphcanon.com/tools/adhikasp-mcp-client-cli","markdown_url":"https://www.graphcanon.com/tools/adhikasp-mcp-client-cli.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/adhikasp-mcp-client-cli","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=adhikasp-mcp-client-cli","description":"A simple CLI to run LLM prompt and implement MCP client.","homepage_url":null,"license":"MIT","open_issues":22,"watchers":6,"ai_summary":"A simple command-line interface to interact with LLMs and MCP servers, supporting various LLM providers and local models.","readme_excerpt":"# MCP CLI client\n\nA simple CLI program to run LLM prompt and implement [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) client.\n\nYou can use any [MCP-compatible servers](https://github.com/punkpeye/awesome-mcp-servers) from the convenience of your terminal.\n\nThis act as alternative client beside Claude Desktop. Additionally you can use any LLM provider like OpenAI, Groq, or local LLM model via [llama](https://github.com/ggerganov/llama.cpp).\n\n\n\n## Setup\n\n1. Install via pip:\n   ```bash\n   pip install mcp-client-cli\n   ```\n\n2. Create a `~/.llm/config.json` file to configure your LLM and MCP servers:\n   ```json\n   {\n     \"systemPrompt\": \"You are an AI assistant helping a software engineer...\",\n     \"llm\": {\n       \"provider\": \"openai\",\n       \"model\": \"gpt-4\",\n       \"api_key\": \"your-openai-api-key\",\n       \"temperature\": 0.7,\n       \"base_url\": \"https://api.openai.com/v1\"  // Optional, for OpenRouter or other providers\n     },\n     \"mcpServers\": {\n       \"fetch\": {\n         \"command\": \"uvx\",\n         \"args\": [\"mcp-server-fetch\"],\n         \"requires_confirmation\": [\"fetch\"],\n         \"enabled\": true,  // Optional, defaults to true\n         \"exclude_tools\": []  // Optional, list of tool names to exclude\n       },\n       \"brave-search\": {\n         \"command\": \"npx\",\n         \"args\": [\"-y\", \"@modelcontextprotocol/server-brave-search\"],\n         \"env\": {\n           \"BRAVE_API_KEY\": \"your-brave-api-key\"\n         },\n         \"requires_confirmation\": [\"brave_web_search\"]\n       },\n       \"youtube\": {\n         \"command\": \"uvx\",\n         \"args\": [\"--from\", \"git+https://github.com/adhikasp/mcp-youtube\", \"mcp-youtube\"]\n       }\n     }\n   }\n   ```\n\n   Note:\n   - See [CONFIG.md](CONFIG.md) for complete documentation of the configuration format\n   - Use `requires_confirmation` to specify which tools need user confirmation before execution\n   - The LLM API key can also be set via environment variables `LLM_API_KEY` or `OPENAI_API_KEY`\n   - The config file can be placed in either `~/.llm/config.json` or `$PWD/.llm/config.json`\n   - You can comment the JSON config file with `//` if you like to switch around the configuration\n\n3. Run the CLI:\n   ```bash\n   llm \"What is the capital city of North Sumatra?\"\n   ```\n\n## Usage\n\n### Basic Usage\n\n```bash\n$ llm What is the capital city of North Sumatra?\nThe capital city of North Sumatra is Medan.\n```\n\nYou can omit the quotes, but be careful with bash special characters like `&`, `|`, `;` that might be interpreted by your shell.\n\nYou can also pipe input from other commands or files:\n\n```bash\n$ echo \"What is the capital city of North Sumatra?\" | llm\nThe capital city of North Sumatra is Medan.\n\n$ echo \"Given a location, tell me its capital city.\" > instructions.txt\n$ cat instruction.txt | llm \"West Java\"\nThe capital city of West Java is Bandung.\n```\n\n### Image Input\n\nYou can pipe image files to analyze them with multimodal LLMs:\n\n```bash\n$ cat image.jpg | llm \"What do you see in this image?\"\n[LLM will analyze and describe the image]\n\n$ cat screenshot.png | llm \"Is there any error in this screenshot?\"\n[LLM will analyze the screenshot and point out any errors]\n```\n\n### Using Prompt Templates\n\nYou can use predefined prompt templates by using the `p` prefix followed by the template name and its arguments:\n\n```bash\n# List available prompt templates\n$ llm --list-prompts\n\n# Use a template\n$ llm p review  # Review git changes\n$ llm p commit  # Generate commit message\n$ llm p yt url=https://youtube.com/...  # Summarize YouTube video\n```\n\n### Triggering a tool\n\n```bash\n$ llm What is the top article on hackernews today?\n\n================================== Ai Message ==================================\nTool Calls:\n  brave_web_search (call_eXmFQizLUp8TKBgPtgFo71et)\n Call ID: call_eXmFQizLUp8TKBgPtgFo71et\n  Args:\n    query: site:news.ycombinator.com\n    count: 1\nBrave Search MCP Server running on stdio\n\n# If the tool requires confirmation, you'll be prompted:\nConfirm tool call? [y/n]: y\n\n=====================","github_created_at":"2024-11-27T14:21:00+00:00","created_at":"2026-07-11T11:54:55.867542+00:00","updated_at":"2026-09-30T21:41:36.253665+00:00","categories":[{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"}],"tags":[{"slug":"cli","name":"cli"},{"slug":"groq","name":"groq"},{"slug":"langchain","name":"langchain"},{"slug":"llm","name":"llm"},{"slug":"mcp","name":"mcp"},{"slug":"model-context-protocol","name":"model-context-protocol"},{"slug":"openai","name":"openai"},{"slug":"python","name":"python"}],"trust":{"provenance":{"is_fork":false,"github_id":895079444,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T06:46:19.006Z","maintenance":{"label":"Slowing","score":36,"methodology":"github_public_v1","releases_90d":0,"days_since_push":291,"last_release_at":"2025-12-02T09:09:32Z","stars_delta_30d":0,"open_issues_delta_30d":0},"security_summary":{"status":"no_manifest","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:54:57.430Z","medium_count":0,"scan_profile":"mcp_manifest","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-20T06:46:20.052Z"},"has_cli":{"value":true,"source":"pyproject.toml:[project.scripts]","observed_at":"2026-09-20T06:46:20.052Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-09-20T06:46:20.052Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-09-20T06:46:20.052Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["When you need a CLI tool that supports the Model Context Protocol (MCP) and can interact with various LLM providers, including OpenAI and Groq, or local models.","If you prefer to manage LLM interactions and MCP server configurations through a terminal interface, and you want to use a tool that is not a desktop application like Claude Desktop.","When you require flexibility in configuring LLM and MCP server settings via a JSON configuration file, allowing for easy switching between different configurations."],"when_not_to_use":["If you are looking for a GUI-based tool for LLM interaction, as mcp-client-cli is a command-line interface and does not offer a graphical user interface.","When you need a tool that does not require manual setup of a configuration file, as mcp-client-cli requires users to set up a `~/.llm/config.json` file to configure LLM and MCP servers.","If you are working in an environment where command-line access is restricted or not preferred, as mcp-client-cli is designed for terminal use."],"source":"enrich:decision_facts","observed_at":"2026-09-30T21:41:33.500Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"mcp-client-cli is a Python-based CLI tool for interacting with LLMs and MCP servers, supporting multiple LLM providers and local models."}]}}