# tinysearch

Ищет страницы в интернете, отбирает фрагменты и возвращает их агенту вместе с URL источников. Пригодится для веб-исследований, когда агенту нужны подтверждающие материалы.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 233
- Автор: TinySuiteHQ
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/TinySuiteHQ/TinySearch
- Обновлён: 2026-10-19
- HTML: https://affpapa.org/nevibecode/mcp/tinysuitehq-tinysearch

## Что делает

tinysearch выполняет поиск и загружает страницы, затем ранжирует фрагменты локально и передаёт агенту отобранный текст с URL источников. Для поиска используется DDGS; локальное ранжирование опирается на BM25 и эмбеддинги. MCP-сервер можно запускать через `uvx`.

Содержимое страниц остаётся исходным: сервер выбирает фрагменты, но не переписывает и не пересказывает их. Поэтому длинные страницы могут дать менее компактный результат, чем обработка отдельной моделью-суммаризатором. Поиск через DDGS не требует платного поискового API, а установка запуска через `uvx` требует `uv`.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `MCP_TRANSPORT`, `TINYSEARCH_CONFIG_PATH`, `SEARXNG_URL`, `TINYSEARCH_EMBEDDING_BACKEND`, `TINYSEARCH_EMBEDDING_MODEL`, `OTEL_SERVICE_NAME`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_RESOURCE_ATTRIBUTES` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env MCP_TRANSPORT=<MCP_TRANSPORT> --env TINYSEARCH_CONFIG_PATH=<TINYSEARCH_CONFIG_PATH> --env SEARXNG_URL=<SEARXNG_URL> --env TINYSEARCH_EMBEDDING_BACKEND=<TINYSEARCH_EMBEDDING_BACKEND> --env TINYSEARCH_EMBEDDING_MODEL=<TINYSEARCH_EMBEDDING_MODEL> --transport stdio tinysuitehq-tinysearch -- uvx tinysuite-search
```
Вместо <…> подставьте свои значения. Ещё 8 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from tinysuite-search <команда>

### Codex

**Командой платформы**
```bash
codex mcp add tinysuitehq-tinysearch --env MCP_TRANSPORT=<MCP_TRANSPORT> --env TINYSEARCH_CONFIG_PATH=<TINYSEARCH_CONFIG_PATH> --env SEARXNG_URL=<SEARXNG_URL> --env TINYSEARCH_EMBEDDING_BACKEND=<TINYSEARCH_EMBEDDING_BACKEND> --env TINYSEARCH_EMBEDDING_MODEL=<TINYSEARCH_EMBEDDING_MODEL> -- uvx tinysuite-search
```
Вместо <…> подставьте свои значения. Ещё 8 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from tinysuite-search <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "tinysuitehq-tinysearch": {
            "command": "uvx",
            "args": [
                "tinysuite-search"
            ],
            "env": {
                "MCP_TRANSPORT": "<MCP_TRANSPORT>",
                "TINYSEARCH_CONFIG_PATH": "<TINYSEARCH_CONFIG_PATH>",
                "SEARXNG_URL": "<SEARXNG_URL>",
                "TINYSEARCH_EMBEDDING_BACKEND": "<TINYSEARCH_EMBEDDING_BACKEND>",
                "TINYSEARCH_EMBEDDING_MODEL": "<TINYSEARCH_EMBEDDING_MODEL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 8 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from tinysuite-search <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "tinysuitehq-tinysearch": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "tinysuite-search"
            ],
            "env": {
                "MCP_TRANSPORT": "<MCP_TRANSPORT>",
                "TINYSEARCH_CONFIG_PATH": "<TINYSEARCH_CONFIG_PATH>",
                "SEARXNG_URL": "<SEARXNG_URL>",
                "TINYSEARCH_EMBEDDING_BACKEND": "<TINYSEARCH_EMBEDDING_BACKEND>",
                "TINYSEARCH_EMBEDDING_MODEL": "<TINYSEARCH_EMBEDDING_MODEL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 8 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from tinysuite-search <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e MCP_TRANSPORT=<MCP_TRANSPORT> -e TINYSEARCH_CONFIG_PATH=<TINYSEARCH_CONFIG_PATH> -e SEARXNG_URL=<SEARXNG_URL> -e TINYSEARCH_EMBEDDING_BACKEND=<TINYSEARCH_EMBEDDING_BACKEND> -e TINYSEARCH_EMBEDDING_MODEL=<TINYSEARCH_EMBEDDING_MODEL> tinysuitehq-tinysearch uvx tinysuite-search
```
Вместо <…> подставьте свои значения. Ещё 8 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from tinysuite-search <команда>

## Когда брать
- найти веб-источники по вопросу
- отобрать полезные фрагменты из найденных страниц
- передать агенту выдержки вместе с URL источников
- сократить объём веб-текста в контексте агента

## Примеры запросов агенту
- Найди в интернете материалы о настройке MCP-серверов для Codex и верни выдержки с источниками.
- Найди страницы о локальном ранжировании поиска и собери из них подтверждающие фрагменты.
- Открой эти URL, отфильтруй полезные выдержки и приложи ссылки на страницы.

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
