MyWebSearch MCP
WebSearch MCP 포지
AI 에이전트를 위한 가볍고 통합된 WebSearch MCP.
하나의 MCP 서버로 공개 웹을 검색하고, 읽고, 크롤링하고, 파싱하고, 리서치하세요.
빠른 시작 · 도구 · 아키텍처 · 엔진 구성 · 中文文档
개요
WebSearch Forge MCP는 에이전트 기반 웹 리서치를 위한 독립형 MCP 서비스입니다:
Question → search sources → fetch pages → extract content → crawl related pages → compile evidence다음과 같은 명확한 계층으로 구성됩니다:
transports는 MCP stdio와 선택적 FastAPI 어댑터를 제공합니다.core는 구성, 캐싱, 보안 검사, 오케스트레이션 및 리서치 워크플로를 담당합니다.providers는 검색, 가져오기, 추출, 크롤링 및 미디어 기능을 구현합니다.SearXNG는 Bing, Baidu, Brave, DuckDuckGo 및 기타 구성된 엔진을 위한 단일 검색 게이트웨이입니다.
Related MCP server: hidrix-tools
주요 기능
하나의 MCP 서버, 여섯 가지 기능
transports/mcp_stdio.py에 한 번만 연결하세요:
도구 | 용도 |
| SearXNG를 통해 후보 소스 찾기 |
| 공개 URL 하나를 가져와 추출 |
| 검색 후 상위 결과 읽기 |
| 여러 검색을 실행하고 보고서 작성 |
| 동일 도메인 사이트를 제한적으로 재귀 크롤링 |
| YouTube 자막 가져오기 |
통합 검색 게이트웨이
engines 인수는 필터로 SearXNG에 전달됩니다. WebSearch Forge는 검색 웹사이트에 독립적으로 팬아웃하지 않습니다:
WebSearch Forge MCP → SearXNG → Bing / Baidu / Brave / DuckDuckGo기본적으로 가벼움
MCP stdio는 노출된 애플리케이션 포트나 데이터베이스 서버가 필요 없습니다. 캐시는 SQLite입니다. 선택적 패키지는 MCP 계약을 변경하지 않고 Trafilatura, Readability, 스텔스 요청, Playwright, Office/PDF 파싱, Scrapy, YouTube 자막 및 FastAPI를 추가합니다.
제한된 크롤링
crawl_site는 의존성이 없는 네이티브 백엔드와 선택적 Scrapy 백엔드를 지원합니다. 페이지 및 깊이 제한을 적용하고, 시작 호스트에 머물며, 상대 링크를 해석하고, 페이지 실패를 격리합니다.
빠른 시작
다음 명령은 Windows PowerShell용입니다.
설치
cd D:\my-websearch\my_websearch
py -3.12 -m pip install -r requirements.txtSearXNG 시작
docker version
cd D:\my-websearch\my_websearch
docker compose up -d searxng
docker compose ps기본 게이트웨이는 http://127.0.0.1:8080입니다. 구성은 config/searxng/settings.yml에 있습니다.
MCP 클라이언트 구성
mcp_config.example.json을 사용하고 절대 경로를 유지하세요:
{
"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"
}
}
}
}stdio 어댑터는 Windows에서 UTF-8을 강제합니다. 루프백 트래픽은 기본적으로 머신 전체 프록시 변수를 우회합니다. 필요 시 PROXY_URL을 명시적으로 설정하세요.
도구
search_web
페이지 본문을 다운로드하지 않고 SearXNG를 통해 검색합니다.
{
"name": "search_web",
"arguments": {
"query": "Python 3.14 new features",
"engines": ["bing", "baidu", "brave"],
"limit": 5,
"time_range": "month"
}
}fetch_web_content
공개 URL 하나를 가져와 추출합니다. HTML, PDF, DOCX, XLSX, PPTX, CSV, Markdown 및 일반 텍스트가 지원됩니다.
{
"name": "fetch_web_content",
"arguments": {
"url": "https://www.python.org",
"max_chars": 10000,
"stealth_mode": "off",
"render_mode": "auto",
"extraction_mode": "auto"
}
}응답에는 최종 URL, HTTP 상태, 제목, 추출 방법, 단어 수, 콘텐츠 및 발견된 링크가 포함됩니다.
search_and_fetch
먼저 검색한 다음 상위 결과를 독립적으로 가져옵니다. 실패한 페이지는 해당 항목에 기록되며 배치를 취소하지 않습니다.
{
"name": "search_and_fetch",
"arguments": {
"query": "FastAPI MCP server",
"limit": 3,
"max_chars": 12000
}
}deep_research
관련 쿼리를 동시에 실행하고, 가장 강력한 결과를 가져와 소스 수준의 실패를 포함한 Markdown 보고서를 반환합니다.
{
"name": "deep_research",
"arguments": {
"queries": ["SearXNG engine configuration", "MCP stdio deployment"],
"breadth": 3,
"max_chars": 12000
}
}crawl_site
하드 페이지 및 깊이 제한으로 동일 호스트 사이트를 크롤링합니다.
{
"name": "crawl_site",
"arguments": {
"url": "https://www.python.org",
"max_pages": 10,
"max_depth": 2,
"backend": "native",
"stealth_mode": "off"
}
}native가 기본값입니다. Scrapy를 설치하고 backend를 scrapy로 설정하여 선택적 백엔드를 사용하세요. 각 페이지는 URL, 깊이, 상태, 가져오기 방법, 제목, 콘텐츠 및 단어 수를 보고합니다.
youtube_transcript
선택적 소스 및 번역 언어로 YouTube 자막을 가져옵니다.
응답 형식
{
"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": []
}성공적인 부분 결과는 보존됩니다. 엔진, 페이지 및 문서 오류는 구조화된 실패 항목으로 반환됩니다.
아키텍처
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)]transports는 프로토콜을 조정합니다. MCP와 FastAPI는 동일한 서비스를 공유합니다.core는 오케스트레이션, 캐시 정책, 구성 및 URL 보안을 담당합니다.providers/search는 SearXNG와 통신하고 엔진 이름을 검증합니다.providers/content는 HTTP, 스텔스 전송, 렌더링 및 추출을 처리합니다.providers/crawl에는 네이티브 및 Scrapy 크롤링 백엔드가 포함됩니다.providers/media에는 YouTube 자막 제공자가 포함됩니다.
검색 엔진 구성
프로젝트 소유의 SearXNG 소스는 다음과 같습니다:
config/searxng/settings.yml엔진을 호출할 수 있는지 여부를 결정하는 두 가지 설정이 있습니다:
settings.yml은 SearXNG 내부에서 엔진을 활성화합니다.providers/search/registry.py는SUPPORTED_ENGINES에 허용된 이름을 나열합니다.
변경 후 재시작:
cd D:\my-websearch\my_websearch
docker compose up -d --force-recreate searxngSearXNG가 아직 엔진을 제공하지 않으면 먼저 해당 SearXNG 엔진을 구현하세요.
보안 및 안정성
HTTP 및 HTTPS URL만 허용됩니다.
Localhost, 루프백, 사설 IPv4, 링크-로컬 및 사설 IPv6 대상은 거부됩니다.
리디렉션 대상은 다시 검증됩니다.
검색 및 가져오기 작업은 기본 300초의 SQLite TTL 캐시를 사용합니다.
부분 실패는 성공한 작업을 폐기하지 않습니다.
stdout은 MCP JSON-RPC 전용으로 예약됩니다.
선택적 기능
기능 | 활성화 방법 |
Trafilatura / Readability |
|
스텔스 요청 |
|
JavaScript 렌더링 | Playwright 설치 및 |
PDF / DOCX / XLSX / PPTX | 해당 문서 패키지 설치 |
Scrapy 크롤링 | Scrapy 설치 및 |
FastAPI HTTP 서비스 |
|
YouTube 자막 |
|
프로젝트 구조
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 # 中文文档개발 확인
cd D:\my-websearch
py -3.12 -m my_websearch.tests.test_server예상 출력:
my_websearch self-check: ok선택적 FastAPI 서비스:
cd D:\my-websearch\my_websearch
py -3.12 -m transports.api그런 다음 http://127.0.0.1:8787/docs를 엽니다.
라이선스
아직 라이선스가 부과되지 않았습니다. 공개 배포 전에 루트 수준의 LICENSE 파일을 추가하세요.
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