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;
    }
Install Server

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