web_search
Search the web, access news, and perform research using the You.com API to gather relevant information for enhanced AI assistant capabilities.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query to send to You.com |
Implementation Reference
- src/index.ts:30-49 (handler)MCP tool handler for web_search: calls youClient.search and formats response as MCP content or error.async ({ query }: { query: string }) => { try { const results = await youClient.search(query); return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] }; } catch (error) { console.error("Search error:", error); return { content: [{ type: "text", text: `Error performing search: ${error instanceof Error ? error.message : String(error)}` }], isError: true }; } }
- src/index.ts:27-29 (schema)Input schema for web_search tool using Zod.{ query: z.string().describe("The search query to send to You.com") },
- src/index.ts:26-50 (registration)Registration of the web_search tool on the MCP server."web_search", { query: z.string().describe("The search query to send to You.com") }, async ({ query }: { query: string }) => { try { const results = await youClient.search(query); return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] }; } catch (error) { console.error("Search error:", error); return { content: [{ type: "text", text: `Error performing search: ${error instanceof Error ? error.message : String(error)}` }], isError: true }; } } );
- src/services/youApiClient.ts:72-86 (helper)Core implementation of web search via HTTP API call to You.com in YouApiClient class.async search(query: string): Promise<any> { try { // Following the example exactly const params = { query }; // Use the full URL format to match the Python example const response = await this.searchClient.get(`/search?query=${encodeURIComponent(query)}`, { params }); // Return the complete response data to match the Python example return response.data; } catch (error) { console.error('Error in You.com search API call:', error); throw error; } }