Skip to main content

Product Hunt MCP Server - A FastMCP implementation for the Product Hunt API

Project description

๐Ÿš€ Product Hunt MCP Server

License: MIT Python 3.10+ Docker Ready MCP Compatible

A plug-and-play MCP server for Product Hunt


โœจ What is this?

Product Hunt MCP Server connects Product Hunt's API to any LLM or agent that speaks the Model Context Protocol (MCP). Perfect for AI assistants, chatbots, or your own automations!

  • ๐Ÿ” Get posts, collections, topics, users
  • ๐Ÿ—ณ๏ธ Get votes, comments, and more
  • ๐Ÿ› ๏ธ Use with Claude Desktop, Cursor, or any MCP client

๐Ÿ› ๏ธ Features

  • Get detailed info on posts, comments, collections, topics, users
  • Search/filter by topic, date, votes, etc.
  • Paginated comments, user upvotes, and more
  • Built with FastMCP for speed and compatibility

๐Ÿง‘โ€๐Ÿ’ป Who is this for?

  • AI/LLM users: Plug into Claude Desktop, Cursor, or your own agent
  • Developers: Build bots, dashboards, or automations with Product Hunt data
  • Tinkerers: Explore the MCP ecosystem and build your own tools

๐Ÿ Setup

Prerequisites

  • Python 3.10+
  • Product Hunt API token (get one here)
    • You'll need to create an account on Product Hunt
    • Navigate to the API Dashboard and create a new application
    • Use the Developer Token for the token

Installation

Preferred: uv (fast, modern Python installer)

# Install uv if you don't have it
pip install uv

Install from PyPI (recommended)

uv pip install product-hunt-mcp
# or
pip install product-hunt-mcp

Install from GitHub (latest main branch)

uv pip install 'git+https://github.com/jaipandya/producthunt-mcp-server.git'
# or
pip install 'git+https://github.com/jaipandya/producthunt-mcp-server.git'

Install locally from source

uv pip install .
# or
pip install .

๐Ÿš€ Usage with Claude Desktop & Cursor

Once installed, the product-hunt-mcp command will be available. Add it to your Claude Desktop or Cursor configuration:

{
  "mcpServers": {
    "product-hunt": {
      "command": "product-hunt-mcp",
      "env": {
        "PRODUCT_HUNT_TOKEN": "your_token_here"
      }
    }
  }
}
  • Replace your_token_here with your actual Product Hunt API token.
  • The token must be set as an environment variable in your Claude Desktop or Cursor config for the server to authenticate.
  • Always restart your client (Claude Desktop/Cursor) after editing the config file.

Finding your configuration file

  • Claude Desktop:

    • Windows: %APPDATA%\claude-desktop\config.json
    • macOS: ~/Library/Application Support/claude-desktop/config.json
    • Linux: ~/.config/claude-desktop/config.json
  • Cursor:

    • Windows: %APPDATA%\Cursor\User\settings.json
    • macOS: ~/Library/Application Support/Cursor/User/settings.json
    • Linux: ~/.config/Cursor/User/settings.json

Docker

You can also run the server using Docker:

# Build the Docker image
docker build -t product-hunt-mcp .

# Run the Docker container (interactive for MCP)
docker run -i --rm -e PRODUCT_HUNT_TOKEN=your_token_here product-hunt-mcp

For Claude Desktop/Cursor integration with Docker, use this configuration:

{
  "mcpServers": {
    "product-hunt": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "PRODUCT_HUNT_TOKEN=your_token_here", "product-hunt-mcp"],
      "env": {}
    }
  }
}

Security Note: Your PRODUCT_HUNT_TOKEN is sensitive. Do not share it or commit it to version control.


๐Ÿ› ๏ธ MCP Tools

Tool Description Key Parameters
get_post_details Get info about a specific post id or slug, comments_count, comments_after
get_posts Get posts with filters topic, order, count, featured, posted_before, posted_after
get_comment Get info about a specific comment id (required)
get_post_comments Get comments for a post post_id or slug, order, count, after
get_collection Get info about a collection id or slug
get_collections Get collections with filters featured, user_id, post_id, order, count
get_topic Get info about a topic id or slug
search_topics Search topics query, followed_by_user_id, order, count
get_user Get info about a user id or username, posts_type, posts_count
get_viewer Get info about the authenticated user None
check_server_status Check server/API status & authentication None

๐Ÿ—๏ธ Project Structure

product-hunt-mcp/
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ product_hunt_mcp/ # Main package directory
โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚       โ”œโ”€โ”€ cli.py        # Command-line entry point
โ”‚       โ”œโ”€โ”€ api/          # API clients & queries
โ”‚       โ”œโ”€โ”€ schemas/      # Data validation schemas
โ”‚       โ”œโ”€โ”€ tools/        # MCP tool definitions
โ”‚       โ””โ”€โ”€ utils/        # Utility functions
โ”œโ”€โ”€ pyproject.toml      # Project metadata, dependencies, build config
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ CONTRIBUTING.md
โ”œโ”€โ”€ CHANGELOG.md
โ”œโ”€โ”€ Dockerfile
โ””โ”€โ”€ ... (config files, etc.)

๐Ÿ”„ Rate Limiting

The Product Hunt API has rate limits that this client respects. If you encounter rate limit errors, the client will inform you when the rate limit resets. You can check your current rate limit status using the get_api_rate_limits or check_server_status tools.


๐Ÿ› Troubleshooting

  • Missing token: Ensure your PRODUCT_HUNT_TOKEN is correctly set as an environment variable.
  • Connection issues: Verify your internet connection and that the Product Hunt API is accessible.
  • Rate limiting: If you hit rate limits, wait until the reset time or reduce your query frequency.
  • Claude Desktop/Cursor not finding the server: Verify the path to your Python executable and restart the client.

๐Ÿค Contributing

  • PRs and issues welcome!
  • Please follow PEP8 and use ruff for linting.
  • See pyproject.toml for dev dependencies.

๐ŸŒ Links


๐Ÿ“ Notes

  • This project is not affiliated with Product Hunt.
  • The Product Hunt API is subject to change.

๐Ÿ“œ License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

product_hunt_mcp-0.1.0.tar.gz (53.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

product_hunt_mcp-0.1.0-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

Details for the file product_hunt_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: product_hunt_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 53.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for product_hunt_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 53c70bee912c83ff8028bdb35cbb9fd2b184f72e42790c989620aae6166be706
MD5 4e8f4ce4e2855a937cab531eb9ae6dd9
BLAKE2b-256 e5069aa6b87f21bbac9618d734b50c7be664c783c3f6692678a2cbf113207265

See more details on using hashes here.

File details

Details for the file product_hunt_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for product_hunt_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a53f49005503f8dddfad4d9d863804c580f79c684cd5a8443cb3679bb9db4a45
MD5 60bcaa2c9fc431c229b3b8fc08ff0420
BLAKE2b-256 ea18c907937a31903a08fc91003ae26b0769c1cffec9974a6d38a5584e487b4a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page