io.github.MRNAQA/sourceweave-web-search
SourceWeave Web Search
ウェブリサーチのための検索ファーストMCPサーバーおよびCLI。
[!NOTE]
sourceweave-search-mcpはデフォルトのローカルエントリポイントです。明示的なSOURCEWEAVE_SEARCH_*エンドポイント変数がない場合、ローカルのDockerバックのスタックを自動的に検出または起動します。サービスを自分で実行している場合は、明示的なエンドポイントを設定すると、代わりにそれらを使用します。
概要 • はじめに • 管理されたローカルランタイム • MCPクライアント設定 • CLI • コンテナデプロイ • OpenWebUI • ランタイム設定 • 開発
概要
SourceWeave Web Searchは、MCPクライアントにウェブリサーチのためのコンパクトな3ツール契約を提供します:
search_web(query, domains?, urls?, effort?)はソースを発見し、安定したpage_idハンドルを持つコンパクトな結果を返します。read_pages(page_ids, focus?)はpage_idで保存されたページを読み取ります。read_urls(urls, focus?)は検索せずに直接URLを読み取ります。
以下を組み合わせます:
コンポーネント | 役割 |
SearXNG | 検索ディスカバリ |
Crawl4AI | クリーンなHTML抽出 |
Redis or Valkey | 永続化されたページキャッシュと |
MarkItDown | PDFやその他のサポート対象ファイルのドキュメント変換 |
Related MCP server: Deep Search MCP Server
はじめに
要件
Python
3.12+デフォルトの管理されたローカルランタイムのためのComposeサポート付きDocker
ホスト型または自己管理型サービスを希望する場合のみ、明示的な
SOURCEWEAVE_SEARCH_*エンドポイント
管理されたローカルランタイム
公開パッケージからサーバーを実行します:
uvx --from sourceweave-web-search sourceweave-search-mcpまたはHTTPでMCPサーバーを起動します:
uvx --from sourceweave-web-search sourceweave-search-mcp \
--transport streamable-http \
--host 127.0.0.1 \
--port 8000エンドポイント環境変数が設定されていない場合、sourceweave-search-mcpは:
モード | 動作 |
管理されたスタックが見つかった | 現在のランタイム状態ディレクトリの既存のSourceWeave管理スタックに参加する |
正常な外部スタックが見つかった | 所有権なしで標準のローカルポート |
再利用可能なスタックがない | 標準または空きローカルポートでDockerバックのスタックを起動して監視する |
管理された状態は~/.sourceweave-local/managed-runtimeの下にあります。同じマシン上の複数のMCPプロセスは、状態ディレクトリごとに1つの管理されたスタックを共有します。
[!IMPORTANT] 管理されたランタイムは、最後のアクティブなSourceWeave管理プロセスが終了したときにのみコンテナを削除します。名前付きボリュームは保持されるため、キャッシュデータは再起動後も存続します。元の所有プロセスが終了した場合、後続のプロセスがDockerプロジェクトIDと永続化されたランタイム状態から同じスタックを復元できます。
明示的エンドポイントモード
SearXNG、Crawl4AI、RedisまたはValkeyを自分で実行している場合、またはホスト型サービスを指したい場合は、明示的なエンドポイントを設定すると、MCPエントリポイントは管理されたDocker起動をバイパスします:
SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL="http://127.0.0.1:19080/search?format=json&q=<query>" \
SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URL="http://127.0.0.1:19235" \
SOURCEWEAVE_SEARCH_CACHE_REDIS_URL="redis://127.0.0.1:16379/2" \
uvx --from sourceweave-web-search sourceweave-search-mcp直接CLI
sourceweave-searchはツールを直接実行します。サポートサービスがすでに利用可能な場合、または明示的なエンドポイントを提供する場合に使用します。Dockerは起動しません。
sourceweave-search --query "python programming" --read-first-pages 2
sourceweave-search --read-url "https://packaging.python.org/en/latest/"[!TIP] 直接CLIは
--searxng-base-url、--crawl4ai-base-url、--cache-redis-urlのオーバーライドも受け付けます。
MCPクライアント設定
OpenCode
例:opencode.json / opencode.jsonc / ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sourceweave": {
"type": "local",
"command": [
"uvx",
"--from",
"sourceweave-web-search",
"sourceweave-search-mcp"
],
"enabled": true,
"timeout": 300000
}
}
}代わりに共有HTTPエンドポイントを使用する場合:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sourceweave": {
"type": "remote",
"url": "http://127.0.0.1:18000/mcp",
"enabled": true,
"timeout": 300000
}
}
}VS Code Copilot
例:.vscode/mcp.json:
{
"servers": {
"sourceweave": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"sourceweave-web-search",
"sourceweave-search-mcp"
]
}
}
}代わりに共有HTTPエンドポイントを使用する場合:
{
"servers": {
"sourceweave": {
"type": "http",
"url": "http://127.0.0.1:18000/mcp"
}
}
}Claude Code
例:.mcp.json:
{
"mcpServers": {
"sourceweave": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"sourceweave-web-search",
"sourceweave-search-mcp"
]
}
}
}プロジェクトスコープの共有設定の場合は、同じブロックをリポジトリルートの.mcp.jsonに配置します。
CLI
直接CLIは、サポートサービスがすでに到達可能な場合に便利です。MCPラッパーなしで同じ検索ファーストのワークフローを提供します。
sourceweave-search --query "react useEffect cleanup example" --read-first-page
sourceweave-search --query "HTTP overview" --domain developer.mozilla.org --read-first-page
sourceweave-search --read-url "https://packaging.python.org/en/latest/"コンテナデプロイ
管理されたローカルランタイムは、ホスト側のuvxまたはuv run起動用です。コンテナ化されたデプロイでは、依然として明示的なエンドポイント配線を使用します。
イメージ:
ghcr.io/mrnaqa/sourceweave-web-search-mcpリポジトリローカルのcomposeエントリポイント:
docker compose up -d --build mcp
コンテナ実行の例:
docker run --rm -p 8000:8000 \
-e SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL="http://host.docker.internal:19080/search?format=json&q=<query>" \
-e SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URL="http://host.docker.internal:19235" \
-e SOURCEWEAVE_SEARCH_CACHE_REDIS_URL="redis://host.docker.internal:16379/2" \
ghcr.io/mrnaqa/sourceweave-web-search-mcp:latestOpenWebUI
このリポジトリには、artifacts/sourceweave_web_search.pyに生成されたスタンドアロンのOpenWebUIツールファイルも同梱されています。
リポジトリのチェックアウトから、それが正規の実装と同期していることを確認します:
uv run sourceweave-build-openwebui --checkスタンドアロンのツールファイルデプロイパスが必要な場合は、そのアーティファクトをOpenWebUIに貼り付けます。生成されたファイルは、デフォルトのエンドポイントをリポジトリローカルのcomposeサービス名に書き換えるため、そのままコンテナデプロイパスに一致します。
ランタイム設定
オプションの環境変数:
変数 | 目的 |
| SearXNG URLテンプレート。 |
| Crawl4AIのベースURL。 |
| キャッシュに使用されるRedisまたはValkeyのURL。 |
|
|
|
|
エンドポイント変数が設定されていない場合、sourceweave-search-mcpは管理されたローカルランタイムをデフォルトとします。
標準のホストエンドポイントは、推奨されるデフォルトおよび外部再利用プローブのターゲットのままです。
SourceWeave管理スタックは、標準のデフォルトがすでに占有されている場合、異なる空きホストポートを使用する場合があります。
同じマシン上の複数のMCPプロセスは、ローカルランタイム状態ディレクトリごとに1つの管理されたスタックを共有します。
デフォルトのエンドポイント値:
SearXNG:
http://127.0.0.1:19080/search?format=json&q=<query>Crawl4AI:
http://127.0.0.1:19235Redis:
redis://127.0.0.1:16379/2
管理された起動のためのデフォルトの推奨ホストポート:
SearXNG:
19080Crawl4AI:
19235Redis:
16379MCP:
uvxで直接実行する場合は8000、リポジトリのmcpcomposeサービスを使用する場合は/mcpで18000
開発
git clone https://github.com/MRNAQA/sourceweave-web-search.git
cd sourceweave-web-search
uv sync --locked --group dev
uv run sourceweave-search-mcp便利なチェック:
uv run sourceweave-build-openwebui --check
uv run sourceweave-search-mcp --help
uv run pytest tests/test_config.py tests/test_packaging.py tests/test_tool.py tests/test_managed_runtime.py -m "not integration"This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables web search and site-specific search capabilities through the Deepsearch model. Provides unified access to broad web retrieval and targeted site search functionality within the MCP ecosystem.2115Apache 2.0
- FlicenseNot gradedqualityDmaintenanceProvides comprehensive search capabilities including web search, content extraction, news search, academic search, and AI-powered multi-source research. Enables natural language access to web content and research through a production-ready MCP server.
- AlicenseBqualityNot gradedmaintenanceProvides advanced Google Custom Search functionality, web content extraction, and specialized research tools such as search analytics, multi-site search, and fact checking. Works as an MCP server compatible with any MCP client.10MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to perform web searches and fetch web pages over HTTP, using Exa and Parallel AI as search providers without requiring API keys.MIT
Related MCP Connectors
Stealth web browser for agents: search, fetch, click and type through persistent sessions over MCP.
Agentic search over your Dewey document collections from any MCP-compatible client.
Access Kernel's cloud-based browsers and app actions via MCP (remote HTTP + OAuth).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MRNAQA/sourceweave-web-search'
If you have feedback or need assistance with the MCP directory API, please join our Discord server