news_search
Search for recent news articles by entering a query to retrieve updated and relevant information using You.com's News API.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The news query to send to You.com's News API |
Implementation Reference
- src/index.ts:112-137 (registration)MCP server.tool registration for the 'news_search' tool, including input schema (query: string) and handler function that delegates to youClient.getNews(query), formats results as JSON text or error response.server.tool( "news_search", { query: z.string().describe("The news query to send to You.com's News API") }, async ({ query }: { query: string }) => { try { const results = await youClient.getNews(query); return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] }; } catch (error) { console.error("News search error:", error); return { content: [{ type: "text", text: `Error performing news search: ${error instanceof Error ? error.message : String(error)}` }], isError: true }; } } );
- src/services/youApiClient.ts:53-67 (helper)Core implementation of news search in YouApiClient.getNews: makes HTTP GET request to You.com News API endpoint with query param, returns the full response data.async getNews(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(`/news?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 news API call:', error); throw error; } }