MyWebSearch MCP
WebSearch Forge MCP
Ein leichtgewichtiger, einheitlicher WebSearch-MCP für KI-Agenten.
Durchsuchen, lesen, crawlen, parsen und recherchieren Sie das öffentliche Web über einen einzigen MCP-Server.
Quick Start · Tools · Architektur · Suchmaschinen konfigurieren · 中文文档
Was es ist
WebSearch Forge MCP ist ein eigenständiger MCP-Dienst für agentengesteuerte Web-Recherche:
Question → search sources → fetch pages → extract content → crawl related pages → compile evidenceEr ist in klare Schichten unterteilt:
transportsstellt MCP stdio und den optionalen FastAPI-Adapter bereit.coreübernimmt Konfiguration, Caching, Sicherheitsprüfungen, Orchestrierung und Recherche-Workflows.providersimplementiert Such-, Abruf-, Extraktions-, Crawl- und Medienfunktionen.SearXNG ist das einzige Such-Gateway für Bing, Baidu, Brave, DuckDuckGo und andere konfigurierte Suchmaschinen.
Related MCP server: hidrix-tools
Highlights
Ein MCP-Server, sechs Fähigkeiten
Einmal mit transports/mcp_stdio.py verbinden:
Tool | Zweck |
| Kandidatenquellen über SearXNG finden |
| Eine öffentliche URL abrufen und extrahieren |
| Suchen und dann die Top-Ergebnisse lesen |
| Mehrere Suchen ausführen und einen Bericht erstellen |
| Eine begrenzte, gleichnamige Website rekursiv crawlen |
| YouTube-Untertitel abrufen |
Einheitliches Such-Gateway
Das Argument engines wird als Filter an SearXNG übergeben. WebSearch Forge verteilt nicht unabhängig auf Suchwebsites:
WebSearch Forge MCP → SearXNG → Bing / Baidu / Brave / DuckDuckGoStandardmäßig leichtgewichtig
MCP stdio benötigt keinen offenen Anwendungsport oder Datenbankserver. Der Cache ist SQLite. Optionale Pakete fügen Trafilatura, Readability, Stealth-Requests, Playwright, Office/PDF-Parsing, Scrapy, YouTube-Untertitel und FastAPI hinzu, ohne den MCP-Vertrag zu ändern.
Begrenztes Crawling
crawl_site unterstützt ein natives Backend ohne Abhängigkeiten und ein optionales Scrapy-Backend. Es erzwingt Seiten- und Tiefenlimits, bleibt auf dem Start-Host, löst relative Links auf und isoliert Seitenfehler.
Quick Start
Die folgenden Befehle sind für Windows PowerShell.
Installieren
cd D:\my-websearch\my_websearch
py -3.12 -m pip install -r requirements.txtSearXNG starten
docker version
cd D:\my-websearch\my_websearch
docker compose up -d searxng
docker compose psDas Standard-Gateway ist http://127.0.0.1:8080. Die Konfiguration befindet sich in config/searxng/settings.yml.
MCP-Client konfigurieren
Verwenden Sie mcp_config.example.json und behalten Sie einen absoluten Pfad bei:
{
"mcpServers": {
"websearch-forge": {
"command": "py",
"args": [
"-3.12",
"D:\\my-websearch\\my_websearch\\transports\\mcp_stdio.py"
],
"env": {
"SEARXNG_URL": "http://127.0.0.1:8080",
"CACHE_TTL": "300"
}
}
}
}Der stdio-Adapter erzwingt UTF-8 unter Windows. Loopback-Verkehr umgeht standardmäßig maschinenweite Proxy-Variablen; setzen Sie PROXY_URL bei Bedarf explizit.
Tools
search_web
Suchen Sie über SearXNG, ohne Seiteninhalte herunterzuladen.
{
"name": "search_web",
"arguments": {
"query": "Python 3.14 new features",
"engines": ["bing", "baidu", "brave"],
"limit": 5,
"time_range": "month"
}
}fetch_web_content
Rufen Sie eine öffentliche URL ab und extrahieren Sie sie. HTML, PDF, DOCX, XLSX, PPTX, CSV, Markdown und Klartext werden unterstützt.
{
"name": "fetch_web_content",
"arguments": {
"url": "https://www.python.org",
"max_chars": 10000,
"stealth_mode": "off",
"render_mode": "auto",
"extraction_mode": "auto"
}
}Die Antwort enthält die endgültige URL, den HTTP-Status, den Titel, die Extraktionsmethode, die Wortanzahl, den Inhalt und entdeckte Links.
search_and_fetch
Zuerst suchen, dann die Top-Ergebnisse unabhängig abrufen. Eine fehlgeschlagene Seite wird auf diesem Element vermerkt und bricht den Batch nicht ab.
{
"name": "search_and_fetch",
"arguments": {
"query": "FastAPI MCP server",
"limit": 3,
"max_chars": 12000
}
}deep_research
Führen Sie verwandte Abfragen gleichzeitig aus, rufen Sie die stärksten Ergebnisse ab und geben Sie einen Markdown-Bericht mit Fehlern auf Quellenebene zurück.
{
"name": "deep_research",
"arguments": {
"queries": ["SearXNG engine configuration", "MCP stdio deployment"],
"breadth": 3,
"max_chars": 12000
}
}crawl_site
Crawlen Sie eine gleichnamige Website mit harten Seiten- und Tiefenlimits.
{
"name": "crawl_site",
"arguments": {
"url": "https://www.python.org",
"max_pages": 10,
"max_depth": 2,
"backend": "native",
"stealth_mode": "off"
}
}native ist die Standardeinstellung. Installieren Sie Scrapy und setzen Sie backend auf scrapy, um das optionale Backend zu verwenden. Jede Seite meldet URL, Tiefe, Status, Abrufmethode, Titel, Inhalt und Wortanzahl.
youtube_transcript
Rufen Sie YouTube-Untertitel mit optionalen Quell- und Übersetzungssprachen ab.
Antwortformat
{
"query": "OpenAI",
"provider": "searxng",
"engines": ["bing", "baidu", "brave"],
"total_results": 3,
"results": [
{
"title": "OpenAI | Research & Deployment",
"url": "https://openai.com/",
"description": "...",
"source": "openai.com",
"engine": "bing",
"score": 1.0
}
],
"partial_failures": []
}Erfolgreiche Teilergebnisse werden beibehalten. Suchmaschinen-, Seiten- und Dokumentfehler werden als strukturierte Fehlereinträge zurückgegeben.
Architektur
flowchart LR
A[Agent / MCP Client] -->|stdio JSON-RPC| B[transports/mcp_stdio.py]
B --> C[core/service.py]
C --> D[providers/search]
D --> E[SearXNG]
E --> F[Bing / Baidu / Brave / DDG]
C --> G[providers/content]
G --> H[HTTP / stealth / Playwright]
C --> I[providers/crawl]
C --> J[providers/media]
C --> K[(SQLite TTL cache)]transportspasst Protokolle an; MCP und FastAPI teilen sich denselben Dienst.corebesitzt Orchestrierung, Cache-Richtlinie, Konfiguration und URL-Sicherheit.providers/searchkommuniziert mit SearXNG und validiert Suchmaschinennamen.providers/contentbehandelt HTTP, Stealth-Transport, Rendering und Extraktion.providers/crawlenthält native und Scrapy-Crawl-Backends.providers/mediaenthält den YouTube-Transkript-Provider.
Suchmaschinen konfigurieren
Die projekt eigene SearXNG-Quelle ist:
config/searxng/settings.ymlZwei Einstellungen entscheiden, ob eine Suchmaschine aufgerufen werden kann:
settings.ymlaktiviert die Suchmaschine innerhalb von SearXNG.providers/search/registry.pylistet den akzeptierten Namen inSUPPORTED_ENGINESauf.
Nach Änderungen neu starten:
cd D:\my-websearch\my_websearch
docker compose up -d --force-recreate searxngWenn SearXNG die Suchmaschine noch nicht bereitstellt, implementieren Sie zuerst diese SearXNG-Suchmaschine.
Sicherheit und Zuverlässigkeit
Nur HTTP- und HTTPS-URLs werden akzeptiert.
Localhost-, Loopback-, private IPv4-, Link-Local- und private IPv6-Ziele werden abgelehnt.
Weiterleitungsziele werden erneut validiert.
Such- und Abrufvorgänge verwenden einen SQLite-TTL-Cache, standardmäßig 300 Sekunden.
Teilfehler verwerfen keine erfolgreichen Arbeiten.
stdout ist für MCP JSON-RPC reserviert.
Optionale Fähigkeiten
Fähigkeit | Aktivierung |
Trafilatura / Readability | Installieren Sie |
Stealth-Requests | Installieren Sie |
JavaScript-Rendering | Installieren Sie Playwright und verwenden Sie |
PDF / DOCX / XLSX / PPTX | Installieren Sie passende Dokumentpakete |
Scrapy-Crawling | Installieren Sie Scrapy und verwenden Sie |
FastAPI-HTTP-Dienst | Führen Sie |
YouTube-Untertitel | Installieren Sie |
Projektstruktur
my_websearch/
├── assets/ # Project logo
├── config/searxng/ # SearXNG settings.yml
├── core/ # Config, cache, security, orchestration
├── providers/
│ ├── search/ # SearXNG gateway and engine allow-list
│ ├── content/ # Requests, rendering, extraction
│ ├── crawl/ # Native and Scrapy backends
│ └── media/ # YouTube transcript provider
├── transports/ # MCP stdio and FastAPI adapters
├── tests/ # Dependency-free self-checks
├── docker-compose.yml # Local SearXNG gateway
├── mcp_config.example.json # MCP client template
├── requirements.txt # Dependency entry point
├── README.md # English documentation
└── README.zh-CN.md # 中文文档Entwicklungstest
cd D:\my-websearch
py -3.12 -m my_websearch.tests.test_serverErwartete Ausgabe:
my_websearch self-check: okOptionaler FastAPI-Dienst:
cd D:\my-websearch\my_websearch
py -3.12 -m transports.apiÖffnen Sie dann http://127.0.0.1:8787/docs.
Lizenz
Es ist noch keine Lizenz festgelegt. Fügen Sie vor der öffentlichen Verteilung eine LICENSE-Datei auf Root-Ebene hinzu.
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
- 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.
- AlicenseNot gradedqualityFmaintenanceMCP tool server that gives any AI agent the ability to search, scrape, and analyze content across the internet.43MIT
- AlicenseAqualityBmaintenanceEnables AI agents to perform multi-engine web search, fetch web pages, and extract clean Markdown content via MCP, with no API keys required.35MIT
- AlicenseNot gradedqualityAmaintenanceA self-contained web-research MCP server that lets local LLM agents search, fetch, and synthesize web content using tools like web_search, web_fetch, and web_research.MIT
Related MCP Connectors
Web research for agents: quality-scored Google search, webpage extraction, and deep research.
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
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/iuiu-py/websearch-forge-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server