ferdousbhai

WSB Analyst MCP Server

Community ferdousbhai
Updated

MCP server for analyzing WallStreetBets

WSB Analyst MCP Server

A Model Context Protocol (MCP) server that provides real-time WallStreetBets data for analysis with Claude or other LLM clients.

Features

  • Fetch WallStreetBets Posts: Filter posts by score, comment count, and content type
  • Detailed Post Analysis: Extract comments, links, and metadata from posts
  • External Link Collection: Gather links being shared in WSB discussions
  • Analysis Templates: Ready-to-use prompt templates for market analysis
  • Progress Reporting: Real-time progress updates during data collection
  • MCP Integration: Seamless integration with Claude Desktop and other MCP clients

Requirements

  • Python 3.10 or higher
  • Reddit API credentials
  • Claude Desktop or another MCP client

Installation

Clone this repository or download the source files:

git clone https://github.com/ferdousbhai/wsb-analyst-mcp
cd wsb-analyst-mcp

Create a virtual environment and install dependencies:

# Using uv (recommended)
uv sync

Setting Up Reddit API Credentials

To use this server, you need to create a Reddit application to get API credentials:

  1. Log in to your Reddit account
  2. Navigate to https://www.reddit.com/prefs/apps
  3. Scroll down and click "create another app..." or "create an app..."
  4. Fill in the following details:
    • name: WSB Analyst MCP (or any name you prefer)
    • app type: select "script"
    • description: Optional description of your application
    • about url: Can be left blank
    • redirect uri: Use http://localhost:8000 (any valid URL works as we don't use OAuth)
  5. Click "create app"
  6. After creation, note down:
    • client_id: The string under the app name (appears right under "personal use script")
    • client_secret: The string labeled "secret"

Configuration for Claude Desktop

Open Claude Desktop's configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the following configuration (adjust paths as needed):

{
  "mcpServers": {
    "wsb-analyst": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/wsb-analyst-mcp",
        "run",
        "mcp_wsb_server.py"
      ],
      "env": {
        "REDDIT_CLIENT_ID": "your_client_id_here",
        "REDDIT_CLIENT_SECRET": "your_client_secret_here"
      }
    }
  }
}

Restart Claude Desktop

Using with Claude Desktop

Once configured, you can interact with the WSB Analyst server through Claude:

  1. Open Claude Desktop
  2. You should see a hammer icon in the bottom right corner of the message input box
  3. Click the hammer to see available tools
  4. Access prompt templates via slash commands (e.g., /analyze_wsb_market)

Example queries:

  • "What are the top trending stocks on WallStreetBets today?"
  • "Analyze recent WallStreetBets posts and tell me about potential market opportunities"
  • "What external resources are WSB users sharing about AMD stock?"

Available Tools

find_top_posts

Fetch and filter WSB posts based on criteria.

Parameters:

  • min_score (default: 100): Minimum score (upvotes) required
  • min_comments (default: 10): Minimum number of comments required
  • limit (default: 10): Maximum number of posts to return
  • excluded_flairs (default: ["Meme", "Shitpost", "Gain", "Loss"]): List of post flairs to exclude.

fetch_post_details

Fetch detailed information about a specific WSB post including top comments.

Parameters:

  • post_id: Reddit post ID

fetch_batch_post_details

Fetches details for multiple posts efficiently.

fetch_detailed_wsb_posts

Fetch and filter WSB posts, then get detailed information including top comments and links for each.

get_external_links

Collects all external links from top posts.

Prompt Templates

/analyze_wsb_market

Provides a template prompt to guide an LLM in performing a comprehensive market analysis using the available tools (fetch_detailed_wsb_posts, get_external_links). It instructs the LLM on the structure and focus of the analysis.

/find_market_movers

Creates a prompt focused on what's moving specific stocks or the overall market. This prompt guides the LLM to use tools like find_top_posts and fetch_post_details or fetch_batch_post_details.

Integrating with Firecrawl MCP Server

For enhanced analysis capabilities, especially when dealing with external links found in WSB posts, you can integrate this server with the Firecrawl MCP Server. This allows your LLM agent to not only identify links shared on WSB but also scrape and analyze the content of those linked pages.

Configuration Example

To use both servers simultaneously in Claude Desktop, modify your claude_desktop_config.json to include configurations for both under the mcpServers key. Ensure you have the Firecrawl MCP server cloned and set up according to its documentation.

{
  "mcpServers": {
    "wsb-analyst": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/wsb-analyst-mcp",
        "run",
        "mcp_wsb_server.py"
      ],
      "env": {
        "REDDIT_CLIENT_ID": "your_client_id_here",
        "REDDIT_CLIENT_SECRET": "your_client_secret_here"
      }
    },
    "firecrawl": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/firecrawl-mcp-server", // Adjust path
        "run",
        "mcp_firecrawl_server.py"
      ],
      "env": {
        "FIRECRAWL_API_KEY": "your_firecrawl_api_key" // If required by Firecrawl
      }
    }
  }
}

Remember to replace /absolute/path/to/... with the actual paths to your project directories and provide any necessary API keys. Restart Claude Desktop after updating the configuration.

License

MIT

MCP Server · Populars

MCP Server · New

    chatmcp

    mcpso

    directory for Awesome MCP Servers

    Community chatmcp
    TBXark

    MCP Proxy Server

    An MCP proxy server that aggregates and serves multiple MCP resource servers through a single HTTP server.

    Community TBXark
    ttommyth

    interactive-mcp

    Ask users questions from your LLM! interactive-mcp: Local, cross-platform MCP server for interactive prompts, chat & notifications.

    Community ttommyth
    lpigeon

    ros-mcp-server

    The ROS MCP Server is designed to support robots in performing complex tasks and adapting effectively to various environments by providing a set of functions that transform natural language commands, entered by a user through an LLM, into ROS commands for robot control.

    Community lpigeon
    emicklei

    melrose-mcp

    interactive programming of melodies, producing MIDI

    Community emicklei