Transita

Evalúa un perfil frente a 102 vías de visa de inmigración en 15 países utilizando criterios oficiales gubernamentales y devuelve coincidencias clasificadas con costos, tiempos de procesamiento, plazos de residencia permanente y fuentes oficiales.

Documentación

@transita/mcp-server

Datos de elegibilidad de visados e inmigración de Transita para Claude, ChatGPT, Cursor, Cline, Zed y cualquier otro cliente MCP.

Pregunta a tu asistente "¿a dónde debería mudarme?" y podrá comparar tu perfil con más de 100 visados en 16 países, comparar vías y decirte si un programa está abierto ahora mismo. Cada respuesta enlaza con la fuente oficial del gobierno.

El paquete no contiene datos. Llama a la API pública de Transita, por lo que recoge los cambios de visados tan pronto como transita.app los despliega. Sin clave de API, sin cuenta.

Hay dos formas de conectarse:

  • Alojado: https://transita.app/api/mcp (HTTP Streamable, sin autenticación). Nada que instalar.
  • Local: npx -y @transita/mcp-server (stdio). Requiere Node 20 o superior.

Instalación

Claude Code

Alojado:

claude mcp add --transport http transita https://transita.app/api/mcp

Local:

claude mcp add transita -- npx -y @transita/mcp-server

Añade --scope user para que esté disponible en todos los proyectos. Ejecuta /mcp para comprobar que se ha conectado.

Claude Desktop y claude.ai

Alojado: añade un conector personalizado en claude.ai/customize/connectors con la URL https://transita.app/api/mcp. También aparece en Claude Desktop.

Local: edita ~/Library/Application Support/Claude/claude_desktop_config.json en macOS o %APPDATA%\Claude\claude_desktop_config.json en Windows y reinicia Claude Desktop.

{
  "mcpServers": {
    "transita": {
      "command": "npx",
      "args": ["-y", "@transita/mcp-server"]
    }
  }
}

ChatGPT

ChatGPT solo se comunica con servidores remotos, así que usa el endpoint alojado. Activa el modo desarrollador en la configuración de ChatGPT, crea un nuevo conector, pega https://transita.app/api/mcp como URL del servidor y elige "Sin autenticación". El modo desarrollador está limitado a algunos planes de pago y OpenAI mueve el menú, así que consulta sus páginas de ayuda si no lo encuentras.

Cursor

Añade esto a ~/.cursor/mcp.json para todos los proyectos, o a .cursor/mcp.json para uno solo:

{
  "mcpServers": {
    "transita": {
      "url": "https://transita.app/api/mcp"
    }
  }
}

Para la versión local, sustituye la línea url por "command": "npx", "args": ["-y", "@transita/mcp-server"].

Cline, Continue, Zed y otros

Cualquier cliente que acepte un comando stdio funciona con command: npx y args: ["-y", "@transita/mcp-server"]. Los clientes que admiten Streamable HTTP pueden usar https://transita.app/api/mcp en su lugar.

Herramientas

HerramientaQué hace
transita_match_visasEvalúa un perfil (ciudadanía, educación, años de trabajo, ingresos, objetivo, plazo) frente a todos los visados y devuelve las mejores coincidencias.
transita_visa_detailsUn visado completo: elegibilidad, tiempo de procesamiento, tasas, validez, vía hacia la residencia permanente y una vista previa de la lista de documentos.
transita_compare_visasCompara 2 o 3 visados lado a lado y señala cuál es más rápido, más barato, válido por más tiempo y cuál conduce a la residencia permanente.
transita_country_overviewUn destino de un vistazo: número de visados, membresía en la UE, puntuaciones, inconvenientes, principales ciudades con rangos de alquiler, plazos de residencia permanente y ciudadanía.
transita_search_by_nationalityPrincipales destinos y visados recomendados para ciudadanos de un país. Una buena primera llamada para "¿a dónde debería mudarme?".
transita_programme_statusSi un visado está aceptando solicitudes ahora. Para programas por rondas como Express Entry también da la fecha de la última ronda y la puntuación de corte.

Recursos

  • transita://visas: todos los visados activos
  • transita://countries: países de destino con recuento de visados
  • transita://nationalities: las guías por nacionalidad
  • transita://nationality/<slug>: una guía por nacionalidad, p. ej. transita://nationality/indian

Prompts

  • find-my-visa: hace algunas preguntas de elegibilidad y luego llama a transita_match_visas
  • compare-options: ejecuta transita_compare_visas sobre los visados que elijas
  • where-should-i-move: parte de tu nacionalidad y explora desde ahí

Preguntas de ejemplo

  • "Soy ingeniero de software indio con un máster y 5 años de experiencia. ¿A dónde debería mudarme?"
  • "Compara la O-1A de EE. UU., la Tarjeta Azul de la UE de Alemania y la D8 de Portugal. ¿Cuál me da la residencia permanente antes?"
  • "¿Está abierto Express Entry de Canadá ahora mismo y cuál fue el último corte?"
  • "¿Qué requiere el visado de nómada digital D8 de Portugal?"

Configuración

Solo relevante para el paquete local.

Variable de entornoValor predeterminadoPropósito
TRANSITA_API_URLhttps://transita.appURL base de la API. Apúntala a http://localhost:3000 para desarrollo local.
TRANSITA_MCP_USER_AGENTtransita-mcp-server/<version>User-Agent enviado con cada solicitud a la API.

Gratis y de pago

Todo lo que devuelve el servidor es gratis. La lista completa de documentos y el plan de acción de 30 días forman parte del plan de pago de Transita en https://transita.app/path/<id>. Los resultados de las herramientas incluyen una vista previa de la lista y un enlace al plan completo.

Desarrollo

git clone https://github.com/snenenenenenene/transita-mcp-server.git
cd transita-mcp-server
bun install
bun run build

Ejecútalo contra un servidor de desarrollo local de Transita:

TRANSITA_API_URL=http://localhost:3000 node dist/cli.js

Prueba rápida desde la línea de comandos:

{
  echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"smoke","version":"0.0"}}}'
  echo '{"jsonrpc":"2.0","method":"notifications/initialized"}'
  echo '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
} | node dist/cli.js

Publicación

npm aloja el paquete y el MCP Registry guarda los metadatos en server.json. Incrementa la versión en package.json, ambos campos version de server.json, src/server.ts y src/api.ts primero.

Compila y publica en npm:

bun run build
npm publish --access public

Envía el código fuente al espejo público:

./sync-mirror.sh

Publica los metadatos. Instala el publicador una vez con Homebrew primero.

mcp-publisher login github
mcp-publisher publish

Licencia

MIT, consulta LICENSE.

Enlaces