Token导航 LogoToken导航TokenDH.com
ubereats MCP server logo
AI代理stdio官方级别未说明来源级核验

ubereats MCP server

MCP Server

@modelcontextprotocol/inspector

一个现代化的、生产就绪的UberEats自动化模型上下文协议(MCP)服务器,具有TypeScript实现、Redis会话管理和企业级安全功能。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
会话管理TypeScriptClaude性能优化Claude DesktopClaude

安装说明

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

作者 / 组织

matr1xp

提供方

matr1xp

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

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

命令预览

npx @modelcontextprotocol/inspector dist/index.js

详细介绍

UberEats MCP服务器增强

用于UberEats自动化的现代、生产就绪的模型上下文协议(MCP)服务器,使用TypeScript、Redis和企业级安全功能构建。

🚀 特性

核心功能

  • MCP协议合规性:带有工具、资源和提示的本地MCP服务器
  • 会话管理:Redis支持的JWT身份验证会话
  • n8n集成:与断路器无缝协调工作流程
  • 类型安全:具有严格模式的完整TypeScript实现
  • 安全:输入验证、速率限制、加密和审计日志记录

性能和可扩展性

  • 水平缩放:使用Redis会话存储的无状态设计
  • 断路器:外部服务的容错
  • 连接池:高效的资源管理
  • 缓存:基于Redis的缓存可实现最佳性能
  • 监控:内置健康检查和指标

开发者体验

  • 热重新加载:具有自动重启功能的开发模式
  • 综合录井:使用pino进行结构化日志记录
  • 错误处理:集中错误管理
  • 代码质量:ESLint、Prettier和TypeScript严格模式
  • 文档:完整的API文档和示例

📋 先决条件

  • Node.js 20.0.0或更高版本
  • Redis 7.0或更高版本
  • n8n工作流自动化平台
  • Docker(可选,用于容器化部署)

🛠 安装

方案1:地方发展

# Clone the repository
cd ubereats_mcp_server_enhanced

# Install dependencies
npm install

# Copy environment configuration
cp .env.example .env

# Edit configuration
nano .env

# Build the project
npm run build

# Start Redis (if not running)
redis-server

# Start the server
npm start

选项2:Docker部署

# Copy environment configuration
cp .env.example .env

# Edit configuration for production
nano .env

# Start all services
docker-compose up -d

# View logs
docker-compose logs -f ubereats-mcp

⚙️ 配置

环境变量

创建一个 .env 文件基于 .env.example:

# Security (REQUIRED for production)
JWT_SECRET=your-super-secure-jwt-secret-key-change-in-production
SESSION_SECRET=your-session-secret-key-change-in-production
ENCRYPTION_KEY=your-32-character-encryption-key-change-this

# Redis Configuration
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0

# n8n Integration
N8N_BASE_URL=http://localhost:5678
N8N_API_KEY=

# Server Configuration
NODE_ENV=production
PORT=5001
LOG_LEVEL=info

MCP客户端配置

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "ubereats": {
      "command": "node",
      "args": ["/path/to/ubereats_mcp_server_enhanced/dist/index.js"],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

🔧 用法

MCP工具

登录工具

{
  "name": "ubereats_login",
  "arguments": {
    "username": "user@example.com",
    "password": "password",
    "manualMode": false
  }
}

添加项目工具

{
  "name": "ubereats_add_items",
  "arguments": {
    "sessionId": "session-uuid",
    "restaurantName": "McDonald's",
    "items": [
      {
        "name": "Big Mac",
        "quantity": 2,
        "options": {
          "size": "large",
          "extras": ["cheese"]
        }
      }
    ]
  }
}

设置地址工具

{
  "name": "ubereats_set_address",
  "arguments": {
    "sessionId": "session-uuid",
    "address": {
      "street": "123 Main St",
      "city": "Anytown",
      "state": "CA",
      "zipCode": "90210"
    }
  }
}

结账工具

{
  "name": "ubereats_checkout",
  "arguments": {
    "sessionId": "session-uuid",
    "paymentMethodId": "saved_card_123",
    "tipAmount": 5.00
  }
}

MCP资源

健康检查

URI: ubereats://health

返回服务器健康状态、系统指标和服务可用性。

会话信息

URI: ubereats://sessions

返回有关活动会话和会话计数的信息。

提示

快速下单

{
  "name": "quick_order",
  "arguments": {
    "restaurant": "Pizza Hut",
    "items": "Large pepperoni pizza, 2 liter Coke",
    "address": "123 Main St, Anytown, CA 90210"
  }
}

🏗 建筑

系统概述

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   MCP Client    │◄──►│   MCP Server    │◄──►│   Redis Cache   │
│   (Claude)      │    │  (TypeScript)   │    │   (Sessions)    │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                                │
                                ▼
                       ┌─────────────────┐    ┌─────────────────┐
                       │   n8n Server    │◄──►│   Playwright    │
                       │  (Workflows)    │    │  (Browser)      │
                       └─────────────────┘    └─────────────────┘

组件详细信息

  • MCP服务器:实现MCP协议的TypeScript服务器
  • 会话服务:使用JWT进行Redis支持的会话管理
  • n8n服务:使用断路器进行工作流编排
  • 工具:UberEats运营的MCP工具
  • 资源:用于监控的信息端点
  • 提示:预定义的交互模板

🔒 安全功能

身份验证和授权

  • 基于JWT令牌的会话管理
  • 所有受保护操作的会话验证
  • 使用Redis TTL实现安全会话存储

输入验证

  • 对所有输入进行Zod模式验证
  • XSS保护和消毒
  • SQL注入防御(Redis NoSQL)

速率限制

  • 每终点速率限制
  • 全球利率限制
  • 可配置的限制和窗口

数据保护

  • 敏感数据的AES-256加密
  • 安全的cookie处理
  • 从日志和存储中排除密码

监控与审计

  • 全面的审计日志记录
  • 安全事件跟踪
  • 性能监控

📊 监测和可观察性

健康检查

# Check server health
curl http://localhost:5001/health

# Docker health check
docker-compose ps

日志记录

  • 使用pino进行结构化JSON日志记录
  • 可配置的日志级别
  • 带有敏感数据编辑的请求/响应日志记录

指标

  • Redis连接健康状况
  • n8n服务可用性
  • 断路器状态
  • 会话统计信息

🧪 测试

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Run tests in watch mode
npm run test:watch

# Lint code
npm run lint

# Format code
npm run format

# Type check
npm run type-check

MCP检查员

MCP检查器是一个功能强大的调试工具,允许您直接测试和与MCP服务器交互。它提供了一个基于网络的界面,用于:

  • 使用自定义参数测试MCP工具
  • 查看可用资源和提示
  • 监控服务器响应和错误
  • 验证MCP协议合规性

运行MCP检查器

# Build the project first
npm run build

# Start the MCP Inspector
npm run inspector

# Or run directly with npx
npx @modelcontextprotocol/inspector dist/index.js

这将启动一个web界面(通常在 http://localhost:5173)您可以在哪里:

  1. 测试工具:使用自定义参数调用任何已注册的工具(登录、add_items、set_address、checkout)
  2. 查看资源:访问健康检查和会话信息资源
  3. 测试提示:尝试使用不同参数的快速排序和重新排序提示
  4. 调试问题:请参阅详细的请求/响应日志和错误消息

检查器使用提示

  • 环境设置:在测试工具之前,确保Redis和n8n正在运行
  • 工具测试:从登录工具开始建立会话,然后测试其他工具
  • 调试错误:检查检查器控制台以获取详细的错误消息
  • 架构验证:检查器自动验证输入模式

检查器对于开发和调试至关重要,它允许您独立于Claude Code集成来测试MCP服务器。

🚀 部署

生产部署

  1. 环境设置
# Set production environment variables
export NODE_ENV=production
export JWT_SECRET="your-production-jwt-secret"
export SESSION_SECRET="your-production-session-secret"
export ENCRYPTION_KEY="your-production-encryption-key"
  1. 数据库设置
# Start Redis
docker run -d --name redis -p 6379:6379 redis:7-alpine

# Or use managed Redis (AWS ElastiCache, etc.)
  1. 应用程序部署
# Build application
npm run build

# Start with PM2 (recommended)
pm2 start dist/index.js --name ubereats-mcp

# Or use Docker
docker-compose up -d

Kubernetes部署

k8s/ Kubernetes清单目录(即将推出)。

🐛 故障排除

常见问题

服务器无法启动

# Check Node.js version
node --version  # Should be >= 20.0.0

# Check environment variables
npm run check-env

# Check Redis connection
redis-cli ping

身份验证错误

# Verify JWT secret is set
echo $JWT_SECRET

# Check session in Redis
redis-cli get "ubereats:session:your-session-id"

n8n集成问题

# Test n8n connectivity
curl http://localhost:5678/health

# Check circuit breaker status
curl http://localhost:5001/api/circuit-breakers

调试模式

# Enable debug logging
export LOG_LEVEL=debug
export ENABLE_DEBUG=true

# Start server
npm run dev

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature/amazing-feature
  3. 提交更改: git commit -m 'Add amazing feature'
  4. 推送到分支: git push origin feature/amazing-feature
  5. 打开拉取请求

开发指南

  • 遵循TypeScript严格模式
  • 为新功能编写测试
  • 更新文档
  • 使用常规提交
  • 确保代码通过linting

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

📞 支持

______________________________________________________________________

备注:这是基于Flask的原始UberEats MCP服务器的增强版本,用现代技术和企业级功能重建。

目录标签

目录标签

会话管理TypeScriptClaude性能优化MCP协议本地部署n8n集成Redis安全功能

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP