Skip to main content
Glama
searchTool.js2.2 kB
import { searchDuckDuckGo } from '../utils/search.js'; /** * Web search tool definition */ export const searchToolDefinition = { name: 'web-search', title: 'Web Search', description: 'Perform a web search using DuckDuckGo and receive detailed results including titles, URLs, and summaries.', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Enter your search query to find the most relevant web pages.' }, numResults: { type: 'integer', description: 'Specify how many results to display (default: 3, maximum: 20).', default: 3, minimum: 1, maximum: 20 }, mode: { type: 'string', description: "Choose 'short' for basic results (no Description) or 'detailed' for full results (includes Description).", enum: ['short', 'detailed'], default: 'short' } }, required: ['query'] } }; /** * Web search tool handler * @param {Object} params - The tool parameters * @returns {Promise<Object>} - The tool result */ export async function searchToolHandler(params) { const { query, numResults = 3, mode = 'short' } = params; console.log(`Searching for: ${query} (${numResults} results, mode: ${mode})`); const results = await searchDuckDuckGo(query, numResults, mode); console.log(`Found ${results.length} results`); // Format results as readable text, similar to other search tools const formattedResults = results.map((result, index) => { let formatted = `${index + 1}. **${result.title}**\n`; formatted += `URL: ${result.url}\n`; if (result.displayUrl) { formatted += `Display URL: ${result.displayUrl}\n`; } if (result.snippet) { formatted += `Snippet: ${result.snippet}\n`; } if (mode === 'detailed' && result.description) { formatted += `Content: ${result.description}\n`; } if (result.favicon) { formatted += `Favicon: ${result.favicon}\n`; } return formatted; }).join('\n'); return { content: [ { type: 'text', text: formattedResults || 'No results found.' } ] }; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/OEvortex/ddg_search'

If you have feedback or need assistance with the MCP directory API, please join our Discord server