Mcp Uber

Mcp Uber

🚀 MCP优步服务器

这是一个MCP(模型上下文协议)服务器,用于通过AI助手预订优步(Uber)出行服务。它能帮助开发者轻松集成优步的叫车功能到自己的AI应用中,为用户提供便捷的出行预订体验。

✨ 主要特性

  • 支持与优步的OAuth 2.0认证。
  • 获取出行价格预估。
  • 发起优步出行请求。
  • 查看出行状态。
  • 取消出行请求。

📦 安装指南

使用npm(全局安装)

npm install -g mcp-uber

使用npx(无需安装)

npx mcp-uber

🚀 快速开始

步骤1:创建优步开发者账户

  1. 访问 优步开发者控制台
  2. 点击“登录”,你可以选择:
    • 使用现有的优步乘客/司机账户。
    • 创建一个专门用于开发的新账户。

💡 使用建议

对于企业用户,建议创建一个邮件别名(例如,dev@yourcompany.com),而不是使用个人账户,这样便于所有权的转移。

步骤2:创建新应用

  1. 开发者控制台 中,点击右上角的“创建应用”。
  2. 填写所需信息:
    • 应用名称:你的应用名称。
    • 描述:简要描述你的应用功能。
  3. 点击“创建”。

步骤3:获取API凭证

  1. 在控制台中导航到你的应用。
  2. 转到“认证”标签页。
  3. 你将找到:
    • 客户端ID:你的应用的公共标识符。
    • 客户端密钥:私钥(请妥善保管!)。
    • 服务器令牌:用于服务器端请求。

步骤4:配置OAuth设置

  1. 在“认证”标签页中,添加你的重定向URI:
    • 本地测试:http://localhost:3000/callback
    • 生产环境:你的实际回调URL。
  2. 选择所需的权限范围:
    • profile - 用户的基本个人资料信息。
    • request - 代表用户请求出行。
    • ride_request - 查看和管理活跃的出行请求。

⚠️ 重要提示

request 权限范围是特权范围,生产环境使用需要优步的批准。在开发过程中,你的账户可以无需批准使用该权限。

步骤5:设置环境变量

创建包含你的凭证的环境变量(请参阅下面的配置部分)。

💻 使用示例

与Claude Desktop配合使用

使用npm(全局安装)

将以下内容添加到你的Claude Desktop配置文件(~/Library/Application Support/Claude/claude_desktop_config.json)中:

{
"mcpServers": {
"uber": {
"command": "mcp-uber",
"env": {
"UBER_CLIENT_ID": "your_client_id",
"UBER_CLIENT_SECRET": "your_client_secret",
"UBER_REDIRECT_URI": "http://localhost:3000/callback",
"UBER_ENVIRONMENT": "sandbox"
}
}
}
}

使用npx

将以下内容添加到你的Claude Desktop配置文件中:

{
"mcpServers": {
"uber": {
"command": "npx",
"args": ["mcp-uber"],
"env": {
"UBER_CLIENT_ID": "your_client_id",
"UBER_CLIENT_SECRET": "your_client_secret",
"UBER_REDIRECT_URI": "http://localhost:3000/callback",
"UBER_ENVIRONMENT": "sandbox"
}
}
}
}

可用工具

  1. uber_get_auth_url - 获取OAuth授权URL。
  2. uber_set_access_token - 设置用户的访问令牌。
  3. uber_get_price_estimates - 获取出行价格预估。
  4. uber_request_ride - 发起优步出行请求。
  5. uber_get_ride_status - 查看出行请求状态。
  6. uber_cancel_ride - 取消出行请求。

OAuth流程

  1. 使用 uber_get_auth_url 获取授权URL。
  2. 用户访问该URL并授权你的应用。
  3. 回调后,用授权码换取访问令牌。
  4. 使用 uber_set_access_token 存储令牌。
  5. 现在你可以进行API调用。

📚 详细文档

配置

环境变量

MCP服务器需要以下环境变量:

属性 详情
UBER_CLIENT_ID 你的优步应用客户端ID
UBER_CLIENT_SECRET 你的优步应用客户端密钥
UBER_REDIRECT_URI OAuth回调URL(默认:http://localhost:3000/callback
UBER_ENVIRONMENT 可以是 sandboxproduction(默认:sandbox

测试集成

  1. 使用沙盒模式进行测试

    • 在你的环境中设置 UBER_ENVIRONMENT=sandbox
    • 沙盒模式模拟出行请求,无需真实司机。
    • 非常适合开发和测试。
  2. 测试OAuth流程

    • 使用 uber_get_auth_url 工具获取授权URL。
    • 访问该URL并授权你的应用。
    • 授权后,优步将使用授权码重定向到你的回调URL。
    • 用授权码换取访问令牌(你需要设置自己的回调处理程序)。
    • 使用 uber_set_access_token 将令牌存储在MCP服务器中。
  3. 设置回调处理程序

    • 测试时,你可以使用一个简单的Express服务器(请参阅 GitHub仓库 中的 examples/oauth-server.js)。
    • 生产环境中,在你的应用中实现一个安全的回调处理程序。
    • 回调URL必须与你在优步应用中配置的完全一致。

🔧 技术细节

沙盒与生产环境

  • 沙盒模式(默认):

    • 模拟出行和司机。
    • 无实际费用。
    • 非常适合测试。
    • 仅限于你的开发者账户。
  • 生产环境

    • 真实出行和收费。
    • 特权权限范围需要优步批准。
    • 必须通过优步的审核流程。

安全最佳实践

  1. 切勿提交凭证:妥善保管你的客户端密钥。
  2. 使用环境变量:不要硬编码凭证。
  3. 实现适当的令牌存储:当前的内存存储仅用于演示。
  4. 验证重定向URI:确保你的回调URL配置正确。

API限制

  • 存在速率限制(请查看优步的文档)。
  • 特权权限范围在生产环境使用需要批准。
  • 与生产环境相比,沙盒模式有一些限制。

故障排除

  • “无效权限范围”错误:你的应用在生产环境中使用特权权限范围需要批准。
  • “无效重定向URI”:确保你的重定向URI与优步控制台中配置的完全一致。
  • “未授权”错误:检查你的访问令牌是否有效且未过期。

📄 许可证

文档未提及相关信息。

📚 资源

  • 0 关注
  • 0 收藏,29 浏览
  • system 提出于 2025-10-04 14:21

相似服务问题

相关AI产品