Skip to content
Conduit

mcp server

mcp-search

Containerized search and web scraping infrastructure powered by Model Context Protocol

Mournweiss/mcp-searchcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 23, 2026

MCP Search

Containerized search and web scraping infrastructure powered by Model Context Protocol

License: AGPL-3.0 Docker Compose Redis RabbitMQ SearXNG mcp--searxng Firecrawl firecrawl--mcp--server Playwright Model Context Protocol

Overview

MCP Search is a containerized infrastructure that provides web search and URL scraping capabilities through the Model Context Protocol (MCP). It combines SearXNG (privacy-respecting metasearch engine) and Firecrawl (web scraping API) with their respective MCP servers, backed by Redis, PostgreSQL, RabbitMQ, and Playwright.

Architecture

graph TD
    MCP["MCP Client"] --> mcp_sx["mcp-searxng :30019"]
    MCP --> mcp_fc["mcp-firecrawl :30028"]
    mcp_sx --> searxng["SearXNG :8080"]
    mcp_fc --> firecrawl["Firecrawl :3000"]
    firecrawl --> playwright["Playwright :3000"]
    firecrawl --> nuq_pg["nuq-postgres :5432"]
    firecrawl --> rabbitmq["RabbitMQ :5672"]
    firecrawl --> redis["Redis :6379"]

Services

ServiceImagePortDescription
searxngsearxng/searxng8080Privacy-respecting metasearch engine (web UI available)
mcp-searxngisokoliuk/mcp-searxng30019MCP server for SearXNG API
firecrawlghcr.io/firecrawl/firecrawl3000Web scraping and crawling API
mcp-firecrawlmcp/firecrawl30028MCP server for Firecrawl API
redisredis:7-alpine6379Cache and rate limiting
nuq-postgresghcr.io/firecrawl/nuq-postgres5432PostgreSQL for Firecrawl
playwrightmcr.microsoft.com/playwright3000Headless browser for JS rendering
rabbitmqrabbitmq:3-management5672 / 15672Message broker for Firecrawl

Usage

Requirements

DependencyMinimum Version
Docker or Podman (with compose)23.0 / 5.0
Bash5.0
OpenSSL3.x

Quick Start

  1. Clone the repository:
git clone https://github.com/Mournweiss/mcp-search.git
cd mcp-search
  1. Run the build script:
chmod +x build.sh
./build.sh

The script will:

  • Create .env from .env.example if it doesn't exist
  • Sync missing variables from the template
  • Generate secrets (SEARXNG_SECRET_KEY, POSTGRES_PASSWORD, etc.)
  • Build and start all services in detached mode

Arguments

--podman, -p          Use podman-compose instead of docker-compose
--docker, -d          Use docker-compose explicitly
--foreground, -f      Run in foreground mode (attach logs)
--no-keygen, -n       Skip secret generation
--help, -h            Show help message
  1. Connect to LLM:

    Both MCP servers run as streamable HTTP endpoints.

    ServerEndpointTransport
    mcp-searxnghttp://localhost:30019/mcpStreamable HTTP
    mcp-firecrawlhttp://localhost:30028/mcpStreamable HTTP

Environment Variables

All configuration is managed through .env. See .env.example for the full list of variables.

Primary variables:

VariableDefaultDescription
PROJECT_NAMEmcp-searchDocker Compose project prefix
LOG_LEVELinfoGlobal log level
SEARXNG_PORT8080SearXNG HTTP port
MCP_SEARXNG_PORT30019MCP SearXNG server port
FIRECRAWL_PORT3000Firecrawl API port
MCP_FIRECRAWL_PORT30028MCP Firecrawl server port
RABBITMQ_PORT5672RabbitMQ port
RABBITMQ_MANAGEMENT_PORT15672RabbitMQ management UI port
SEARXNG_ENGINESgoogle,duckduckgo,bingSearch engines to enable
SEARXNG_CATEGORIESgeneral,it,scienceSearch categories

License

This project uses AGPL-3.0 licensed components. See individual repositories for their respective licenses:

↑↓ navigate openesc close