id = "mcphost"
name = "MCPHost"
homepage = "https://github.com/mark3labs/mcphost"
description = "CLI host for LLMs to interact with tools via MCP."
executables = ["mcphost"]
[dotfiles]
paths = [
"~/.mcphost.yml",
"~/.mcphost.json",
"~/.mcp.yml",
"~/.mcp.json",
"[configHome]/mcphost/hooks.yml",
]
secret = []
[[dotfiles.secret_paths]]
file = ["~/.mcphost.yml", "~/.mcp.yml"]
format = "yaml"
match = { key_path = ["provider-api-key", "mcpServers.*.environment.*"] }
[[dotfiles.secret_paths]]
file = ["~/.mcphost.json", "~/.mcp.json"]
format = "json"
match = { key_path = ["provider-api-key", "mcpServers.*.environment.*"] }
[commands]
format = 1
label = "Run MCPHost"
description = "Start MCPHost interactively or run a single prompt non-interactively. Auth, script and hook options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "readme"
kind = "manual"
url = "https://github.com/mark3labs/mcphost/blob/main/README.md"
revision = "2026-10-27"
evidence = """
- `--provider-url string`: Base URL for the provider API (applies to OpenAI, Anthropic, Ollama, and Google)
- `--config string`: Config file location (default is $HOME/.mcphost.yml)
- `--system-prompt string`: system-prompt file location
- `--debug`: Enable debug logging
- `--max-steps int`: Maximum number of agent steps (0 for unlimited, default: 0)
- `-m, --model string`: Model to use (format: provider/model) (default "anthropic/claude-sonnet-4-5-20250929")
- `-p, --prompt string`: **Run in non-interactive mode with the given prompt**
- `--quiet`: **Suppress all output except the AI response (only works with --prompt)**
- `--compact`: **Enable compact output mode without fancy styling (ideal for scripting and automation)**
- `--max-tokens int`: Maximum number of tokens in the response (default: 4096)
- `--temperature float32`: Controls randomness in responses (0.0-1.0, default: 0.7)
"""
[[commands.field]]
id = "model"
label = "Model"
description = "provider/model format."
type = "string"
option = ["--model", "-m"]
suggestions = [{ value = "anthropic/claude-sonnet-4-5-20250929", label = "Anthropic Claude Sonnet 4.5" }, { value = "ollama/qwen2.5:3b", label = "Ollama qwen2.5:3b" }]
sources = ["readme"]
[[commands.field]]
id = "prompt"
label = "Prompt"
description = "Runs non-interactively with this prompt."
type = "string"
option = ["--prompt", "-p"]
sources = ["readme"]
[[commands.field]]
id = "quiet"
label = "Only the AI response"
description = "Only works with a prompt."
type = "boolean"
option = ["--quiet"]
sources = ["readme"]
[[commands.field]]
id = "compact"
label = "Compact output"
type = "boolean"
option = ["--compact"]
sources = ["readme"]
[[commands.field]]
id = "config"
label = "Config file"
type = "path"
option = ["--config"]
path = { kind = "file", role = "input" }
sources = ["readme"]
[[commands.field]]
id = "system_prompt"
label = "System prompt (text or file)"
type = "string"
option = ["--system-prompt"]
sources = ["readme"]
[[commands.field]]
id = "provider_url"
label = "Provider base URL"
type = "url"
option = ["--provider-url"]
sources = ["readme"]
[[commands.field]]
id = "max_steps"
label = "Max agent steps"
description = "0 means unlimited."
type = "integer"
option = ["--max-steps"]
sources = ["readme"]
[[commands.field]]
id = "max_tokens"
label = "Max response tokens"
type = "integer"
option = ["--max-tokens"]
sources = ["readme"]
[[commands.field]]
id = "temperature"
label = "Temperature"
type = "number"
option = ["--temperature"]
sources = ["readme"]
[[commands.field]]
id = "debug"
label = "Debug logging"
type = "boolean"
option = ["--debug"]
sources = ["readme"]
[[commands.task]]
id = "chat"
label = "Interactive chat"
fields = ["model", "config"]
required = []
[[commands.task]]
id = "one-shot"
label = "One-shot prompt"
fields = ["prompt", "model", "quiet"]
required = ["prompt"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["model", "prompt", "quiet", "compact", "config"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["system_prompt", "provider_url", "max_steps", "max_tokens", "temperature", "debug"]