
PuchAI MCP Server
A multi-purpose MCP server that enables Reddit research for market validation, data visualization with charts, medicine information lookup, user preference management, and task management tools. Provides comprehensive utilities for research, data analysis, and personal productivity through natural language interactions.
README
PuchAI Hackathon
🌟 CLICK TO USE THE MCP
<img src="media/mcp.png">
Reddit Research Tool
<img src="media/reddit_demo1.png">
Description: Scrapes latest new posts from specified subreddits and filters posts containing specific keywords, then analyzes content using intent scoring for market validation and audience sentiment analysis.
Parameters:
puch_user_id
(string): User ID for rate limitingquery
(string): Descriptive query about what you're looking forsubreddits
(list of strings): List of subreddit names (without 'r/' prefix)keywords
(list of strings): Keywords to search for using fuzzy matchingthreshold
(int, default: 80): Fuzzy match threshold (0-100)post_limit
(int, default: 10): Number of new posts to check per subreddit (1-35)
Cooldown: 80 seconds between uses
Example Prompts:
- "Hey Puch, I am trying to promote my MCP with Kubernetes EKS setup, please check if recently anyone is interested in r/mcp or r/saas."
- "I'm building my own payment gateway service, check if there is any discussion around payment gateways in r/saas, and tell me how to approach them."
Data Visualization Tools
Make Bar Chart
<img src="media/bar_chart.png">
Description: Generates a labeled bar chart image from lists of labels and numeric data with customizable styling.
Parameters:
puch_labels
(list of strings): Label strings for x-axispuch_values
(list of floats): Numeric values (same length as labels)width
(int, default: 900): Image width in pixelsheight
(int, default: 450): Image height in pixelsbg_color
(string, default: "#f8fffe"): Background colorbar_color
(string, default: "#4ade80"): Bar colortitle
(string, optional): Chart title
Example Prompts:
- "Create a bar chart showing sales data: Q1=15000, Q2=18000, Q3=22000, Q4=17000 with title 'Quarterly Sales'."
- "Make a bar chart of programming languages: Python=45, JavaScript=38, Java=32, C++=28, Go=15."
Make Line Chart
<img src="media/line_chart.png">
Description: Creates a line chart visualization showing trends over time or relationships between variables.
Parameters:
puch_labels
(list of strings): Label strings for x-axispuch_values
(list of floats): Numeric values (same length as labels)width
(int, default: 900): Image width in pixelsheight
(int, default: 450): Image height in pixelsbg_color
(string, default: "#f8fffe"): Background colorline_color
(string, default: "#4ade80"): Line colortitle
(string, optional): Chart title
Example Prompts:
- "Show me a line chart of website traffic over the past 6 months: Jan=1200, Feb=1350, Mar=1100, Apr=1600, May=1850, Jun=2100."
- "Create a line chart showing temperature trends: Mon=22, Tue=24, Wed=19, Thu=25, Fri=27, Sat=23, Sun=21."
Make Pie Chart
<img src="media/pie.png">
Description: Generates a pie chart with modern styling, shadow effects, and detailed legend showing percentages and values.
Parameters:
labels
(list of strings): Category labels for the pie chartvalues
(list of floats): Numeric values for each categorytitle
(string, optional): Chart titlewidth
(int, default: 1000): Image width in pixelsheight
(int, default: 600): Image height in pixels
Example Prompts:
- "Create a pie chart showing budget allocation: Marketing=5000, Development=8000, Operations=3000, Sales=4000."
- "Make a pie chart of survey responses: Very Satisfied=45, Satisfied=32, Neutral=15, Dissatisfied=8."
Make Scatter Plot
<img src="media/scatter.png">
Description: Creates a scatter plot to visualize relationships between two numeric variables with optional categorization and custom styling.
Parameters:
x_values
(list of floats): X-coordinate valuesy_values
(list of floats): Y-coordinate values (same length as x_values)labels
(list of strings, optional): Point labelscategories
(list of strings, optional): Categories for color codingcolors
(list of strings, optional): Custom colors for each point (hex codes)width
(int, default: 900): Image width in pixelsheight
(int, default: 600): Image height in pixelsbg_color
(string, default: "#fafafa"): Background colorpoint_color
(string, default: "#4F46E5"): Default point colorpoint_size
(int, default: 6): Point radius in pixelstitle
(string, optional): Chart titlex_label
(string, optional): X-axis labely_label
(string, optional): Y-axis label
Example Prompts:
- "Create a scatter plot showing correlation between hours studied (x) and exam scores (y): study hours [2,4,6,8,10,12] and scores [65,72,78,85,90,95]."
- "Make a scatter plot of height vs weight data with categories for different age groups."
Medicine Information Provider
<img src="media/med.png">
Description: Retrieves information about any given medicine from Tata 1mg.
Parameters:
medicine_name
(string): Name of the medicine
Example Prompts:
- "Hey, the pharmacy gave me montelukast, is this the right medicine for allergies?"
User Preference Management
Get User Preference
<img src="media/pref_get.png">
Description: Retrieves user preferences or a specific preference value by key.
Parameters:
puch_user_id
(string): User IDkey
(string, optional): Specific preference key to retrieve
Example Prompts:
- "What's my favorite programming language?"
- "Show me all my saved preferences."
Save User Preference
<img src="media/pref_store.png"> <img src="media/memo_json.png">
Description: Saves user preferences, likes, interests, or any memorable information to persistent storage.
Parameters:
puch_user_id
(string): User IDkey
(string): Preference category or key (e.g., 'favorite_color')value
(string): Value to save under the given key
Example Prompts:
- "Remember that my favorite programming language is Python."
- "Save that I prefer coffee over tea in the mornings."
Task Management Tools
Add Todo
<img src="media/todo_set.png">
Description: Adds a new task to the user's TODO list with timestamp.
Parameters:
puch_user_id
(string): User IDtask
(string): The task or todo item text
Example Prompts:
- "Add 'Finish MCP documentation' to my todo list."
- "I need to remember to 'Call client about project proposal' - please add this to my tasks."
List Todos
<img src="media/todo_get.png">
Description: Retrieves and displays all TODO items for a user, sorted by creation date.
Parameters:
puch_user_id
(string): User ID
Example Prompts:
- "Show me all my current tasks and todos."
- "What's on my todo list right now?"
Delete Todo
<img src="media/todo_del.png">
<img src="media/todo_json.png">
Description: Removes a specific task from the user's TODO list by index number.
Parameters:
puch_user_id
(string): User IDindex
(int): The index number of the todo from list_todos (1-based)
Example Prompts:
- "Delete task number 3 from my todo list."
- "Remove the second item from my tasks."
NOTE
- Reddit Scraper: 80-second cooldown per user
- Other tools: No cooldown restrictions
- User data stored in
user_data.json
- Thread-safe file operations with locking
- Atomic write operations with temporary files
Setup Guide
Install uv
Assuming you have Python installed already.
uv
is a fast Python package installer and environment manager.
Install it with:
pip install uv
Run
Git clone the repo, populate the .env
file, navigate inside, and execute this:
uv run src/main.py
By default, it will run on port 8085.
Setup NGROK
1. Install ngrok
Download and install ngrok from:
https://ngrok.com/download
2. Get Your Authtoken
- Go to: https://dashboard.ngrok.com/get-started/your-authtoken
- Copy your authtoken.
- Run the following command to add your token:
ngrok config add-authtoken YOUR_AUTHTOKEN
- run
ngrok http 8085
- Copy the URL, and type
/mcp connect {copied url}/mcp AUTH_TOKEN
. The AUTH_TOKEN should be same as the one in.env
file, on puch.ai/hi
推荐服务器

Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。