/add-ollama-tool
Add Ollama MCP server so the container agent can call local models for cheaper/faster tasks like summarization, translation, or general queries.
$ npx -y skills add sbusso/claudeclaw --skill add-ollama-tool --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/add-ollama-tool
Context preview
The summary Claude sees to decide when to auto-load this skill.
Add Ollama MCP server so the container agent can call local models for cheaper/faster tasks like summarization, translation, or general queries.
SKILL.md
add-ollama-tool.SKILL.mdname: add-ollama-tool
description: Add Ollama MCP server so the container agent can call local models for cheaper/faster tasks like summarization, translation, or general queries.
Add Ollama Integration
This skill adds a stdio-based MCP server that exposes local Ollama models as tools for the container agent. Claude remains the orchestrator but can offload work to local models.
Tools added:
- `ollama_list_models` — lists installed Ollama models
- `ollama_generate` — sends a prompt to a specified model and returns the response
Phase 1: Pre-flight
Check if already applied
Check if `agent/runner/src/ollama-mcp-stdio.ts` exists. If it does, skip to Phase 3 (Configure).
Check prerequisites
Verify Ollama is installed and running on the host:
ollama list
If Ollama is not installed, direct the user to https://ollama.com/download.
If no models are installed, suggest pulling one:
> You need at least one model. I recommend: > > ```bash > ollama pull gemma3:1b # Small, fast (1GB) > ollama pull llama3.2 # Good general purpose (2GB) > ollama pull qwen3-coder:30b # Best for code tasks (18GB) > ```
Phase 2: Apply Code Changes
Ensure upstream remote
git remote -v
If `upstream` is missing, add it:
git remote add upstream https://github.com/sbusso/claudeclaw.git
Merge the skill branch
git fetch upstream skill/ollama-tool
git merge upstream/skill/ollama-tool
This merges in:
- `agent/runner/src/ollama-mcp-stdio.ts` (Ollama MCP server)
- `scripts/ollama-watch.sh` (macOS notification watcher)
- Ollama MCP config in `agent/runner/src/index.ts` (allowedTools + mcpServers)
- `[OLLAMA]` log surfacing in `src/orchestrator/container-runner.ts`
- `OLLAMA_HOST` in `.env.example`
If the merge reports conflicts, resolve them by reading the conflicted files and understanding the intent of both sides.
Copy to per-group agent-runner
Existing groups have a cached copy of the agent-runner source. Copy the new files:
for dir in data/sessions/*/agent-runner-src; do
cp agent/runner/src/ollama-mcp-stdio.ts "$dir/"
cp agent/runner/src/index.ts "$dir/"
done
Validate code changes
npm run build
./src/runtimes/docker/build.sh
Build must be clean before proceeding.
Phase 3: Configure
Set Ollama host (optional)
By default, the MCP server connects to `http://host.docker.internal:11434` (Docker Desktop) with a fallback to `localhost`. To use a custom Ollama host, add to `.env`:
OLLAMA_HOST=http://your-ollama-host:11434
> **Service name:** Derived from the directory name: `com.claudeclaw.<dirname>` (macOS) / `claudeclaw-<dirname>` (Linux). For example, if cwd is `my-assistant`, the service is `com.claudeclaw.my-assistant`. Determine the correct service name before running service commands below.
Restart the service
launchctl kickstart -k gui/$(id -u)/com.claudeclaw # macOS
# Linux: systemctl --user restart claudeclaw
Phase 4: Verify
Test via WhatsApp
Tell the user:
> Send a message like: "use ollama to tell me the capital of France" > > The agent should use `ollama_list_models` to find available models, then `ollama_generate` to get a response.
Monitor activity (optional)
Run the watcher script for macOS notifications when Ollama is used:
./scripts/ollama-watch.sh
Check logs if needed
tail -f logs/claudeclaw.log | grep -i ollama
Look for:
- `Agent output: ... Ollama ...` — agent used Ollama successfully
- `[OLLAMA] >>> Generating` — generation started (if log surfacing works)
- `[OLLAMA] <<< Done` — generation completed
Troubleshooting
Agent says "Ollama is not installed"
The agent is trying to run `ollama` CLI inside the container instead of using the MCP tools. This means: 1. The MCP server wasn't registered — check `agent/runner/src/index.ts` has the `ollama` entry in `mcpServers` 2. The per-group source wasn't updated — re-copy files (see Phase 2) 3. The container wasn't rebuilt — run `./src/runtimes/docker/build.sh`
"Failed to connect to Ollama"
1. Verify Ollama is running: `ollama list` 2. Check Docker can reach the host: `docker run --rm curlimages/curl curl -s http://host.docker.internal:11434/api/tags` 3. If using a custom host, check `OLLAMA_HOST` in `.env`
Agent doesn't use Ollama tools
The agent may not know about the tools. Try being explicit: "use the ollama_generate tool with gemma3:1b to answer: ..."
Read more
name: add-ollama-tool description: Add Ollama MCP server so the container agent can call local models for cheaper/faster tasks like summarization, translation, or general queries.
Add Ollama Integration
This skill adds a stdio-based MCP server that exposes local Ollama models as tools for the container agent. Claude remains the orchestrator but can offload work to local models.
Tools added:
- `ollama_list_models` — lists installed Ollama models
- `ollama_generate` — sends a prompt to a specified model and returns the response
Phase 1: Pre-flight
Check if already applied
Check if `agent/runner/src/ollama-mcp-stdio.ts` exists. If it does, skip to Phase 3 (Configure).
Check prerequisites
Verify Ollama is installed and running on the host:
ollama list
If Ollama is not installed, direct the user to https://ollama.com/download.
If no models are installed, suggest pulling one:
> You need at least one model. I recommend: > > ```bash > ollama pull gemma3:1b # Small, fast (1GB) > ollama pull llama3.2 # Good general purpose (2GB) > ollama pull qwen3-coder:30b # Best for code tasks (18GB) > ```
Phase 2: Apply Code Changes
Ensure upstream remote
git remote -v
If `upstream` is missing, add it:
git remote add upstream https://github.com/sbusso/claudeclaw.git
Merge the skill branch
git fetch upstream skill/ollama-tool git merge upstream/skill/ollama-tool
This merges in:
- `agent/runner/src/ollama-mcp-stdio.ts` (Ollama MCP server)
- `scripts/ollama-watch.sh` (macOS notification watcher)
- Ollama MCP config in `agent/runner/src/index.ts` (allowedTools + mcpServers)
- `[OLLAMA]` log surfacing in `src/orchestrator/container-runner.ts`
- `OLLAMA_HOST` in `.env.example`
If the merge reports conflicts, resolve them by reading the conflicted files and understanding the intent of both sides.
Copy to per-group agent-runner
Existing groups have a cached copy of the agent-runner source. Copy the new files:
for dir in data/sessions/*/agent-runner-src; do cp agent/runner/src/ollama-mcp-stdio.ts "$dir/" cp agent/runner/src/index.ts "$dir/" done
Validate code changes
npm run build ./src/runtimes/docker/build.sh
Build must be clean before proceeding.
Phase 3: Configure
Set Ollama host (optional)
By default, the MCP server connects to `http://host.docker.internal:11434` (Docker Desktop) with a fallback to `localhost`. To use a custom Ollama host, add to `.env`:
OLLAMA_HOST=http://your-ollama-host:11434
> **Service name:** Derived from the directory name: `com.claudeclaw.<dirname>` (macOS) / `claudeclaw-<dirname>` (Linux). For example, if cwd is `my-assistant`, the service is `com.claudeclaw.my-assistant`. Determine the correct service name before running service commands below.
Restart the service
launchctl kickstart -k gui/$(id -u)/com.claudeclaw # macOS # Linux: systemctl --user restart claudeclaw
Phase 4: Verify
Test via WhatsApp
Tell the user:
> Send a message like: "use ollama to tell me the capital of France" > > The agent should use `ollama_list_models` to find available models, then `ollama_generate` to get a response.
Monitor activity (optional)
Run the watcher script for macOS notifications when Ollama is used:
./scripts/ollama-watch.sh
Check logs if needed
tail -f logs/claudeclaw.log | grep -i ollama
Look for:
- `Agent output: ... Ollama ...` — agent used Ollama successfully
- `[OLLAMA] >>> Generating` — generation started (if log surfacing works)
- `[OLLAMA] <<< Done` — generation completed
Troubleshooting
Agent says "Ollama is not installed"
The agent is trying to run `ollama` CLI inside the container instead of using the MCP tools. This means: 1. The MCP server wasn't registered — check `agent/runner/src/index.ts` has the `ollama` entry in `mcpServers` 2. The per-group source wasn't updated — re-copy files (see Phase 2) 3. The container wasn't rebuilt — run `./src/runtimes/docker/build.sh`
"Failed to connect to Ollama"
1. Verify Ollama is running: `ollama list` 2. Check Docker can reach the host: `docker run --rm curlimages/curl curl -s http://host.docker.internal:11434/api/tags` 3. If using a custom host, check `OLLAMA_HOST` in `.env`
Agent doesn't use Ollama tools
The agent may not know about the tools. Try being explicit: "use the ollama_generate tool with gemma3:1b to answer: ..."
Repo: sbusso/claudeclaw
Other skills on claudeclaw.
- /agent-browser
Browse the web for any task — research topics, read articles, interact with web apps, fill forms, take screenshots, extract data, and test web pages. Use whenever a browser would be useful, not just when the user explicitly asks.
Open skill - /add-compact
Add /compact command for manual context compaction. Solves context rot in long sessions by forwarding the SDK's built-in /compact slash command. Main-group or trusted sender only.
Open skill - /add-discord
Add Discord bot channel integration to ClaudeClaw.
Open skill - /add-gmail
Add Gmail integration to ClaudeClaw. Can be configured as a tool (agent reads/sends emails when triggered from WhatsApp) or as a full channel (emails can trigger the agent, schedule tasks, and receive replies). Guides through GCP OAuth setup and implements the integration.
Open skill - /add-image-vision
Add image vision to ClaudeClaw agents. Resizes and processes WhatsApp image attachments, then sends them to Claude as multimodal content blocks.
Open skill - /add-parallel
Adds Parallel AI MCP integration to ClaudeClaw for advanced web research capabilities.
Open skill

