Skip to main content
Glama
Cognitive-Stack

Search Stock News MCP Server

general-search

Conduct general web searches with customizable parameters like query, result count, depth, and relevance score. Retrieve filtered and relevant results for specific needs using the Tavily API.

Instructions

Perform a general web search using Tavily API

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
maxResultsNoMaximum number of results to return
minScoreNoMinimum relevance score threshold
queryYesSearch query
searchDepthNoSearch depth level

Implementation Reference

  • The core handler function implementing the 'general-search' tool logic, performing web search via Tavily API, filtering and sorting results by score.
    export default async ( query: string, maxResults: number = 10, searchDepth: 'basic' | 'advanced' = 'basic', minScore: number = 0.4 ): Promise<GeneralSearchResult[]> => { const config = getConfig(); const { apiKey } = config; // Initialize Tavily client const tvly = tavily({ apiKey }); try { const response = await tvly.search(query, { searchDepth, maxResults, includeDomains: [], excludeDomains: [] }); // Transform and filter the results const filteredResults = response.results .map((result) => ({ title: result.title, url: result.url, content: result.content, publishedDate: result.publishedDate, score: result.score, })) .filter(result => result.score >= minScore) .sort((a, b) => b.score - a.score); return filteredResults; } catch (error) { console.error(`Error performing general search: ${error}`); throw error; } };
  • Registration of the 'general-search' tool in the tools configuration array, including name, description, input schema, and wrapper execute function.
    { name: "general-search", description: "Perform a general web search using Tavily API", parameters: z.object({ query: z.string().describe("Search query"), maxResults: z.number().optional().describe("Maximum number of results to return"), searchDepth: z.enum(["basic", "advanced"]).optional().describe("Search depth level"), minScore: z.number().optional().describe("Minimum relevance score threshold") }), execute: async (args) => { const results = await generalSearch( args.query, args.maxResults || 10, args.searchDepth || "basic", args.minScore || 0.4 ); return JSON.stringify(results, null, 2); } }
  • TypeScript interface defining the structure of each result returned by the general search tool.
    export interface GeneralSearchResult { title: string; url: string; content: string; publishedDate: string; score: number; }

Other Tools

Related Tools

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/Cognitive-Stack/search-stock-news-mcp'

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