返回市场
推送AI WhatsApp集成MCP服务器

推送AI WhatsApp集成MCP服务器

作者:alok-ahirrao2 星标更新:2025-08-12

项目介绍

Puch AI - WhatsApp 集成 MCP 服务器 🚀

此仓库包含 MCP(多能力提供者)服务器 的源代码,这是一个强大的后端服务,旨在连接 Puch AI 和外部服务,如 WhatsApp、网络内容抓取和产品搜索。它充当工具中心,使 AI 能够执行现实世界中的复杂任务。

图像结果

输出 1

输出 WhatsApp

输出 2

输出 WhatsApp

✨ 概览

Puch AI 是一个智能助手,能够自动化任务并检索信息。此 MCP 服务器通过提供一个安全且经过身份验证的 API 端点来扩展其功能,Puch AI 可以调用该端点来执行特定的“工具”。

此服务器使 Puch AI 能够:

  • 🌐 抓取网络内容:从互联网上的任何 URL 抓取和处理信息。
  • 🛒 搜索产品:使用 Google 购物进行实时产品搜索,为用户提供最新的推荐。
  • 📱 集成 WhatsApp:服务器架构设计为完整的 WhatsApp 集成的骨干。

🏗️ 工作原理

服务器提供了一个单一的强大 API 端点,接受运行特定工具的请求及其参数。流程如下:

  1. Puch AI 接收到用户提示(例如,“给我找一台价格在 1000 美元以下的好笔记本电脑”)。
  2. Puch AI 确定需要一个工具(例如,search_for_products)。
  3. Puch AI 发送一个 POST 请求到此 MCP 服务器的 /mcp/ 端点,指定 tool_namearguments
  4. MCP 服务器验证请求使用 Bearer Token。
  5. 服务器执行请求的工具(例如,调用 SerpApi 获取产品结果)。
  6. 服务器格式化并返回结果给 Puch AI,以结构化的 JSON 格式。
  7. Puch AI 使用这些信息来制定自然语言响应给用户。

🔧 安装与设置

按照以下步骤在本地机器上运行 MCP 服务器。

先决条件

  • Python 3.11+
  • pip(Python 包管理器)
  • Git

分步指南

  1. 克隆仓库 打开终端并克隆仓库到本地机器。

    git clone https://github.com/alok-ahirrao/Puch-AI-WhatsApp-Integration-MCP-Server.git
    cd Puch-A
    
  2. 创建虚拟环境(推荐) 创建虚拟环境是最佳实践,用于管理项目依赖项。

    # 对于 macOS/Linux
    python3 -m venv venv
    source venv/bin/activate
    
    # 对于 Windows
    python -m venv venv
    .\venv\Scripts\activate
    
  3. 安装依赖项requirements.txt 文件中安装所有必需的 Python 包。

    pip install -r requirements.txt
    
  4. 创建并配置 .env 文件 在项目的根目录下创建一个名为 .env 的文件。此文件将存储您的密钥和配置变量。复制以下内容并替换占位符值。

    # 从 https://serpapi.com/ 获取您的 API 密钥
    SERPAPI_API_KEY=YOUR_SERPAPI_API_KEY
    
    # 您的 WhatsApp 手机号码(例如,919876543210)
    MY_NUMBER=YOUR_PHONE_NUMBER
    
    # 用于认证 API 请求的强密钥
    TOKEN=YOUR_SECURE_BEARER_TOKEN
    
  5. 运行服务器 使用 Uvicorn 启动 FastAPI 服务器。

    python main.py
    

    服务器现在应该在 http://127.0.0.1:8085 运行。


MCP 服务器设置说明

按照以下说明设置您的 MCP 服务器并完成应用程序过程。

  1. 获取应用密钥:

    使用提供的启动代码启动本地 MCP 服务器。运行 /apply <TWITTER/LINKEDIN 回复 URL> 后,您将获得一个应用密钥。

  2. 创建 MCP 服务器:

    现在您需要使用此 gist 中提供的启动代码创建一个 MCP 服务器以提交简历。

  3. 连接 Puch 到您的 MCP 服务器:

    使用以下命令将 Puch 与您的 MCP 服务器连接起来:/mcp connect <SERVER URL(应公开可访问)>/mcp <AUTH TOKEN>

  4. 验证认证令牌和电话号码:

    Puch 将针对您的认证令牌(应用密钥)和电话号码进行验证检查。验证需要密钥和您的电话号码,格式为 {国家代码}{号码} — 不带 + 符号。例如:919876543210 为印度号码。

  5. 创建简历工具:

    将您的简历输入 Puch:创建一个工具,将您的简历发送到适合 LLM 的格式。

    • 简历工具要求:您的服务器必须包括一个简历工具,该工具:
      • 接受本地文件(您的简历)。
      • 将其转换为 Markdown 文本。
      • 将数据作为字符串提交到 Puch AI MCP 端点。
  6. 设置 ngrok 服务器:

    要使您的本地服务器公开可访问,您可以使用 ngrok。运行以下命令:ngrok http 8085


🔑 认证

所有对 /mcp/ 端点的请求都必须使用 Bearer Token 进行认证。在请求的 Authorization 头中包含令牌。

Authorization: Bearer YOUR_SECURE_BEARER_TOKEN

YOUR_SECURE_BEARER_TOKEN 替换为您在 .env 文件中设置的 TOKEN 值。缺少或无效的令牌会导致 401 Unauthorized 错误。


🛠️ 可用工具

服务器通过一组工具暴露其功能。您可以通过向 /mcp/ 端点发送 POST 请求来调用工具。

fetch

抓取并解析给定 URL 的文本内容。这适用于总结文章、提取数据或阅读文档。

参数:

参数类型必需默认描述
url字符串N/A要抓取的网页的完整 URL。
max_length整数5000返回的最大字符数。
start_index整数0开始提取内容的字符索引。对于分页很有用。
raw布尔值False如果 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": "人工智能(AI)是指机器或软件的智能,而不是生物体的智能,主要是人类的智能。它是计算机科学的一个领域,研究和发展智能机器。这样的机器可能被称为AI。"
}

search_for_products

基于查询搜索 Google 购物的产品,使用 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": "无线降噪耳机"
    }
}'

示例响应:

{
  "search_results": [
    {
      "position": 1,
      "title": "索尼 WH-1000XM5 无线降噪耳机",
      "price": "$399.99",
      "extracted_price": 399.99,
      "link": "https://www.bestbuy.com/...",
      "source": "百思买",
      "rating": 4.7,
      "reviews": 1250,
      "thumbnail": "https://i5.walmartimages.com/..."
    },
    {
      "position": 2,
      "title": "Bose QuietComfort 45 耳机",
      "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 商业 API 发送回复。
  • 支持更多工具:添加新工具以支持其他功能,如:
    • 发送电子邮件。
    • 管理日历事件。
    • 与其他第三方 API 交互(例如,Spotify、Google 地图)。
  • 互动消息:利用 WhatsApp 的互动消息组件(如按钮和列表)以提供更丰富的用户体验。
  • 增强错误处理:为调用 AI 提供更详细的错误消息。

🤝 贡献

贡献使得开源社区成为一个学习、启发和创造的绝佳场所。您所做的任何贡献都是 非常宝贵的

  1. 分叉项目
  2. 创建您的功能分支git checkout -b feature/AmazingFeature
  3. 提交更改git commit -m '添加一些AmazingFeature'
  4. 推送到分支git push origin feature/AmazingFeature
  5. 打开拉取请求

如果您发现错误或有建议,请随时打开一个问题。


📜 许可

版权所有 © 2025, Alok Ahirrao

根据 知识共享署名-非商业性使用 4.0 国际许可协议 许可。您只能出于个人或教育目的使用或修改此项目。商业用途需要明确许可。

如有疑问,请联系 alokahirrao.ai@gmail.com