Skip to main content
Glama

get-trending-topics

Retrieve trending topics from social platforms like Farcaster, Twitter, and Telegram to analyze popular conversations and trends. Specify platform and limit for tailored results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of trending topics to return
platformYesSocial platform (farcaster, twitter, telegram)

Implementation Reference

  • The handler function for the 'get-trending-topics' tool. It retrieves the appropriate provider for the platform, calls getTrendingTopics on it with the limit, formats the topics using formatTrendingTopics, and returns them as text content. Handles errors by returning an error message.
    async ({ platform, limit = 10 }) => { try { const provider = providerRegistry.getProviderForPlatform(platform); if (!provider) { return { content: [{ type: "text", text: `Provider for platform '${platform}' not found or not enabled` }], isError: true }; } const topics = await provider.getTrendingTopics({ limit }); return { content: [{ type: "text", text: formatTrendingTopics(topics, platform) }] }; } catch (error) { return { content: [{ type: "text", text: `Error fetching ${platform} trending topics: ${error instanceof Error ? error.message : String(error)}` }], isError: true }; } }
  • Zod input schema defining the parameters for the get-trending-topics tool: required platform string and optional limit number.
    { platform: z.string().describe("Social platform (farcaster, twitter, telegram)"), limit: z.number().optional().describe("Maximum number of trending topics to return") },
  • The server.tool call that registers the 'get-trending-topics' tool with MCP server, providing the name, input schema, and handler function.
    server.tool( "get-trending-topics", { platform: z.string().describe("Social platform (farcaster, twitter, telegram)"), limit: z.number().optional().describe("Maximum number of trending topics to return") }, async ({ platform, limit = 10 }) => { try { const provider = providerRegistry.getProviderForPlatform(platform); if (!provider) { return { content: [{ type: "text", text: `Provider for platform '${platform}' not found or not enabled` }], isError: true }; } const topics = await provider.getTrendingTopics({ limit }); return { content: [{ type: "text", text: formatTrendingTopics(topics, platform) }] }; } catch (error) { return { content: [{ type: "text", text: `Error fetching ${platform} trending topics: ${error instanceof Error ? error.message : String(error)}` }], isError: true }; } } );
  • Helper function used by the handler to format the array of trending topics into a numbered list string for the response.
    function formatTrendingTopics(topics: string[], platform: string): string { if (topics.length === 0) { return `No trending topics available for ${platform}.`; } const formattedTopics = topics.map((topic, index) => { return `${index + 1}. ${topic}`; }).join('\n'); return `Trending Topics on ${platform}:\n\n${formattedTopics}`; }

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/Beyond-Network-AI/beyond-mcp-server'

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