Skip to main content

Universal AI search MCP server — Perplexity-level quality with zero API keys. Multi-engine web scraping, intelligent ranking, and citation-native answers.

Project description

maru-deep-pro-search

Force your AI agent to research before it codes.
Zero API keys · Direct scraping · Citation-native answers

🇰🇷 한국어

PyPI CI Tests Python License

🌐 Website · 📦 PyPI · 💻 GitHub


One-liner Install

macOS / Linux:

curl -sSL https://raw.githubusercontent.com/claudianus/maru-deep-pro-search/main/scripts/install.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/claudianus/maru-deep-pro-search/main/scripts/install.ps1 | iex

Or with pip:

pip install maru-deep-pro-search && maru-deep-pro-search setup

The setup wizard auto-detects your AI agent (Claude Code, Cursor, Kimi, Windsurf, etc.), backs up existing configs, injects MCP settings, and enforces research-first rules.


What it does

Your AI coding agent has a critical flaw: it answers from stale training data. maru-deep-pro-search fixes this by giving your agent live web search superpowers — and forcing it to use them first.

Capability How
Search Scrapes 7 engines directly. No API keys.
Rank BM25 + authority/freshness/code-density scoring
Research 7-phase deep research pipeline with auto query expansion
Cite Every result gets [1], [2] IDs — native citation architecture
Enforce Setup CLI injects mandatory research-first rules into your agent

Core principle: 100% free, forever. No OpenAI, no Anthropic, no Google Search API, no SerpAPI.


Architecture

┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│ User Query  │────▶│ Query Expand │────▶│ 7 Engines   │
└─────────────┘     └──────────────┘     └──────┬──────┘
                                                  │
                       ┌──────────────────────────┘
                       ▼
              ┌─────────────────┐
              │ BM25 + Metadata │
              │    Ranking      │
              └────────┬────────┘
                       │
         ┌─────────────┼─────────────┐
         ▼             ▼             ▼
    ┌─────────┐  ┌──────────┐  ┌──────────┐
    │trafilatura│  │htmldate │  │ 21-lang  │
    │+ content│   │+freshness│  │  code    │
    └────┬────┘  └────┬─────┘  └────┬─────┘
         └─────────────┼─────────────┘
                       ▼
              ┌─────────────────┐
              │ Cited Answer    │
              │ [1] [2] [3]     │
              └─────────────────┘

Before & After

Before After
Agent answers From stale 2023 training data From live web search
Sources None, hallucinated [1], [2] with real URLs
Setup Manual MCP config per agent One-liner auto-detects all agents
Cost $5–50/mo API fees $0 forever

8 Tools

Tool Purpose
answer Quick answer with inline citations
web_search Scrape + rank + return cited results
search_with_citations Pre-numbered sources for academic writing
fetch_page Extract clean content from a single URL
fetch_bulk Parallel fetch with deduplication
deep_research 7-phase pipeline: expand → search → rank → crawl → synthesize
stealthy_fetch Anti-bot bypass for protected sites
parallel_search Run multiple searches simultaneously

Decision tree:

  • Quick answer? → answer
  • Need sources? → web_search or search_with_citations
  • Deep dive? → deep_research
  • Blocked? → stealthy_fetch

Configuration

All environment variables are optional:

Variable Default Description
MARU_SEARCH_ENGINE duckduckgo_lite Default engine
MARU_SEARCH_MAX_RESULTS 10 Results per query
MARU_SEARCH_MAX_CONCURRENT 5 Parallel fetch limit
MARU_SEARCH_MAX_TOKENS_SOURCE 2500 Token budget per source
MARU_SEARCH_MAX_TOKENS_TOTAL 20000 Total output token budget
MARU_SEARCH_TIMEOUT 30.0 Fetch timeout (seconds)
MARU_SEARCH_RETRIES 3 Retry attempts

Testing

pytest tests/ -v

174 tests, all passing.


Contributing

PRs welcome. See CONTRIBUTING.md for coding style and PR guidelines.

See CHANGELOG.md for release history.


License

MIT © claudianus

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

maru_deep_pro_search-0.9.0.tar.gz (89.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

maru_deep_pro_search-0.9.0-py3-none-any.whl (102.6 kB view details)

Uploaded Python 3

File details

Details for the file maru_deep_pro_search-0.9.0.tar.gz.

File metadata

  • Download URL: maru_deep_pro_search-0.9.0.tar.gz
  • Upload date:
  • Size: 89.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for maru_deep_pro_search-0.9.0.tar.gz
Algorithm Hash digest
SHA256 94e5553d309f8ff3d924ba3750955cc106b8a622959d563c7d19718b8b513180
MD5 02f9a1be420ac7e0a91bd308c5e01b6c
BLAKE2b-256 3499a76a018e3d00d0f8a82dedf40009f8d482ab124ab02555c9cb5461fd7627

See more details on using hashes here.

File details

Details for the file maru_deep_pro_search-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: maru_deep_pro_search-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 102.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for maru_deep_pro_search-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c3c15fb76f4de0b8fbdd3ded39ecdcb5d506def43d86f35c2fe30e130181c79
MD5 2620717c661c621516c5b229a66ee2bb
BLAKE2b-256 63c8d915313681ba955e31fbb80f36887276a434f15047d07ed8993f69a32c2e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page