Uber
Reserve viagens Uber diretamente pelo seu assistente de IA.
Documentação
Servidor MCP Uber
Um servidor MCP (Model Context Protocol) para agendar corridas Uber através de assistentes de IA.
Recursos
- Autenticação OAuth 2.0 com Uber
- Obter estimativas de preço para corridas
- Solicitar corridas Uber
- Verificar status da corrida
- Cancelar corridas
Instalação
Usando npm (instalação global)
npm install -g mcp-uber
Usando npx (sem necessidade de instalação)
npx mcp-uber
Configuração
Passo 1: Criar uma Conta de Desenvolvedor Uber
- Acesse o Painel do Desenvolvedor Uber
- Clique em "Entrar" e escolha uma das opções:
- Use uma conta existente de passageiro/motorista Uber
- Crie uma nova conta especificamente para desenvolvimento
💡 Dica: Para organizações, crie um alias de e-mail (ex.: dev@suasempresa.com) em vez de usar uma conta pessoal para facilitar a transferência de propriedade.
Passo 2: Criar um Novo Aplicativo
- No Painel do Desenvolvedor, clique em "Criar Aplicativo" (canto superior direito)
- Preencha as informações necessárias:
- Nome do Aplicativo: Nome da sua aplicação
- Descrição: Breve descrição do que seu aplicativo faz
- Clique em "Criar"
Passo 3: Obter Suas Credenciais de API
- Navegue até seu aplicativo no painel
- Vá para a aba Auth
- Você encontrará:
- Client ID: Identificador público do seu aplicativo
- Client Secret: Chave privada (mantenha segura!)
- Server Token: Para requisições do lado do servidor
Passo 4: Configurar Configurações OAuth
- Na aba Auth, adicione seu URI de redirecionamento:
- Para testes locais:
http://localhost:3000/callback - Para produção: Sua URL de callback real
- Para testes locais:
- Selecione os escopos necessários:
profile- Informações básicas do perfil do usuáriorequest- Solicitar corridas em nome do usuárioride_request- Visualizar e gerenciar solicitações de corrida ativas
⚠️ Nota: O escopo request é privilegiado e requer aprovação da Uber para uso em produção. Durante o desenvolvimento, sua conta pode usá-lo sem aprovação.
Passo 5: Configurar Variáveis de Ambiente
Crie variáveis de ambiente com suas credenciais (veja a seção de Configuração abaixo)
Uso com Claude Desktop
Usando npm (instalação global)
Adicione à configuração do 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"
}
}
}
}
Usando npx
Adicione à configuração do 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"
}
}
}
}
Ferramentas Disponíveis
- uber_get_auth_url - Obter URL de autorização OAuth
- uber_set_access_token - Definir token de acesso do usuário
- uber_get_price_estimates - Obter estimativas de preço para uma corrida
- uber_request_ride - Solicitar uma corrida Uber
- uber_get_ride_status - Verificar status da solicitação de corrida
- uber_cancel_ride - Cancelar uma solicitação de corrida
Fluxo OAuth
- Use
uber_get_auth_urlpara obter a URL de autorização - O usuário visita a URL e autoriza seu aplicativo
- Após o callback, troque o código por um token de acesso
- Use
uber_set_access_tokenpara armazenar o token - Agora você pode fazer chamadas de API
Configuração
Variáveis de Ambiente
O servidor MCP requer as seguintes variáveis de ambiente:
UBER_CLIENT_ID: Seu client ID do aplicativo UberUBER_CLIENT_SECRET: Seu client secret do aplicativo UberUBER_REDIRECT_URI: URL de callback OAuth (padrão:http://localhost:3000/callback)UBER_ENVIRONMENT: Ousandboxouproduction(padrão:sandbox)
Testando Sua Integração
-
Use o modo sandbox para testes:
- Defina
UBER_ENVIRONMENT=sandboxno seu ambiente - O modo sandbox simula solicitações de corrida sem motoristas reais
- Perfeito para desenvolvimento e testes
- Defina
-
Teste o fluxo OAuth:
- Use a ferramenta
uber_get_auth_urlpara obter uma URL de autorização - Visite a URL e autorize seu aplicativo
- Após a autorização, a Uber redirecionará para sua URL de callback com um código
- Troque o código por um token de acesso (você precisará configurar seu próprio manipulador de callback)
- Use
uber_set_access_tokenpara armazenar o token no servidor MCP
- Use a ferramenta
-
Configurando um manipulador de callback:
- Para testes, você pode usar um servidor Express simples (veja
examples/oauth-server.jsno repositório GitHub) - Para produção, implemente um manipulador de callback seguro no seu aplicativo
- A URL de callback deve corresponder exatamente ao que está configurado no seu aplicativo Uber
- Para testes, você pode usar um servidor Express simples (veja
Notas Importantes
Sandbox vs Produção
-
Modo Sandbox (padrão):
- Corridas e motoristas simulados
- Sem cobranças reais
- Perfeito para testes
- Limitado à sua conta de desenvolvedor
-
Modo Produção:
- Corridas e cobranças reais
- Requer aprovação da Uber para escopos privilegiados
- Deve passar pelo processo de revisão da Uber
Melhores Práticas de Segurança
- Nunca envie credenciais: Mantenha seu Client Secret seguro
- Use variáveis de ambiente: Não codifique credenciais
- Implemente armazenamento adequado de tokens: O armazenamento atual em memória é apenas para demonstração
- Valide URIs de redirecionamento: Garanta que suas URLs de callback estejam configuradas corretamente
Limitações da API
- Limites de taxa se aplicam (consulte a documentação da Uber)
- Escopos privilegiados requerem aprovação para uso em produção
- O modo sandbox tem algumas limitações em comparação com a produção
Solução de Problemas
- Erro "escopo inválido": Seu aplicativo precisa de aprovação para escopos privilegiados em produção
- "URI de redirecionamento inválida": Certifique-se de que sua URI de redirecionamento corresponda exatamente ao que está configurado no painel da Uber
- Erros "Não autorizado": Verifique se seu token de acesso é válido e não expirou