{
  "markdown": "# @transita/mcp-server\n\n> Immigration eligibility intelligence for Claude Desktop, Cursor, Cline, Continue, Zed, and any MCP-compatible AI assistant.\n\n[Transita](https://transita.app) figures out which country you should move to — and runs the whole relocation. This MCP server exposes the same matcher, country comparisons, visa checklists, and nationality guides that power transita.app, so you can ask any AI assistant \"where should I move?\" and get a real, sourced answer.\n\nThe server is a stateless shim. It calls the public Transita JSON API, so visa data updates the moment transita.app redeploys. No data lives in this package.\n\n## Install\n\n### Claude Desktop\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"transita\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@transita/mcp-server\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop. The Transita tools should appear in the input box.\n\n### Cursor\n\nAdd to `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"transita\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@transita/mcp-server\"]\n    }\n  }\n}\n```\n\n### Cline (VS Code extension)\n\nOpen the Cline MCP settings panel and add:\n\n```json\n{\n  \"transita\": {\n    \"command\": \"npx\",\n    \"args\": [\"-y\", \"@transita/mcp-server\"]\n  }\n}\n```\n\n### Continue, Zed, any other MCP client\n\nUse the same pattern — `command: npx`, `args: [\"-y\", \"@transita/mcp-server\"]`.\n\n## What it exposes\n\n### Tools (5)\n\n| Tool | What it does |\n|---|---|\n| `transita_match_visas` | Score a profile (citizenship, education, work years, income, goal, timeline) against every visa Transita supports. Returns top matches ranked by eligibility. |\n| `transita_visa_details` | Full details for a single visa: eligibility, processing time, fees, validity, PR path, and a free preview of the document checklist. |\n| `transita_compare_visas` | Side-by-side comparison of 2-3 visa pathways with deltas (fastest processing, lowest cost, longest validity, PR path). |\n| `transita_country_overview` | Country-level summary: number of visa pathways, EU membership, score dimensions, drawbacks, top cities with rent ranges, PR/citizenship timelines. |\n| `transita_search_by_nationality` | Curated top destinations and recommended visas for citizens of a given country. Best first stop for \"where should I move?\" |\n| `transita_programme_status` | Live intake status for round-based programmes: whether the programme is open, the date of the last round, and its cutoff score. |\n\n### Resources (4 base + dynamic templates)\n\n- `transita://visas` — full active visa catalogue\n- `transita://countries` — destination countries + visa counts\n- `transita://nationalities` — index of curated nationality landing pages\n- `transita://nationality/<slug>` — single nationality page (e.g. `transita://nationality/indian`)\n\n### Prompts (3)\n\n- `find-my-visa` — guided eligibility quiz then `transita_match_visas`\n- `compare-options` — drives `transita_compare_visas` with a chosen set of ids\n- `where-should-i-move` — open exploration starting from nationality\n\n## Try it\n\nOnce installed, ask your AI assistant questions like:\n\n- *\"I'm an Indian software engineer with a master's and 5 years of experience. Where should I move?\"*\n- *\"Compare the US O-1A, Germany's EU Blue Card, and Portugal's D8 — which is fastest, cheapest, and which has the best path to permanent residency?\"*\n- *\"What does Portugal's D8 digital nomad visa actually require?\"*\n- *\"How do destination scores compare for Germany versus the Netherlands?\"*\n\nThe model will pick the right Transita tool, call it, and synthesise the answer. Visa data is verified by the Transita team monthly; every match links back to the official government source.\n\n## Configuration\n\n| Env var | Default | Purpose |\n|---|---|---|\n| `TRANSITA_API_URL` | `https://transita.app` | Override the API base URL (useful for local dev against `http://localhost:3000`). |\n| `TRANSITA_MCP_USER_AGENT` | `transita-mcp-server/0.1.3` | Custom UA string for analytics. |\n\n## Free vs paid\n\nEverything this MCP server exposes is **free**. The full document checklist + 30-day action plan is part of Transita's paid action plan and lives at `https://transita.app/visa/<id>`. The MCP server's tools include a checklist preview (lead time, ancillary cost, first section) and link to the full plan.\n\n## Development\n\n```bash\ngit clone https://github.com/snenenenenenene/transita-mcp-server.git\ncd transita-mcp-server\nbun install\nbun run build\n\n# Point at a local Transita dev server\nTRANSITA_API_URL=http://localhost:3000 node dist/cli.js\n```\n\nTo smoke-test from the command line:\n\n```bash\n{\n  echo '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-06-18\",\"capabilities\":{},\"clientInfo\":{\"name\":\"smoke\",\"version\":\"0.0\"}}}'\n  echo '{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"}'\n  echo '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\"}'\n} | node dist/cli.js\n```\n\n## Publishing to npm + the MCP Registry\n\nTwo-step flow. The MCP Registry stores metadata; npm hosts the artifact.\n\n```bash\n# 1. Publish to npm (must be on a fresh version; bump in package.json first)\ncd packages/mcp-server\nbun run build\nnpm publish --access public\n\n# 2. Publish metadata to the MCP Registry\n#    Install mcp-publisher once: brew install mcp-publisher\n#    server.json is committed alongside this README.\nmcp-publisher login github\nmcp-publisher publish\n```\n\nAfter publishing, the server is listed at <https://registry.modelcontextprotocol.io>\nand discoverable inside MCP-compatible clients.\n\n## License\n\nMIT — see LICENSE.\n\n## Links\n\n- Website: <https://transita.app>\n- MCP landing page: <https://transita.app/mcp>\n- Source (public mirror): <https://github.com/snenenenenenene/transita-mcp-server>\n- MCP protocol: <https://modelcontextprotocol.io>\n",
  "bytes": 5864,
  "sha": "34840bb6d9cf2224dc3723b2cabb40abb7bdf8cf1a39b07faa308519c01d330b",
  "repo_slug": "snenenenenenene/transita-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_snenenenenenene_transita_mcp_s_00dcf96c/readme"
}