Token导航 LogoToken导航TokenDH.com
Crm Chatbot MCP logo
办公协作stdio官方级别未说明来源级核验

Crm Chatbot MCP

MCP Server

企业级CRM智能聊天机器人,集成Claude AI,采用可扩展的FastAPI架构,适用于电子商务和客户关系管理场景。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
电子商务PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

aijogja

提供方

aijogja

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

CRM聊天机器人MCP - 可扩展的FastAPI架构

![Python](https://www.python.org/downloads/) ![FastAPI](https://fastapi.tiangolo.com/) ](https://www.docker.com/) ![License](LICENSE)

集成Claude AI的企业级CRM聊天机器人,采用可扩展的FastAPI架构构建

🎯 概述

CRM Chatbot MCP是一款集成了Claude AI的智能电商聊天机器人,其设计采用了可扩展的架构,以实现生产就绪的部署。

✨ 主要特点

  • 🤖 机器人 Claude AI集成 - 带有情感分析和意图检测的智能聊天
  • 🛍️ 表示购物或购物袋的意思,可以翻译为“购物”或“购物袋”。 已做好电子商务准备 - 产品目录、购物车、结账、订单追踪
  • 📊(表格/数据图表) CRM集成 - 客户管理、票务管理、数据分析
  • 🔄 旋转/循环 后台任务 - 异步处理以实现最佳性能
  • 🐳 表示“海豚”,也可以用来表达“出海”或“航海”的意思。 Docker 准备就绪 - 使用docker-compose实现全容器化
  • 📈 上涨趋势 可扩展架构 - 模块化设计,便于扩展
  • 🔐(锁形符号,常用于表示保密、安全或密码等含义) 生产就绪 - 安全最佳实践、健康检查、监控

📁 项目结构

crm-chatbot-mcp/
├── app/                        # Main application
│   ├── main.py                 # FastAPI entry point
│   ├── api/v1/                 # API endpoints (versioned)
│   │   ├── endpoints/          # Route handlers
│   │   │   ├── chat.py         # Chat endpoints
│   │   │   ├── products.py     # Product endpoints
│   │   │   ├── sessions.py     # Session management
│   │   │   ├── tools.py        # MCP tools
│   │   │   └── health.py       # Health checks
│   │   └── router.py           # Main router
│   ├── core/                   # Core functionality
│   │   ├── config.py           # Settings (Pydantic)
│   │   └── logging.py          # Logging setup
│   ├── schemas/                # Pydantic models
│   ├── services/               # Business logic
│   │   ├── chat_service.py     # Chat processing
│   │   ├── claude_service.py   # Claude AI
│   │   └── mcp_tools.py        # MCP tools
│   ├── integrations/           # External APIs
│   │   ├── crm.py              # CRM client
│   │   ├── n8n.py              # N8N workflows
│   │   └── product_api.py      # Product catalog
│   ├── db/                     # Database layer
│   │   ├── redis.py            # Redis client
│   │   └── session.py          # Session manager
│   └── tasks/                  # Background tasks
│       └── analytics.py        # Analytics logging
├── tests/                      # Test suite
├── scripts/                    # Utility scripts
├── Dockerfile                  # Docker image
├── docker-compose.yml          # Docker orchestration
├── Makefile                    # Common commands
└── requirements.txt            # Dependencies

🚀 快速入门

先决条件

  • Python 3.11及以上版本
  • Redis 7+(或 Redis 7及以上版本)
  • Docker & Docker Compose(可选)

选项1:Docker(推荐)🐳

# 1. Setup environment
cp .env.example .env
# Edit .env with your credentials

# 2. Start services
docker-compose up -d

# 3. View logs
docker-compose logs -f api

# 4. Test API
curl http://localhost:8000/api/v1/health

完成! API运行于http://localhost:8000

选项2:本地开发 💻

# 1. Clone repository
git clone 
cd crm-chatbot-mcp

# 2. Create virtual environment
python -m venv venv

# Windows:
.\venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate

# 3. Install dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt  # For testing

# 4. Setup environment
cp .env.example .env
# Edit .env with your credentials

# 5. Start Redis (in another terminal)
redis-server

# 6. Run application
python -m app.main
# or
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

选项3:使用Makefile

# Development mode
make dev

# Production mode
make run

# Docker
make docker-up

🔑 配置

环境变量在 .env:

# API Configuration
API_HOST=0.0.0.0
API_PORT=8000

# Redis
REDIS_URL=redis://localhost:6379/0
REDIS_SESSION_TTL=86400

# Claude API (⚠️ REQUIRED)
ANTHROPIC_API_KEY=sk-ant-xxx
CLAUDE_MODEL=claude-3-5-sonnet-latest
CLAUDE_MAX_TOKENS=4096

# External APIs
CRM_API_URL=https://your-crm.com/api/v1
CRM_API_KEY=your-crm-key
PRODUCT_API_URL=https://dummyjson.com/products
N8N_WEBHOOK_URL=http://localhost:5678/webhook

# Logging
LOG_LEVEL=INFO

📡 API 端点

基本URL: http://localhost:8000/api/v1

聊天

POST /api/v1/chat
{
  "user_id": "user123",
  "message": "Halo, saya ingin melihat produk laptop",
  "channel": "web"
}

产品

GET  /api/v1/products                      # List products
GET  /api/v1/products/{id}                 # Product detail
GET  /api/v1/products/categories           # Categories
GET  /api/v1/products/category/{category}  # By category

会议/时段

GET    /api/v1/session/{session_id}        # Get session
DELETE /api/v1/session/{session_id}        # Clear session

工具

POST /api/v1/tools/{tool_name}             # Call MCP tool

健康

GET /api/v1/health                         # Health check

📚 API 文档

启动应用程序后,访问:

  • Swagger UIhttp://localhost:8000/docs 翻译为中文是:“本地主机8000端口的文档页面”。不过,通常在技术语境中,我们可能会直接说“http://localhost:8000/docs”(即本地主机8000端口的文档页面),因为网址本身已经具有一定的可读性,不需要完全翻译成中文。但如果要给出一个更贴近中文表达习惯的描述,可以是上述翻译
  • ReDoc(注:这是一个专有名词,通常指一个用于自动生成API文档的工具或框架,直接翻译为“ReDoc”即可,无需额外解释其含义,除非上下文需要。)http://localhost:8000/redoc 翻译为中文是:“http://本地主机:8000/redoc” 或者更简洁地表达为 “本地8000端口的Redoc页面”。不过,在中文语境中,我们通常会直接保留网址的格式,因为网址本身具有国际通用性,翻译时更多是解释其含义而非直接转换语言。所以,也可以直接说这个网址指向的是“本地8000端口的Redoc文档界面”

你可以:

  • ✅ 查看所有终端节点
  • ✅ 直接在浏览器中测试API
  • ✅ 查看请求/响应模式

🏗️ 建筑学

分层架构

  1. API层app/api/v1/endpoints/) - HTTP请求/响应处理
  2. 服务层 (app/services/) - 业务逻辑
  3. 集成层 (app/integrations/外部API客户端
  4. 数据库层 (app/db/- 数据持久性

请求流程

HTTP Request
    ↓
API Endpoint (validation)
    ↓
Service Layer (business logic)
    ↓
Integration Layer (external APIs)
    ↓
Database Layer (persistence)
    ↓
HTTP Response

关键设计模式

  • 依赖注入 - FastAPI依赖注入,打造简洁代码
  • ✅ 表示“正确”或“确认”。 仓储模式(或存储库模式) - 数据库抽象
  • ✅(对号,表示正确、确认或同意) 服务模式 - 业务逻辑分离
  • 工厂模式 - 客户端实例化
  • 单例模式 - 共享资源

后台任务

异步处理用于:

  • 分析日志记录
  • 通知
  • 个人资料更新
  • 工作流触发器

🧪 测试

安装测试依赖项

pip install -r requirements-dev.txt

运行测试

# Run all tests
pytest

# With coverage
pytest --cov=app tests/

# Specific test
pytest tests/test_api/test_chat.py

# Verbose
pytest -v

# Alternative: Use Python module
python -m pytest
python -m pytest --cov=app tests/

🐳 Docker 部署

(本地)开发

# Start all services with hot reload
docker-compose up

# Start in background
docker-compose up -d

# View logs
docker-compose logs -f api

# Restart
docker-compose restart api
# Build
docker-compose build

# Deploy
docker-compose up -d

# Scale
docker-compose up -d --scale api=3

服务

  • APIFastAPI 应用程序(端口 8000)
  • Redis(发音:/ˈriːdɪs/)缓存与会话存储(端口6379)
  • Redis Commander(可译为“Redis管理器”或保持原名,根据上下文决定是否直译)Redis 图形用户界面(端口 8081)- 可选

开始使用 Redis Commander:

docker-compose --profile tools up -d

📊 监控

健康检查

curl http://localhost:8000/api/v1/health

预期响应:

{
  "status": "healthy",
  "timestamp": "2024-01-01T00:00:00",
  "redis": "connected"
}

日志

# Application logs
docker-compose logs -f api

# Redis logs
docker-compose logs -f redis

# All logs
docker-compose logs -f

# Last 100 lines
docker-compose logs --tail=100 api

指标

  • 请求延迟
  • 错误率
  • Redis 连接状态
  • 后台任务队列

🔐 安全

  • ✅ 用于秘密的环境变量
  • ✅ 对所有输入进行Pydantic验证
  • ✅ CORS 配置
  • ✅ 不使用硬编码凭证
  • ✅ Docker 安全最佳实践
  • ✅ 健康检查与监控

🚀 性能

  • ✅ 全程使用 Async/await
  • ✅ Redis 缓存
  • ✅ 背景任务处理
  • ✅ 连接池
  • ✅ 多阶段Docker构建
  • ✅ 准备好进行水平扩展

📈 可扩展性

水平扩展

# Scale API instances
docker-compose up -d --scale api=5

# Add load balancer (nginx/traefik)

垂直扩展(或垂直缩放)

# Resource limits in docker-compose.yml
deploy:
  resources:
    limits:
      cpus: '2'
      memory: 1G

🛠️ 开发

添加新端点

  1. 在(数据库/系统)中创建模式 app/schemas/
  2. 在(某处)创建服务 app/services/
  3. 在(某处)创建端点 app/api/v1/endpoints/
  4. 注册于 app/api/v1/router.py
  5. 编写测试

添加新集成

  1. 创建客户端于 app/integrations/
  2. 添加配置到 app/core/config.py
  3. 在服务层中使用
  4. 编写集成测试

🐛 故障排除

Redis 连接错误

# Check Redis running
redis-cli ping

# Or start Redis with Docker
docker run -d -p 6379:6379 redis:7-alpine

端口已被占用

# Windows - Find process on port 8000
netstat -ano | findstr :8000
taskkill /PID 
 /F

# Linux/Mac
lsof -i :8000
kill -9 

# Or change port in .env
API_PORT=8001

Docker 问题

# Rebuild containers
docker-compose down
docker-compose build --no-cache
docker-compose up -d

# Check logs
docker-compose logs -f

# Clean everything
docker-compose down -v
docker system prune -f

导入错误

# Make sure you're in project root
cd crm-chatbot-mcp

# Reinstall dependencies
pip install -r requirements.txt

# Run from project root
python -m app.main

💡 小贴士

  1. 使用 Docker 为了保持一致性
  2. 检查日志 当出现错误时
  3. 阅读API文档 在/docs目录下
  4. 测试端点 使用curl或Postman
  5. 遵循结构 随时添加功能
  6. 使用后台任务 对于缓慢的操作
  7. 确保 .env 文件的安全 - 永远不要向git提交

🤝 贡献(或“参与贡献”)

  1. 克隆仓库
  2. 创建特性分支
  3. 遵循编码规范
  4. 编写测试
  5. 提交拉取请求

📝 许可证

麻省理工学院许可证(MIT License)

👥 团队

  • 发展您的团队
  • 维护者你的名字
  • 联系your-email@example.com(中文可表述为:示例邮箱:your-email@example.com,但通常直接保留原格式,不翻译邮箱地址本身)

🙏 致谢

  • FastAPI框架
  • Anthropic的Claude人工智能
  • Redis(注:Redis是一个开源的、基于内存的键值对存储系统,常用于数据库缓存、消息队列等场景,此处仅翻译为“Redis”,不添加额外解释,除非原文有特殊要求)
  • Docker

📞 支持

  • 问题GitHub 问题(或:GitHub 问题跟踪)
  • 电子邮件support@example.com(注:这是一封电子邮件地址,直接翻译为中文即保持原样,意为“支持@示例.com”,实际使用中无需翻译,直接使用即可。)

______________________________________________________________________

使用FastAPI和Claude AI构建,倾注爱心

🗺️ 路线图

  • \[ \] 支持WebSocket的实时聊天
  • GraphQL API
  • \[ \] 管理员仪表盘
  • \[ \] 高级分析
  • \[ \] 多语言支持
  • \[ \] 语音集成
  • \[ \] 移动SDK

______________________________________________________________________

版本1.0.0\ 最后更新时间2024年1月1日

目录标签

目录标签

电子商务PythonClaudeCRM本地部署智能聊天机器人FastAPIClaudeAI

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP