Coala Client
Part of the coala ecosystem. CLI for chat with OpenAI-compatible LLMs (OpenAI, Gemini, Ollama) and MCP (Model Context Protocol) servers. Supports importing CWL toolsets as MCP servers, importing skills, and an optional sandbox to run shell commands.
Config paths
- MCP config and toolsets:
~/.config/coala/mcps/
mcp_servers.json — server definitions
<toolset>/ — per-toolset dirs with run_mcp.py and CWL files
- Skills:
~/.config/coala/skills/ (one subfolder per imported source)
- Env:
~/.config/coala/env (optional; key=value for providers and MCP env)
Quick start
Init (first time)
coala init — creates ~/.config/coala/mcps/mcp_servers.json and env.
Set API key
e.g. export OPENAI_API_KEY=... or export GEMINI_API_KEY=.... Ollama needs no key.
Chat
coala or coala chat — interactive chat with MCP tools.
coala ask "question" — single prompt with MCP.
Options
-p, --provider (openai|gemini|ollama|custom), -m, --model, --no-mcp, --sandbox.
MCP: CWL toolsets
No API key needed for MCP import, list, or call — only for chat/ask with an LLM.
Import (creates toolset under ~/.config/coala/mcps/<TOOLSET>/ and registers server):
coala mcp-import <TOOLSET> <SOURCES...> or alias coala mcp ...
SOURCES: local .cwl files, a .zip, or http(s) URLs to a .cwl or .zip.
Requires the coala package where the MCP server runs (for run_mcp.py).
List
coala mcp-list — list server names.
coala mcp-list <SERVER_NAME> — print each tool’s schema (name, description, inputSchema).
Call
coala mcp-call <SERVER>.<TOOL> --args '<JSON>'
Example: coala mcp-call gene-variant.ncbi_datasets_gene --args '{"data": [{"gene": "TP53", "taxon": "human"}]}'
Skills
Import (into ~/.config/coala/skills/, one subfolder per source):
coala skill <SOURCES...>
SOURCES: GitHub tree URL (e.g. https://github.com/owner/repo/tree/main/skills), zip URL, or local zip/dir.
In chat
/skill — list installed skills.
/skill <name> — load skill from ~/.config/coala/skills/<name>/ (e.g. SKILL.md) into context.
Chat commands
/help, /exit, /quit, /clear
/tools — list MCP tools
/servers — list connected MCP servers
/skill — list skills; /skill <name> — load a skill
/model — show model info
/switch <provider> — switch provider
MCP on/off
- All off:
coala --no-mcp (or coala ask "..." --no-mcp).
- One server off: remove its entry from
~/.config/coala/mcps/mcp_servers.json.
- On: default when
--no-mcp is not used; add or restore servers in mcp_servers.json.
Providers and env
Set provider via -p or env PROVIDER. Set keys and URLs per provider (e.g. OPENAI_API_KEY, GEMINI_API_KEY, OLLAMA_BASE_URL). Optional: put vars in ~/.config/coala/env.
coala config — print current config paths and provider/model info.
1---2name: coala-client-23description: How to use the coala-client CLI for chat with LLMs, MCP servers, and skills. Use when the user asks how to use coala, run coala chat, add MCP servers, import CWL toolsets, list or call MCP tools, import or load skills, or use the sandbox run_command tool.4---56# Coala Client78Part of the coala ecosystem. CLI for chat with OpenAI-compatible LLMs (OpenAI, Gemini, Ollama) and MCP (Model Context Protocol) servers. Supports importing CWL toolsets as MCP servers, importing skills, and an optional sandbox to run shell commands.910## Config paths1112- MCP config and toolsets: `~/.config/coala/mcps/` 13 - `mcp_servers.json` — server definitions 14 - `<toolset>/` — per-toolset dirs with `run_mcp.py` and CWL files 15- Skills: `~/.config/coala/skills/` (one subfolder per imported source) 16- Env: `~/.config/coala/env` (optional; key=value for providers and MCP env)1718## Quick start19201. **Init (first time)** 21 `coala init` — creates `~/.config/coala/mcps/mcp_servers.json` and `env`.22232. **Set API key** 24 e.g. `export OPENAI_API_KEY=...` or `export GEMINI_API_KEY=...`. Ollama needs no key.25263. **Chat** 27 `coala` or `coala chat` — interactive chat with MCP tools. 28 `coala ask "question"` — single prompt with MCP.29304. **Options** 31 `-p, --provider` (openai|gemini|ollama|custom), `-m, --model`, `--no-mcp`, `--sandbox`.3233## MCP: CWL toolsets3435No API key needed for MCP import, list, or call — only for chat/ask with an LLM.3637- **Import** (creates toolset under `~/.config/coala/mcps/<TOOLSET>/` and registers server): 38 `coala mcp-import <TOOLSET> <SOURCES...>` or alias `coala mcp ...` 39 SOURCES: local `.cwl` files, a `.zip`, or http(s) URLs to a .cwl or .zip. 40 Requires the `coala` package where the MCP server runs (for `run_mcp.py`).4142- **List** 43 `coala mcp-list` — list server names. 44 `coala mcp-list <SERVER_NAME>` — print each tool’s schema (name, description, inputSchema).4546- **Call** 47 `coala mcp-call <SERVER>.<TOOL> --args '<JSON>'` 48 Example: `coala mcp-call gene-variant.ncbi_datasets_gene --args '{"data": [{"gene": "TP53", "taxon": "human"}]}'`4950## Skills5152- **Import** (into `~/.config/coala/skills/`, one subfolder per source): 53 `coala skill <SOURCES...>` 54 SOURCES: GitHub tree URL (e.g. `https://github.com/owner/repo/tree/main/skills`), zip URL, or local zip/dir.5556- **In chat** 57 `/skill` — list installed skills. 58 `/skill <name>` — load skill from `~/.config/coala/skills/<name>/` (e.g. SKILL.md) into context.596061## Chat commands6263- `/help`, `/exit`, `/quit`, `/clear` 64- `/tools` — list MCP tools 65- `/servers` — list connected MCP servers 66- `/skill` — list skills; `/skill <name>` — load a skill 67- `/model` — show model info 68- `/switch <provider>` — switch provider 6970## MCP on/off7172- **All off:** `coala --no-mcp` (or `coala ask "..." --no-mcp`). 73- **One server off:** remove its entry from `~/.config/coala/mcps/mcp_servers.json`. 74- **On:** default when `--no-mcp` is not used; add or restore servers in `mcp_servers.json`.7576## Providers and env7778Set provider via `-p` or env `PROVIDER`. Set keys and URLs per provider (e.g. `OPENAI_API_KEY`, `GEMINI_API_KEY`, `OLLAMA_BASE_URL`). Optional: put vars in `~/.config/coala/env`. 79`coala config` — print current config paths and provider/model info.