Ollama Cloud Web Search Nodejs

Um servidor MCP Node.js que expõe as APIs de busca web e busca de páginas da Ollama como ferramentas MCP. TypeScript, transporte stdio, publicável via npm.

Documentação

ollama-web-search-mcp (Node.js / TypeScript)

npm version License: MIT

Um servidor MCP (Model Context Protocol) em Node.js / TypeScript que expõe as APIs de busca web e fetch web do Ollama como ferramentas MCP.

Este é o equivalente em JavaScript / Node.js do servidor MCP oficial em Python do Ollama. Embora o Ollama forneça um servidor MCP em Python para busca web, não havia uma versão em Node.js disponível — este projeto preenche essa lacuna. Ele é escrito em TypeScript, roda em Node.js 18+ e é publicado no npm para fácil uso com npx.

Por que Node.js?

O servidor MCP oficial do Ollama para busca web é escrito em Python e requer uv ou um runtime Python. Muitos clientes MCP e frameworks de agentes (Claude Desktop, Cursor, Cline, Codex, etc.) podem iniciar qualquer processo, mas se sua stack já é baseada em Node.js, você provavelmente não quer instalar Python apenas para um servidor MCP. Este pacote roda puramente em Node.js — sem necessidade de Python.

Recursos

  • web_search — Realiza uma busca web via API hospedada do Ollama e retorna resultados (título, URL, trecho de conteúdo)
  • web_fetch — Busca uma única página web por URL e retorna seu título, conteúdo e links
  • Escrito em TypeScript, compilado para JavaScript ESM
  • Transporte Stdio (padrão para servidores MCP)
  • Zero dependências de runtime além do SDK MCP
  • Publicado no npm como @mrfl/ollama-web-search-mcp com um binário CLI
  • Utilizável como biblioteca — importe webSearch() e webFetch() diretamente no seu código Node.js

Pré-requisitos

Instalação

Via npm

npm install -g @mrfl/ollama-web-search-mcp

Ou use diretamente com npx (sem instalação):

npx @mrfl/ollama-web-search-mcp

A partir do código-fonte

git clone https://github.com/MRFL-Orchestra/ollama-web-search-mcp.git
cd ollama-web-search-mcp
npm install
npm run build

Configuração

Defina sua chave de API do Ollama como uma variável de ambiente:

export OLLAMA_API_KEY="your_api_key_here"

Configuração do Cliente MCP

Adicione o servidor à configuração do seu cliente MCP:

Claude Desktop / Cursor / VS Code

{
  "mcpServers": {
    "ollama-web-search": {
      "command": "npx",
      "args": ["@mrfl/ollama-web-search-mcp"],
      "env": {
        "OLLAMA_API_KEY": "your_api_key_here"
      }
    }
  }
}

Cline

{
  "mcpServers": {
    "ollama-web-search": {
      "type": "stdio",
      "command": "npx",
      "args": ["@mrfl/ollama-web-search-mcp"],
      "env": {
        "OLLAMA_API_KEY": "your_api_key_here"
      }
    }
  }
}

Codex

[mcp_servers.ollama-web-search]
command = "npx"
args = ["@mrfl/ollama-web-search-mcp"]
env = { "OLLAMA_API_KEY" = "your_api_key_here" }

Clone local (sem npm)

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

Ferramentas

web_search

Realiza uma busca web usando a API de busca hospedada do Ollama.

Parâmetros:

  • query (string, obrigatório) — A string da consulta de busca
  • max_results (inteiro, opcional, padrão 5, máximo 10) — Número máximo de resultados a retornar

Retorna: Array de resultados de busca, cada um contendo:

  • title — Título da página web
  • url — URL da página web
  • content — Trecho de conteúdo relevante

web_fetch

Busca o conteúdo de uma única página web por URL.

Parâmetros:

  • url (string, obrigatório) — A URL absoluta a ser buscada

Retorna:

  • title — Título da página web
  • content — Conteúdo principal da página web
  • links — Array de links encontrados na página

Referência da API

Você também pode usar as funções de cliente diretamente no seu próprio código Node.js / TypeScript:

import { webSearch, webFetch } from "@mrfl/ollama-web-search-mcp";

// Web search
const results = await webSearch("what is ollama?", 5);
console.log(results.results[0].title);

// Web fetch
const page = await webFetch("https://ollama.com");
console.log(page.title);
console.log(page.links);

Ambas as funções aceitam um parâmetro opcional apiKey (padrão: variável de ambiente OLLAMA_API_KEY).

Desenvolvimento

npm install          # Install dependencies
npm run build        # Compile TypeScript
npm run dev          # Watch mode
npm run typecheck    # Type-check without emitting

Licença

MIT