Search Online
БесплатноНе проверенExposes a standardized web search tool via Brave Search for MCP clients like Codex, Claude, and Cursor, returning stable JSON.
Описание
Exposes a standardized web search tool via Brave Search for MCP clients like Codex, Claude, and Cursor, returning stable JSON.
README
[!NOTE] Vibe-coded with Codex. Use it at your own risk.
Search Online MCP Server
An MCP (Model Context Protocol) server that exposes a standardized web search tool for agents and clients like OpenAI Codex, Claude, and Cursor. It uses Brave Search under the hood and returns stable, agent‑friendly JSON.
Features
- One tool:
search_online(engine: Brave; verticals: web/news/images/videos) - Stable output shape via
structuredContentand a concisetextsummary - Fallback chain for robustness:
- Fish function
search_online(if available) uvx brave-search-python-client(httpx/psutil)- Direct Brave HTTP API (X-Subscription-Token)
- Fish function
- No stdout leakage: safe JSON‑RPC framing (all debug goes to logs)
Install
cd ~/Projects/mcp
git clone <repo> search-online-mcp
cd search-online-mcp
npm install
Configure Codex
~/.codex/config.toml:
[mcp_servers.searchonline]
command = "node"
args = ["/Users/YOU/Projects/mcp/search-online-mcp/index.mjs"]
env = {
BRAVE_SEARCH_PYTHON_CLIENT_API_KEY = "YOUR_BRAVE_KEY",
# skip fish/jq, go straight to uvx for stability
SEARCH_ONLINE_FORCE_UVX = "1",
}
startup_timeout_ms = 20_000
tool_timeout_sec = 60
Restart Codex. Verify:
codex mcp list
codex mcp get searchonline --json
Optional: install the Fish function directly
If you use fish shell, you can install the search_online function for your own terminal use. It’s the same logic the MCP server’s “fast path” expects.
Dependencies: fish 3+, uvx (from astral-sh/uv), jq, glow (optional), and a Brave API key.
Install:
mkdir -p ~/.config/fish/functions
cp contrib/fish/search_online.fish ~/.config/fish/functions/search_online.fish
set -Ux BRAVE_SEARCH_PYTHON_CLIENT_API_KEY "YOUR_BRAVE_KEY"
# Open a new shell or: source ~/.config/fish/functions/search_online.fish
Usage examples:
# JSON (default)
search_online -L 5 "gaston morixe" | jq '.results[:3] | map({title,url})'
# NDJSON streaming
search_online -o ndjson -L 3 "openai codex" | head -n 3
# Plain text (no color)
search_online -o text -n "rust async tutorial"
# Raw engine JSON
search_online -o raw "openai codex" | jq '.web.results[:2] | map({title,url})'
Notes:
- The function prints a standardized JSON object in
-o jsonmode (engine/vertical/query/results…). - Set
SEARCH_ONLINE_ENGINEto override default engine (currently onlybrave). glowis optional;-n/--no-colordisables colorized output.
Tool schema
Input (zod → JSON Schema):
querystring (required) — search queryverticalenum: web|news|images|videos (default web)limitinteger 1..20 (optional)offsetinteger ≥0 (optional)country,lang,market(optional)
Output:
content:[ { type: "text", text: "ok results=N" } ]structuredContent: full JSON with keys:engine,vertical,query,fetched_at,results[](rank, title, url, snippet, site_name, etc.)- on error:
isError: truewith a text explanation
Environment variables
BRAVE_SEARCH_PYTHON_CLIENT_API_KEY— Brave API key (required)SEARCH_ONLINE_FORCE_UVX=1— skip fish; go straight touvxSEARCH_ONLINE_DEBUG_STDERR=1— mirror debug to stderr (Codex logs)
Logs
- MCP server writes to
~/.codex/log/search_online_mcp.log - Codex session logs:
- TUI:
~/.codex/log/codex-tui.log - exec (non-interactive): stderr you redirect (e.g.,
--json >out 2>err)
- TUI:
Tests
Local tests (require Brave key unless you mock):
npm run test:all
What they do:
tests/list_names.mjs: confirms tool names comply with the allowed patterntests/call_basic.mjs: callssearch_online(usesstructuredContent)tests/call_invalid.mjs: confirms missingqueryproduces an MCP error
Troubleshooting
- See
~/.codex/log/search_online_mcp.logfor per-call details (PATH, cmd, uvx/http status). - If you still see “tool call failed” in Codex:
- Kill stale server:
pkill -f "search-online-mcp/index.mjs" - Start a new Codex session (not resume)
- Ensure
SEARCH_ONLINE_FORCE_UVX=1
- Kill stale server:
License
MIT
Установка Search Online
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/gastonmorixe/search-online-mcpFAQ
Search Online MCP бесплатный?
Да, Search Online MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Search Online?
Нет, Search Online работает без API-ключей и переменных окружения.
Search Online — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Search Online в Claude Desktop, Claude Code или Cursor?
Открой Search Online на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Search Online with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
