{
  "markdown": "# rendezvous-mcp\n\n**Nostr:** [`npub1mgvlrnf5hm9yf0n5mf9nqmvarhvxkc6remu5ec3vf8r0txqkuk7su0e7q2`](https://njump.me/npub1mgvlrnf5hm9yf0n5mf9nqmvarhvxkc6remu5ec3vf8r0txqkuk7su0e7q2)\n\n**Fair meeting points for AI — isochrone-based fairness, not naive midpoints.**\n\n[![npm](https://img.shields.io/npm/v/rendezvous-mcp)](https://www.npmjs.com/package/rendezvous-mcp)\n[![licence](https://img.shields.io/npm/l/rendezvous-mcp)](https://github.com/forgesworn/rendezvous-mcp/blob/main/LICENSE)\n![TypeScript](https://img.shields.io/badge/TypeScript-native-blue)\n[![Nostr](https://img.shields.io/badge/Nostr-Zap%20me-purple)](https://primal.net/p/npub1mgvlrnf5hm9yf0n5mf9nqmvarhvxkc6remu5ec3vf8r0txqkuk7su0e7q2)\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/TheCryptoDonkey?logo=githubsponsors&color=ea4aaa&label=Sponsor)](https://github.com/sponsors/TheCryptoDonkey)\n\nMCP server for AI-driven meeting point discovery. Give your AI the ability to answer **\"where should we meet?\"** using real travel times, venue availability, and fairness algorithms.\n\nWorks out of the box — free public routing, no API keys needed. Self-host Valhalla for unlimited queries, or use L402 Lightning credits for our hosted endpoint.\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `score-venues` | Score candidate venues by travel time fairness for 2–10 participants |\n| `search-venues` | Search for venues near a location using OpenStreetMap |\n| `get-isochrone` | Get a reachability polygon (everywhere reachable within N minutes) |\n| `get-directions` | Get directions between two points with turn-by-turn steps |\n| `store-routing-credentials` | Store L402 macaroon + preimage after Lightning payment |\n\n## Quick start\n\nAdd to your MCP client config (Claude Code, Claude Desktop, Cursor, etc.):\n\n```json\n{\n  \"mcpServers\": {\n    \"rendezvous\": {\n      \"command\": \"npx\",\n      \"args\": [\"rendezvous-mcp\"]\n    }\n  }\n}\n```\n\nThen ask your AI: *\"Where's a fair place for Alice in London, Bob in Bristol, and Carol in Birmingham to meet for lunch?\"*\n\n## Remote (HTTP/SSE)\n\nFor ChatGPT, remote AI agents, or any client that connects over HTTP:\n\n```bash\nTRANSPORT=http npx rendezvous-mcp\n```\n\nStarts a Streamable HTTP server on port 3002 with the MCP endpoint at `/mcp`.\n\n### ChatGPT connector\n\nIn ChatGPT settings, add an MCP server with:\n- **URL:** `http://your-host:3002/mcp`\n- **Transport:** Streamable HTTP\n\n## Configuration\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `TRANSPORT` | `stdio` | Transport mode: `stdio` or `http` |\n| `PORT` | `3002` | HTTP server port (HTTP mode only) |\n| `HOST` | `0.0.0.0` | HTTP bind address (HTTP mode only) |\n| `VALHALLA_URL` | `https://routing.trotters.cc` | Routing engine URL |\n| `OVERPASS_URL` | Public endpoints | Venue search API |\n\n## Self-hosted routing\n\nFor unlimited queries with no rate limits, run your own Valhalla instance:\n\n```json\n{\n  \"mcpServers\": {\n    \"rendezvous\": {\n      \"command\": \"npx\",\n      \"args\": [\"rendezvous-mcp\"],\n      \"env\": {\n        \"VALHALLA_URL\": \"http://localhost:8002\"\n      }\n    }\n  }\n}\n```\n\n## How it works\n\n1. User asks \"Where should we meet?\"\n2. AI geocodes participant locations\n3. AI calls `search-venues` to find candidate venues near the area\n4. AI calls `score-venues` with participants + candidates — returns ranked results with travel times and fairness scores\n5. AI presents the fairest option with travel times for each person\n\nFor deeper analysis, the AI can use `get-isochrone` to visualise reachability and `get-directions` for turn-by-turn navigation.\n\n## L402 payments\n\nThe default routing endpoint (`routing.trotters.cc`) offers free requests. When the free tier is exhausted, tools return a `payment_required` response with a Lightning invoice. After payment, call `store-routing-credentials` to store the macaroon for the session.\n\nSelf-hosted Valhalla has no payment requirement.\n\n## Architecture\n\nThin MCP wrapper over [rendezvous-kit](https://github.com/forgesworn/rendezvous-kit) — the open-source TypeScript library for isochrone intersection, venue search, and fairness scoring. Each tool is an extracted handler function (testable without MCP) plus a registration one-liner.\n\n## Development\n\n```bash\nnpm install\nnpm run build\nnpm test\n```\n\n## Licence\n\n[MIT](https://github.com/forgesworn/rendezvous-mcp/blob/main/LICENSE)\n\n## Support\n\nFor issues and feature requests, see [GitHub Issues](https://github.com/forgesworn/rendezvous-mcp/issues).\n\nIf you find rendezvous-mcp useful, consider sending a tip:\n\n- **Lightning:** `profusemeat89@walletofsatoshi.com`\n- **Nostr zaps:** `npub1mgvlrnf5hm9yf0n5mf9nqmvarhvxkc6remu5ec3vf8r0txqkuk7su0e7q2`\n",
  "bytes": 4664,
  "sha": "dff54a06e807559754f9fe6cccb8ffceb99400e961bb1d61c7a3069f473b4c83",
  "repo_slug": "forgesworn/rendezvous-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_dev_forgesworn_rendezvous_mcp_9e845015/readme"
}