Skip to main content

Self-hosted web search for AI agents — zero API keys, embedding re-rank, multi-engine parallel search

Project description

Searchpin

PyPI version Python License Docker

Self-hosted web search for AI agents — zero API keys, zero cost. pip install searchpin and you're done.

  • Search quality rivals commercial products — four search engines in parallel (Baidu, Sogou, Bing CN, Bing Intl), merged and re-ranked by semantic similarity. A rare capability among free MCP search tools.
  • Zero-cost agent development — no API keys, no sign-ups, no usage limits. Pair with a local LLM and your entire development loop costs nothing. Run 24/7 agent experiments without worrying about quotas.
  • Pollution detection — automatically flags results that are unrelated to your query, so your agent doesn't chase irrelevant content.
  • Cross-verification — results from four independent sources let your LLM corroborate information across engines, raising the credibility of what it finds.
  • Content extraction that handles modern sites — goes beyond basic HTML-to-text to extract SSR hydration payloads (Next.js, Nuxt), JSON-LD structured data, and microdata from pages that would otherwise return empty.
  • Token-conscious output — results are titles, URLs, and snippets only. Your LLM decides which pages are worth fetching in full. Structured extraction data is compact and truncated, keeping token overhead under control.

Quick Start

pip install searchpin
searchpin-server

Configuration

Claude Desktop / Cursor / any MCP client

Add to your mcpServers config:

{
  "mcpServers": {
    "Searchpin": {
      "command": "searchpin-server",
      "args": []
    }
  }
}

VS Code

Install in VS Code Install in VS Code Insiders

Or manually, add to .vscode/mcp.json:

{
  "servers": {
    "Searchpin": {
      "command": "searchpin-server",
      "args": []
    }
  }
}

Docker

docker run -i --rm ghcr.io/telly6/searchpin:latest
{
  "mcpServers": {
    "Searchpin": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/telly6/searchpin:latest"]
    }
  }
}

Python API

from searchpin import SearchEngine

engine = SearchEngine()
results = engine.search("Python 3.13 new features")
page = engine.fetch("https://docs.python.org/3/whatsnew/3.13.html")
engine.close()

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

searchpin-1.0.0.tar.gz (41.6 kB view details)

Uploaded Source

Built Distribution

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

searchpin-1.0.0-py3-none-any.whl (39.9 kB view details)

Uploaded Python 3

File details

Details for the file searchpin-1.0.0.tar.gz.

File metadata

  • Download URL: searchpin-1.0.0.tar.gz
  • Upload date:
  • Size: 41.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for searchpin-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f3b5ceb63ddd052de7077cd55f50ee88a996c8e75d0797291e1061e8419a65c8
MD5 b5a3e5a87f7d8a2cc7df01f47382390d
BLAKE2b-256 03f23476937261238524e71ae548eb42cd19b204e5fdf73b1ee8c9ba12638111

See more details on using hashes here.

File details

Details for the file searchpin-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: searchpin-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 39.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for searchpin-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8c3654735f787be650146e1f5725b4f4e274583ec40a63d306f361591971b394
MD5 45259fb1ba534b913afbec7d257f9fe2
BLAKE2b-256 02aaed3eb1ed5c2b1ba851b7663557d971e4d392ac92cd5bb7c6b698d9edc920

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