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 процессу как переменная окружения точно под именем своего ключа настройки, без изменений.
переменная окружения | откуда берётся |
| Настройки → Пакеты → Веб-поиск |
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
This server cannot be deployed
Maintenance
Related MCP Connectors
Web search and page-reading for AI agents. One-click OAuth connect, or a Caesar API key.
LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.
Provides AI assistants with access to Seltz's powerful Web Search capabilities.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceIntegrates 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 npm6MIT
- AlicenseNot gradedqualityFmaintenanceProvides 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.72MIT
- FlicenseCqualityDmaintenanceEnables web search capabilities through the Tavily API, allowing users to perform web searches and retrieve information from the internet through natural language queries.3-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform real-time web searches, extract data from web pages, map website structures, and crawl websites using the Tavily API.61 npmMIT