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---5
6# Coala Client
7
8Part 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.
9
10## Config paths
11
12- 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)
17
18## Quick start
19
201. **Init (first time)**
21 `coala init` — creates `~/.config/coala/mcps/mcp_servers.json` and `env`.
22
232. **Set API key**
24 e.g. `export OPENAI_API_KEY=...` or `export GEMINI_API_KEY=...`. Ollama needs no key.
25
263. **Chat**
27 `coala` or `coala chat` — interactive chat with MCP tools.
28 `coala ask "question"` — single prompt with MCP.
29
304. **Options**
31 `-p, --provider` (openai|gemini|ollama|custom), `-m, --model`, `--no-mcp`, `--sandbox`.
32
33## MCP: CWL toolsets
34
35No API key needed for MCP import, list, or call — only for chat/ask with an LLM.
36
37- **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`).
41
42- **List**
43 `coala mcp-list` — list server names.
44 `coala mcp-list <SERVER_NAME>` — print each tool’s schema (name, description, inputSchema).
45
46- **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"}]}'`
49
50## Skills
51
52- **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.
55
56- **In chat**
57 `/skill` — list installed skills.
58 `/skill <name>` — load skill from `~/.config/coala/skills/<name>/` (e.g. SKILL.md) into context.
59
60
61## Chat commands
62
63- `/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
69
70## MCP on/off
71
72- **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`.
75
76## Providers and env
77
78Set 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.