Labsco
MCP SERVER

Map Traveler

by mfukushim

Send an avatar travelling on Google Maps — Street View photos, real travel times, and a Bluesky travelogue.

Games, Entertainment & Fandom
Summary
A traveller that actually takes time to arrive, and sends photos on the way.

What makes it more than a map lookup is that movement is bound to real roads and real durations, divided down by MT_TIME_SCALE — tell it to leave for Tokyo Station and it is en route, so "where are you now?" has a different answer each time you ask. The photographs are real Street View; the avatar composited into them is generated, and the project forces an anime style on purpose so the pictures cannot pass as genuine.

What it is

An environment for a virtual traveller. Give it a destination and it moves along real roads at a scaled-down pace, reporting where it is with Street View photography — optionally with a generated avatar composited into the shot, and optionally posting the trip to Bluesky.

What you get
  • The traveller's current location, its address, and the facilities near it
  • A Street View photo of where it stands, with the avatar composited in when image generation is configured
  • A destination set by exact address or by a name Google Maps recognises, and a journey started and stopped along real roads
  • Two movement modes: realtime, where the trip takes scaled real travel time, and skip, where you jump to a percentage of the way there
  • The traveller's name and personality set and read back, and the avatar's generation prompt changed or reset to default
  • Bluesky posting, replying and liking, plus reading the custom feed and your own mentions
  • Five ready-made prompts as MCP resources: a plain traveller role, an SNS-aware one, a document-courier story, and two AI-versus-AI landscape challenges
  • A tips tool that says which features are still unconfigured, and a settings read-out
Requirements

Node.js 22, launched with npx @mfukushim/map-traveler-mcp over stdio — or as Streamable HTTP, where per-session settings ride in a base64 config query parameter. A practice mode runs with no keys at all. For real travel, MT_GOOGLE_MAP_KEY with Street View Static, Places (New), Time Zone and Directions enabled on it; those calls are billable. Image generation is optional and pluggable: MT_GEMINI_IMAGE_KEY is the recommended route because its semantic mask composites without a background remover, while the pixAI, Stability.ai and ComfyUI paths also need the rembg CLI with Python 3.7 to 3.11. State lives in SQLite — MT_SQLITE_PATH locally, or MT_TURSO_URL with MT_TURSO_TOKEN remotely. Bluesky is optional and posts on its own, so give it a dedicated account through MT_BS_ID, MT_BS_PASS and MT_BS_HANDLE. MT_TIME_SCALE, default 4, sets how much faster than reality the travel runs, and MT_FILTER_TOOLS trims the tool list.

Setup effort

One command — npx -y @mfukushim/map-traveler-mcp