Puch AI-WhatsApp集成MCP服务器🚀
此存储库包含 MCP(多功能提供商)服务器,一个强大的后端服务,旨在桥接 Puch AI 通过WhatsApp、网络内容获取和产品搜索等外部服务。它充当一个工具中心,允许人工智能在现实世界中执行复杂的任务。
图像结果
输出1
产出2
✨ 概述
Puch AI是一种能够自动化任务和检索信息的智能助手。该MCP服务器通过提供一个安全、经过验证的API端点来扩展其功能,Puch AI可以调用该端点来执行特定的“工具”
该服务器使Puch AI能够:
- 🌐 获取Web内容:从互联网上的任何URL中抓取和处理信息。
- 🛒 搜索产品:使用Google Shopping进行实时产品搜索,为用户提供最新建议。
- 📱 与WhatsApp集成:该服务器的架构是完整的WhatsApp集成的支柱。
______________________________________________________________________
🏗️ 运作原理
服务器提供了一个单一的、功能强大的API端点,该端点接受使用给定参数运行特定工具的请求。工艺流程如下:
- Puch AI收到用户提示 (例如,“给我找一台1000美元以下的好笔记本电脑”)。
- Puch AI确定需要工具 (例如。,
search_for_products). - Puch AI发送POST请求 此MCP服务器的
/mcp/端点,指定tool_name和arguments. - MCP服务器对请求进行身份验证 使用承载令牌。
- 服务器执行请求的工具 (例如,调用SerpApi以获取产品结果)。
- 服务器格式化并返回结果 以结构化JSON格式传输到Puch AI。
- Puch AI使用这些信息 为用户制定自然语言响应。
______________________________________________________________________
🔧 安装和设置
按照以下步骤使MCP服务器在本地计算机上运行。
先决条件
- Python 3.11+
- 点 (Python包安装程序)
- Git
分步指南
- 克隆存储库
打开终端并将存储库克隆到本地计算机。
git clone https://github.com/alok-ahirrao/Puch-AI-WhatsApp-Integration-MCP-Server.git
cd Puch-AI-WhatsApp-Integration-MCP-Server- 创建虚拟环境(推荐)
最好的做法是创建一个虚拟环境来管理项目依赖关系。
# For macOS/Linux
python3 -m venv venv
source venv/bin/activate
# For Windows
python -m venv venv
.\venv\Scripts\activate- 再进行
从以下位置安装所有必需的Python包 requirements.txt 文件。
pip install -r requirements.txt- 创建和配置
.env文件
创建一个名为的文件 .env 在项目的根目录中。此文件将存储您的密钥和配置变量。复制以下内容并替换占位符值。
# Get your API key from https://serpapi.com/
SERPAPI_API_KEY=YOUR_SERPAPI_API_KEY
# Your WhatsApp phone number (e.g., 919876543210)
MY_NUMBER=YOUR_PHONE_NUMBER
# A strong, secret token for authenticating API requests
TOKEN=YOUR_SECURE_BEARER_TOKEN- 运行服务器
使用Uvicorn启动FastAPI服务器。
python main.py服务器现在应该在以下位置运行 http://127.0.0.1:8085.
______________________________________________________________________
MCP服务器设置说明
按照以下说明设置MCP服务器并完成申请过程。
- 获取应用程序密钥:
使用提供的启动代码启动本地MCP服务器。运行后 /apply ,您将获得一个应用程序密钥。
- 创建MCP服务器:
现在,您需要使用本要点中给出的启动代码创建一个MCP服务器来提交简历。
- 将Puch连接到您的MCP服务器:
使用此命令将Puch与您的MCP服务器连接: /mcp connect /mcp
- 验证身份验证令牌和电话号码:
Puch将对您的Auth令牌(应用程序密钥)和电话号码进行验证检查。验证需要密钥和电话号码,格式为{country_code}{number},不带+符号。例如:919876543210代表一个印度号码。
- 创建简历工具:
将简历发送给Puch:创建一个工具,以适合LLM的格式发送简历。
- 简历工具要求:您的服务器必须包含一个简历工具,该工具: - 接受本地文件(您的简历)。 - 将其转换为markdown文本 - 将数据以字符串形式提交给Puch AI MCP端点。
- 设置ngrok服务器:
要使您的本地服务器可公开访问,您可以使用ngrok。运行以下命令: ngrok http 8085
______________________________________________________________________
🔑 认证
所有请求 /mcp/ 必须使用 承载令牌。将令牌包含在 Authorization 您的请求的标题。
Authorization: Bearer YOUR_SECURE_BEARER_TOKEN
替换 YOUR_SECURE_BEARER_TOKEN 根据您设置的值 TOKEN 在你的 .env 文件。带有丢失或无效令牌的请求将导致 401 Unauthorized 错误。
______________________________________________________________________
🛠️ 可用工具
服务器通过一组工具公开其功能。您可以通过向发送POST请求来调用工具 /mcp/ 终点。
fetch
获取并解析给定URL的文本内容。这对于总结文章、提取数据或阅读文档非常有用。
参数:
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
url | 字符串 | 是 | N/A | 要获取的网页的完整URL。 |
max_length | integer | 否 | 5000 | 要返回的最大字符数。 |
start_index | integer | 否 | 0 | 从中开始提取内容的字符索引。可用于分页。 |
raw | boolean | 否 | 假 | 如果 true,返回原始HTML。如果 false,返回已清理的文本内容。 |
示例请求(curl):
curl -X POST http://127.0.0.1:8085/mcp/ \
-H "Authorization: Bearer YOUR_SECURE_BEARER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tool_name": "fetch",
"arguments": {
"url": "https://en.wikipedia.org/wiki/Artificial_intelligence",
"max_length": 250
}
}'示例响应:
{
"content": "Artificial intelligence (AI) is the intelligence of machines or software, as opposed to the intelligence of living beings, primarily of humans. It is a field of computer science that develops and studies intelligent machines. Such machines may be called AIs."
}search_for_products
使用SerpApi服务,根据查询在谷歌购物中搜索产品。
参数:
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
query | 字符串 | 是 | N/A | 产品的描述性搜索查询。 |
示例请求(curl):
curl -X POST http://127.0.0.1:8085/mcp/ \
-H "Authorization: Bearer YOUR_SECURE_BEARER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tool_name": "search_for_products",
"arguments": {
"query": "wireless noise cancelling headphones"
}
}'示例响应:
{
"search_results": [
{
"position": 1,
"title": "Sony WH-1000XM5 Wireless Noise-Canceling Over-the-Ear Headphones",
"price": "$399.99",
"extracted_price": 399.99,
"link": "https://www.bestbuy.com/...",
"source": "Best Buy",
"rating": 4.7,
"reviews": 1250,
"thumbnail": "https://i5.walmartimages.com/..."
},
{
"position": 2,
"title": "Bose QuietComfort 45 headphones",
"price": "$329.00",
"extracted_price": 329,
"link": "https://www.bose.com/...",
"source": "Bose",
"rating": 4.6,
"reviews": 890,
"thumbnail": "https://assets.bose.com/..."
}
]
}______________________________________________________________________
🗺️ 路线图和未来发展
此服务器是为扩展而设计的。未来的计划包括:
- 完整的双向WhatsApp集成:实现webhook端点,在WhatsApp上接收来自用户的消息,并通过WhatsApp Business API发送回复的机制。
- 支持更多工具:为以下功能添加新工具:
- 发送电子邮件。 - 管理日历事件。 - 与其他第三方API(如Spotify、谷歌地图)交互。
- 交互式消息:利用WhatsApp的交互式消息组件,如按钮和列表,以获得更丰富的用户体验。
- 增强的错误处理:向调用AI提供更具描述性的错误消息。
______________________________________________________________________
🤝 贡献
贡献使开源社区成为一个学习、激励和创造的好地方。你所做的任何贡献都是 非常感谢.
- 分叉项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交您的更改 (
git commit -m 'Add some AmazingFeature') - 推到分支机构 (
git push origin feature/AmazingFeature) - 打开拉取请求
如果您发现错误或有建议,请随时打开问题。
______________________________________________________________________
📜 许可证
版权所有©2025,阿洛克·亚希劳
根据 知识共享署名-非商业4.0国际许可。您只能出于个人或教育目的使用或修改此项目。商业用途需要明确许可。
如有疑问,请联系 alokahirrao.ai@gmail.com.
