Skip to main content
Glama

Reddit MCP Server

by ozipi
search-reddit.ts1.54 kB
import { DEFAULT_POST_LIMIT } from '../../constants.js'; import { searchRedditSuccessMessage } from '../../constants/tool/search-reddit.js'; import { RedditError } from '../../types/reddit.js'; import { formatToolResponse } from './types.js'; import type { ToolHandler, SearchRedditArgs} from './types.js'; export const handleSearchReddit: ToolHandler<SearchRedditArgs> = async ( args, { redditService }, ) => { try { const { query, subreddit, sort = "relevance", time = "all", limit = DEFAULT_POST_LIMIT } = args; if (!query.trim()) { throw new RedditError("Search query cannot be empty", "VALIDATION_ERROR"); } const searchResults = await redditService.searchReddit({ query, subreddit, sort, time, limit, }); return formatToolResponse({ message: searchRedditSuccessMessage, result: { results: searchResults.map((post) => ({ title: post.title, subreddit: post.subreddit, url: post.url, score: post.score, numComments: post.numComments, createdUtc: post.createdUtc, summary: post.selftext?.substring(0, 200), id: post.id, })), }, }); } catch (error) { return formatToolResponse({ status: "error", message: `Failed to search Reddit: ${error instanceof Error ? error.message : "Unknown error"}`, error: { type: error instanceof RedditError ? error.type : "API_ERROR", details: error, }, }); } };

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/ozipi/brainloop-mcp-server-v2'

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