ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

SourceWeave Web Search

โดย MRNAQAรุ่น 0.5.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.MRNAQA/sourceweave-web-search

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Fully local MCP server and CLI for web research

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: ค้นข้อมูลและความจำของ AI

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL, SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URL, SOURCEWEAVE_SEARCH_CACHE_REDIS_URL

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "sourceweave-web-search": {
      "command": "uvx",
      "args": [
        "sourceweave-web-search"
      ],
      "env": {
        "SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL": "ใส่ค่าของคุณ",
        "SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URL": "ใส่ค่าของคุณ",
        "SOURCEWEAVE_SEARCH_CACHE_REDIS_URL": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add sourceweave-web-search --env SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL='ใส่ค่าของคุณ' --env SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URL='ใส่ค่าของคุณ' --env SOURCEWEAVE_SEARCH_CACHE_REDIS_URL='ใส่ค่าของคุณ' -- uvx sourceweave-web-search

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "sourceweave-web-search": {
      "command": "uvx",
      "args": [
        "sourceweave-web-search"
      ],
      "env": {
        "SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL": "ใส่ค่าของคุณ",
        "SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URL": "ใส่ค่าของคุณ",
        "SOURCEWEAVE_SEARCH_CACHE_REDIS_URL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "sourceweave-web-search": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "sourceweave-web-search"
      ],
      "env": {
        "SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL": "ใส่ค่าของคุณ",
        "SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URL": "ใส่ค่าของคุณ",
        "SOURCEWEAVE_SEARCH_CACHE_REDIS_URL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL env
    SearXNG URL template. Must contain .
  • SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URL env
    Base URL for the Crawl4AI service.
  • SOURCEWEAVE_SEARCH_CACHE_REDIS_URL env
    Redis or Valkey URL used for caching.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub MRNAQA ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด ค้นข้อมูลและความจำของ AIi

  • ดาวมากกว่า 0% ของอีก 7243 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 10% ของอีก 7243 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 7243 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

SourceWeave Web Search ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.5.0) เข้า registry 7 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Context7, Codebase Memory, Exa

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Context7

โดย upstash

ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว

บนเครื่องหรือคลาวด์★ 64,224MITอัปเดต 3 วันที่ผ่านมา
ติดตั้ง

Codebase Memory

โดย DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

รันบนเครื่อง★ 48,148MITอัปเดต 20 วันที่ผ่านมา
ติดตั้ง

Exa

โดย exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

รันบนคลาวด์★ 5,213MITอัปเดต 44 วันที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

SourceWeave Web Search

Search-first MCP server and CLI for web research.

[!NOTE]

sourceweave-search-mcp is the default local entrypoint. When explicit SOURCEWEAVE_SEARCH_* endpoint variables are absent, it discovers or starts the local Docker-backed stack automatically. If you already run the services yourself, set explicit endpoints and it will use them instead.

Overview • Getting started • Managed local runtime • MCP client setup • CLI • Container deployments • OpenWebUI • Runtime configuration • Development

Overview

SourceWeave Web Search gives MCP clients a compact three-tool contract for web research:

  • search_web(query, domains?, urls?, effort?) discovers sources and returns compact results with stable page_id handles.
  • read_pages(page_ids, focus?) reads stored pages by page_id.
  • read_urls(urls, focus?) reads direct URLs without searching first.

It combines:

ComponentRole
SearXNGSearch discovery
Crawl4AIClean HTML extraction
Redis or ValkeyPersisted page cache and page_id store
MarkItDownDocument conversion for PDFs and other supported files

Getting started

Requirements
  • Python 3.12+
  • Docker with Compose support for the default managed local runtime
  • Explicit SOURCEWEAVE_SEARCH_* endpoints only if you want hosted or self-managed services
Managed local runtime

Run the server from the published package:

uvx --from sourceweave-web-search sourceweave-search-mcp

Or start the MCP server over HTTP:

uvx --from sourceweave-web-search sourceweave-search-mcp \

--transport streamable-http \ --host 127.0.0.1 \ --port 8000

When no endpoint env vars are set, sourceweave-search-mcp:

ModeWhat happens
Managed stack foundJoin the existing SourceWeave-managed stack for the current runtime state directory
Healthy external stack foundReuse the canonical local ports 19080, 19235, and 16379 without ownership
No reusable stackStart and supervise a Docker-backed stack on canonical or free local ports

Managed state lives under ~/.sourceweave-local/managed-runtime. Multiple MCP processes on the same machine share one managed stack per state directory.

[!IMPORTANT]

Managed runtime removes containers only when the last active SourceWeave-managed process exits. Named volumes are preserved, so cache data survives restarts. If the original owning process dies, a later process can recover the same stack from Docker project identity and persisted runtime state.

Explicit endpoint mode

If you already run SearXNG, Crawl4AI, and Redis or Valkey yourself, or want to point at hosted services, set explicit endpoints and the MCP entrypoint will bypass managed Docker startup:

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

Direct CLI

sourceweave-search runs the tool directly. Use it when the supporting services are already available or when you provide explicit endpoints. It does not start Docker.

sourceweave-search --query "python programming" --read-first-pages 2

sourceweave-search --read-url "https://packaging.python.org/en/latest/"

[!TIP]

The direct CLI also accepts --searxng-base-url, --crawl4ai-base-url, and --cache-redis-url overrides.

MCP client setup

OpenCode

Example 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 } } }

For a shared HTTP endpoint instead:

{

"$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

Example .vscode/mcp.json:

{

"servers": { "sourceweave": { "type": "stdio", "command": "uvx", "args": [ "--from", "sourceweave-web-search", "sourceweave-search-mcp" ] } } }

For a shared HTTP endpoint instead:

{

"servers": { "sourceweave": { "type": "http", "url": "http://127.0.0.1:18000/mcp" } } }

Claude Code

Example .mcp.json:

{

"mcpServers": { "sourceweave": { "type": "stdio", "command": "uvx", "args": [ "--from", "sourceweave-web-search", "sourceweave-search-mcp" ] } } }

For a project-scoped shared config, place the same block in .mcp.json at the repo root.

CLI

The direct CLI is useful once the supporting services are already reachable. It gives you the same search-first workflow without the MCP wrapper.

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/"

Container deployments

The managed local runtime is for host-side uvx or uv run launches. Containerized deployments still use explicit endpoint wiring.

  • Image: ghcr.io/mrnaqa/sourceweave-web-search-mcp
  • Repo-local compose entrypoint: docker compose up -d --build mcp

Example container run:

docker run --rm -p 8000:8000 \

-e SOURCEWEAVE_SEARCH_SEARXNG_BASE_URL="http://host.docker.internal:19080/search?format=json&q= " \ -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:latest

OpenWebUI

This repo also ships a generated standalone OpenWebUI tool file at artifacts/sourceweave_web_search.py.

From a repo checkout, verify it is in sync with the canonical implementation:

uv run sourceweave-build-openwebui --check

Paste that artifact into OpenWebUI when you want the standalone tool-file deployment path. The generated file rewrites the default endpoints to the repo-local compose service names so it matches the container deployment path out of the box.

Runtime configuration

Optional environment variables:

VariablePurpose
SOURCEWEAVE_SEARCH_SEARXNG_BASE_URLSearXNG URL template. Must contain .
SOURCEWEAVE_SEARCH_CRAWL4AI_BASE_URLCrawl4AI base URL.
SOURCEWEAVE_SEARCH_CACHE_REDIS_URLRedis or Valkey URL used for caching.
FASTMCP_HOSTHost for sse or streamable-http transport.
FASTMCP_PORTPort for sse or streamable-http transport.

If the endpoint variables are unset, sourceweave-search-mcp defaults to managed local runtime.

  • Canonical host endpoints remain the preferred defaults and the external-reuse probe targets.
  • A SourceWeave-managed stack may use different free host ports when the canonical defaults are already occupied.
  • Multiple MCP processes on the same machine share one managed stack per local runtime state directory.

Default endpoint values:

  • SearXNG: http://127.0.0.1:19080/search?format=json&q=
  • Crawl4AI: http://127.0.0.1:19235
  • Redis: redis://127.0.0.1:16379/2

Default preferred host ports for managed startup:

  • SearXNG: 19080
  • Crawl4AI: 19235
  • Redis: 16379
  • MCP: 8000 when run directly with uvx; 18000 at /mcp when using the repo's mcp compose service

Development

git clone https://github.com/MRNAQA/sourceweave-web-search.git

cd sourceweave-web-search uv sync --locked --group dev uv run sourceweave-search-mcp

Useful checks:

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"

ถาม PopNx