Skip to main content
Glama
TheBananaStand

leo-tavily-mcp

leo-tavily-mcp

Веб-поиск Tavily как пакет провайдера Leo, через MCP.

Инструмент web_search в Leo сам ничего не ищет: он находит WebSearchProvider и спрашивает данные у него. Данный сервер — как раз такой провайдер, доступный в виде пакета, который хаб устанавливает во время выполнения, а не пакета, под который хаб пришлось бы пересобирать.

Что он возвращает

Роль web_search в leo_mcp::providers:

search({ query, max_results }) -> { results: [{ title, url, snippet, score? }] }

Результаты приходят как JSON в блоке текстового содержимого — по такому соглашению работает мост хаба.

Related MCP server: Tavily MCP Server

Конфигурация

Одна настройка, объявленная в дескрипторе пакета и передаваемая Leo процессу как переменная окружения точно под именем своего ключа настройки, без изменений.

переменная окружения

откуда берётся

tavily_api_key

Настройки → Пакеты → Веб-поиск

Leo отдаёт только те ключи, которые пакет объявил в ntitlements.settings_read и на которые согласился владелец, — никогда всю таблицу настроек. Имя написано в нижнем регистре, потому что это и есть ключ настройки; переименованное с любой стороны оно молча никогда не достигнет пришуожаться.

Если ключ не настроен, инструмент возвращает isError с сообщением, в котором упоминается необходимая настройка. Это сознательное поведение: пустой набор результата выглядел бы для Leo как «в вебе по этому запросу ничего нет».

Запуск

npm install
node index.js          # speaks MCP over stdio
npm test               # checks the response mapping, no network needed

Почему обычный JavaScript

Данный пакет поставляется как git-архив, зафиксированный на комитиском SHA, а не в виде npm-пакета; для URL-архива npm не гарантирует шаги сборки. Дерево исходников TypeScript установилось бы, а затем не запустилось вот-вот на чужой машине — на самой дальней объenda, где труднее всего провести отладку.

Запись в реестре

{
  "name": "tavily",
  "label": "Web Search",
  "mcp": {
    "transport": "stdio",
    "command": "npx",
    "args": ["-y", "https://github.com/TheBananaStand/leo-tavily-mcp/archive/<40-char-sha>.tar.gz"]
  },
  "descriptor": {
    "provides": ["web_search"],
    "fields": [
      { "key": "tavily_api_key", "label": "API Key", "field_type": "password", "required": true }
    ],
    "entitlements": {
      "settings_read": ["tavily_api_key"],
      "network": ["api.tavily.com"],
      "sends": [
        { "to": "api.tavily.com", "classes": ["search_queries"],
          "because": "The search text and nothing else." }
      ]
    }
  }
}

URL должен содержать полный 40-символьный SHA коммита. Тег выглядит точно так же определённым, но не является такой определённостью: refs/tags/v1.0.0 — это указатель, который владелец может переместить после того, как запись была проинспектирована, поэтому хаб отклоняет его как не прикреплённую к коммиту.

Лицензия

MIT

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Integrates Tavily's search API with LLMs to provide advanced web search capabilities, including intelligent result summaries, domain filtering for quality control, and configurable search parameters.
    32 npm
    6
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides AI-powered web search capabilities using Tavily's search API, enabling LLMs to perform sophisticated web searches, get direct answers to questions, and search recent news articles.
    72
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to perform real-time web searches, extract data from web pages, map website structures, and crawl websites using the Tavily API.
    61 npm
    MIT