ollama implementasi on https://docs.ollama.com/capabilities/web-search with js/ts
- TypeScript 100%
| src | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| bun.lock | ||
| CLAUDE.md | ||
| index.ts | ||
| package.json | ||
| PLAN.md | ||
| README.md | ||
| tsconfig.json | ||
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_KEYtersimpan 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 Servers → Configure 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 Settings → MCP → 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_searchuntuk menemukan URL relevan, laluweb_fetchuntuk 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