ollama implementasi on https://docs.ollama.com/capabilities/web-search with js/ts
  • TypeScript 100%
Find a file
2026-04-19 18:14:34 +07:00
src feat: initial commit - Ollama Web Search MCP Server 2026-04-19 18:14:34 +07:00
.env.example feat: initial commit - Ollama Web Search MCP Server 2026-04-19 18:14:34 +07:00
.gitignore feat: initial commit - Ollama Web Search MCP Server 2026-04-19 18:14:34 +07:00
AGENTS.md feat: initial commit - Ollama Web Search MCP Server 2026-04-19 18:14:34 +07:00
bun.lock feat: initial commit - Ollama Web Search MCP Server 2026-04-19 18:14:34 +07:00
CLAUDE.md feat: initial commit - Ollama Web Search MCP Server 2026-04-19 18:14:34 +07:00
index.ts feat: initial commit - Ollama Web Search MCP Server 2026-04-19 18:14:34 +07:00
package.json feat: initial commit - Ollama Web Search MCP Server 2026-04-19 18:14:34 +07:00
PLAN.md feat: initial commit - Ollama Web Search MCP Server 2026-04-19 18:14:34 +07:00
README.md feat: initial commit - Ollama Web Search MCP Server 2026-04-19 18:14:34 +07:00
tsconfig.json feat: initial commit - Ollama Web Search MCP Server 2026-04-19 18:14:34 +07:00

Ollama Web Search MCP Server

MCP server yang membungkus Ollama Web Search API agar bisa digunakan di berbagai MCP client (Claude Desktop, Cline, Cursor, Kilo CLI, dll).


🚀 Features

Tool Deskripsi
web_search Mencari informasi terbaru dari internet berdasarkan query
web_fetch Mengambil konten lengkap dari sebuah URL

📋 Prasyarat

  • Node.js ≥ 18 atau Bun ≥ 1.0
  • Akun Ollama (gratis) → dapatkan API key di ollama.com/settings/keys
  • OLLAMA_API_KEY tersimpan sebagai environment variable

🛠️ Setup

1. Clone & Install

cd ollama-websearch-mcp
bun install

2. Setup Environment

cp .env.example .env

Edit .env dan tambahkan API key:

OLLAMA_API_KEY=your_api_key_here

3. Build

npm run build

🧪 Development

# Jalankan dengan tsx (development)
OLLAMA_API_KEY=your_key npm run dev

# Atau build dulu lalu jalankan
npm run build
npm run start

📁 Project Structure

ollama-websearch-mcp/
├── src/
│   └── index.ts          # MCP server implementation
├── dist/
│   └── index.js          # Compiled JavaScript
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── PLAN.md
└── README.md

🔧 MCP Client Configuration

Claude Desktop

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "ollama-websearch": {
      "command": "node",
      "args": ["/path/to/ollama-websearch-mcp/dist/index.js"],
      "env": {
        "OLLAMA_API_KEY": "{env:OLLAMA_API_KEY}"
      }
    }
  }
}

Cline (VS Code Extension)

Manage MCP ServersConfigure MCP Servers → tambahkan:

{
  "mcpServers": {
    "ollama-websearch": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/ollama-websearch-mcp/dist/index.js"],
      "env": {
        "OLLAMA_API_KEY": "{env:OLLAMA_API_KEY}"
      }
    }
  }
}

Cursor

Cursor SettingsMCP → tambahkan server baru dengan konfigurasi yang sama.

Kilo CLI

Tambahkan ke kilo.json (project-level) atau ~/.config/kilo/kilo.json (global):

{
  "mcp": {
    "ollama-websearch": {
      "type": "local",
      "command": ["node", "/path/to/ollama-websearch-mcp/dist/index.js"],
      "enabled": true,
      "environment": {
        "OLLAMA_API_KEY": "{env:OLLAMA_API_KEY}"
      }
    }
  },
  "toolPermissions": {
    "ollama-websearch_*": "allow"
  }
}

Commands:

kilo mcp list          # Lihat semua MCP server
kilo mcp add           # Tambah server baru
/mcps                  # Toggle server di TUI

💡 Contoh Penggunaan

Setelah MCP terhubung, Anda bisa meminta AI client untuk:

Carikan saya berita terbaru tentang perkembangan AI di Indonesia.
Ambil konten dari halaman https://ollama.com/blog dan ringkas isinya.
Lakukan riset tentang perbandingan model Qwen3 vs Llama4.

⚠️ Error Handling

Error Penyebab Solusi
OLLAMA_API_KEY tidak ditemukan Env var tidak diset Set di .env atau client config
web_search gagal (401) API key salah/expired Buat API key baru di ollama.com
web_search gagal (429) Rate limit tercapai Kurangi max_results atau tambah delay

📝 Tips

  • Context length: Hasil web search bisa menghasilkan ribuan token. Gunakan model dengan context window minimal 32.000 token.
  • max_results: Default 5, maksimal 10. Turunkan ke 3 jika ingin respons lebih cepat.
  • Kombinasi tools: Gunakan web_search untuk menemukan URL relevan, lalu web_fetch untuk membaca konten penuh dari URL tersebut.

🔐 Security Notes

  • ⚠️ JANGAN commit .env - file ini berisi API key
  • Gunakan {env:OLLAMA_API_KEY} di config client untuk membaca dari environment
  • Rotate API key secara berkala

📚 Referensi


License: MIT
Version: 1.0.0