MCP2Brave
- src
export interface TavilyToolConfig {
name: string;
description: string;
inputSchema: object;
}
export const TAVILY_TOOLS: TavilyToolConfig[] = [
{
name: 'tavily_search',
description:
'Search the web using Tavily Search API, optimized for high-quality, factual results',
inputSchema: {
type: 'object',
properties: {
query: {
type: 'string',
description: 'Search query',
},
search_depth: {
type: 'string',
description:
'The depth of the search ("basic" for faster results, "advanced" for more thorough search)',
enum: ['basic', 'advanced'],
default: 'basic',
},
include_answer: {
type: 'boolean',
description:
'Include an AI-generated answer based on search results',
default: true,
},
include_domains: {
type: 'array',
items: { type: 'string' },
description: 'List of trusted domains to include in search',
default: [],
},
exclude_domains: {
type: 'array',
items: { type: 'string' },
description: 'List of domains to exclude from search',
default: [],
},
response_format: {
type: 'string',
enum: ['text', 'json', 'markdown'],
description: 'Format of the search results',
default: 'text',
},
max_results: {
type: 'number',
description: 'Maximum number of results to return',
default: 10,
},
min_score: {
type: 'number',
description: 'Minimum relevancy score for results (0-1)',
default: 0.0,
},
cache_ttl: {
type: 'number',
description: 'Cache time-to-live in seconds',
default: 3600,
},
force_refresh: {
type: 'boolean',
description: 'Force fresh results ignoring cache',
default: false,
},
},
required: ['query'],
},
},
{
name: 'tavily_get_search_context',
description:
'Generate context for RAG applications using Tavily search',
inputSchema: {
type: 'object',
properties: {
query: {
type: 'string',
description: 'Search query for context generation',
},
max_tokens: {
type: 'number',
description: 'Maximum length of generated context',
default: 2000,
},
response_format: {
type: 'string',
enum: ['text', 'json'],
description: 'Format of the context response',
default: 'text',
},
},
required: ['query'],
},
},
{
name: 'tavily_qna_search',
description:
'Get direct answers to questions using Tavily search',
inputSchema: {
type: 'object',
properties: {
query: {
type: 'string',
description: 'Question to be answered',
},
include_sources: {
type: 'boolean',
description: 'Include source citations in the answer',
default: true,
},
response_format: {
type: 'string',
enum: ['text', 'json'],
description: 'Format of the answer response',
default: 'text',
},
},
required: ['query'],
},
},
];