ollama-mcp
by shenmali
README.md
# ollama-mcp
MCP server for delegating coding tasks to local Ollama models.
## Setup
```bash
cd ollama-mcp
npm install
npm run build
```
## Tools
### ollama_list_models
List available Ollama models.
### ollama_execute_task
Delegate a coding task to an Ollama model. Returns output with change preview.
- If changes are detected, `requires_approval: true` is returned
- Review changes, then use `ollama_write_files` to apply
### ollama_write_files
Write files from Ollama output. Use after reviewing changes.
### ollama_preview_changes
Analyze text for file write markers and show change preview.
## Tool Calling
Models that support tool calling (e.g., qwen3-coder-next, deepseek-r1:8b) use structured JSON tool calls for file writes. This is more reliable than text markers.
The `write_file` tool is automatically provided to the model:
```json
{
"type": "function",
"function": {
"name": "write_file",
"description": "Write content to a file at the given path",
"parameters": {
"type": "object",
"properties": {
"path": { "type": "string" },
"content": { "type": "string" }
},
"required": ["path", "content"]
}
}
}
```
If the model doesn't support tool calling, the server falls back to `{file_write}` text markers automatically.
## Usage
### OpenCode
Add to `opencode.json`:
```json
{
"mcp": {
"ollama": {
"type": "stdio",
"command": "node",
"args": ["./dist/index.js"]
}
}
}
```
### Claude Desktop
Add to `claude_desktop_config.json`:
```json
{
"mcpServers": {
"ollama": {
"command": "node",
"args": ["/absolute/path/to/ollama-mcp/dist/index.js"]
}
}
}
```
## Workflow
```
1. ollama_execute_task(task, model) → output + changes[]
- Tool calling models: structured tool_calls
- Non-tool models: text markers (fallback)
2. Review changes
3. ollama_write_files(output or tool_calls) → files written
```
## Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
| OLLAMA_HOST | http://localhost:11434 | Ollama server address |
| OLLAMA_TIMEOUT_MS | 120000 | Request timeout in ms |
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues