Simulates an avatar travelling on Google Maps and Street View, producing photo reports and optional Bluesky posts.
Setup
Choose your client, copy the config, then fill in any required environment variables.
Local
claude mcp add map-traveler --env MT_GOOGLE_MAP_KEY='<MT_GOOGLE_MAP_KEY>' --env MT_GEMINI_IMAGE_KEY='<MT_GEMINI_IMAGE_KEY>' --env MT_TURSO_TOKEN='<MT_TURSO_TOKEN>' --env MT_REMBG_WO_KEY='<MT_REMBG_WO_KEY>' --env MT_PIXAI_KEY='<MT_PIXAI_KEY>' --env MT_SD_KEY='<MT_SD_KEY>' --env MT_BS_PASS='<MT_BS_PASS>' --env MT_BODY_AREA_RATIO='<MT_BODY_AREA_RATIO>' --env MT_BODY_HW_RATIO='<MT_BODY_HW_RATIO>' --env MT_BODY_WINDOW_RATIO_H='<MT_BODY_WINDOW_RATIO_H>' -- npx -y @mfukushim/map-traveler-mcp~/.codex/config.toml
[mcp_servers.map-traveler]
command = "npx"
args = ["-y", "@mfukushim/map-traveler-mcp"]
env = { MT_GOOGLE_MAP_KEY = "<MT_GOOGLE_MAP_KEY>", MT_GEMINI_IMAGE_KEY = "<MT_GEMINI_IMAGE_KEY>", MT_TURSO_TOKEN = "<MT_TURSO_TOKEN>", MT_REMBG_WO_KEY = "<MT_REMBG_WO_KEY>", MT_PIXAI_KEY = "<MT_PIXAI_KEY>", MT_SD_KEY = "<MT_SD_KEY>", MT_BS_PASS = "<MT_BS_PASS>", MT_BODY_AREA_RATIO = "<MT_BODY_AREA_RATIO>", MT_BODY_HW_RATIO = "<MT_BODY_HW_RATIO>", MT_BODY_WINDOW_RATIO_H = "<MT_BODY_WINDOW_RATIO_H>" }
# codex mcp add map-traveler --env MT_GOOGLE_MAP_KEY='<MT_GOOGLE_MAP_KEY>' --env MT_GEMINI_IMAGE_KEY='<MT_GEMINI_IMAGE_KEY>' --env MT_TURSO_TOKEN='<MT_TURSO_TOKEN>' --env MT_REMBG_WO_KEY='<MT_REMBG_WO_KEY>' --env MT_PIXAI_KEY='<MT_PIXAI_KEY>' --env MT_SD_KEY='<MT_SD_KEY>' --env MT_BS_PASS='<MT_BS_PASS>' --env MT_BODY_AREA_RATIO='<MT_BODY_AREA_RATIO>' --env MT_BODY_HW_RATIO='<MT_BODY_HW_RATIO>' --env MT_BODY_WINDOW_RATIO_H='<MT_BODY_WINDOW_RATIO_H>' -- npx -y @mfukushim/map-traveler-mcp~/.cursor/mcp.json
{
"mcpServers": {
"map-traveler": {
"command": "npx",
"args": [
"-y",
"@mfukushim/map-traveler-mcp"
],
"env": {
"MT_GOOGLE_MAP_KEY": "<MT_GOOGLE_MAP_KEY>",
"MT_GEMINI_IMAGE_KEY": "<MT_GEMINI_IMAGE_KEY>",
"MT_TURSO_TOKEN": "<MT_TURSO_TOKEN>",
"MT_REMBG_WO_KEY": "<MT_REMBG_WO_KEY>",
"MT_PIXAI_KEY": "<MT_PIXAI_KEY>",
"MT_SD_KEY": "<MT_SD_KEY>",
"MT_BS_PASS": "<MT_BS_PASS>",
"MT_BODY_AREA_RATIO": "<MT_BODY_AREA_RATIO>",
"MT_BODY_HW_RATIO": "<MT_BODY_HW_RATIO>",
"MT_BODY_WINDOW_RATIO_H": "<MT_BODY_WINDOW_RATIO_H>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"map-traveler": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mfukushim/map-traveler-mcp"
],
"env": {
"MT_GOOGLE_MAP_KEY": "<MT_GOOGLE_MAP_KEY>",
"MT_GEMINI_IMAGE_KEY": "<MT_GEMINI_IMAGE_KEY>",
"MT_TURSO_TOKEN": "<MT_TURSO_TOKEN>",
"MT_REMBG_WO_KEY": "<MT_REMBG_WO_KEY>",
"MT_PIXAI_KEY": "<MT_PIXAI_KEY>",
"MT_SD_KEY": "<MT_SD_KEY>",
"MT_BS_PASS": "<MT_BS_PASS>",
"MT_BODY_AREA_RATIO": "<MT_BODY_AREA_RATIO>",
"MT_BODY_HW_RATIO": "<MT_BODY_HW_RATIO>",
"MT_BODY_WINDOW_RATIO_H": "<MT_BODY_WINDOW_RATIO_H>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"map-traveler": {
"command": "npx",
"args": [
"-y",
"@mfukushim/map-traveler-mcp"
],
"env": {
"MT_GOOGLE_MAP_KEY": "<MT_GOOGLE_MAP_KEY>",
"MT_GEMINI_IMAGE_KEY": "<MT_GEMINI_IMAGE_KEY>",
"MT_TURSO_TOKEN": "<MT_TURSO_TOKEN>",
"MT_REMBG_WO_KEY": "<MT_REMBG_WO_KEY>",
"MT_PIXAI_KEY": "<MT_PIXAI_KEY>",
"MT_SD_KEY": "<MT_SD_KEY>",
"MT_BS_PASS": "<MT_BS_PASS>",
"MT_BODY_AREA_RATIO": "<MT_BODY_AREA_RATIO>",
"MT_BODY_HW_RATIO": "<MT_BODY_HW_RATIO>",
"MT_BODY_WINDOW_RATIO_H": "<MT_BODY_WINDOW_RATIO_H>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"map-traveler": {
"command": "npx",
"args": [
"-y",
"@mfukushim/map-traveler-mcp"
],
"env": {
"MT_GOOGLE_MAP_KEY": "<MT_GOOGLE_MAP_KEY>",
"MT_GEMINI_IMAGE_KEY": "<MT_GEMINI_IMAGE_KEY>",
"MT_TURSO_TOKEN": "<MT_TURSO_TOKEN>",
"MT_REMBG_WO_KEY": "<MT_REMBG_WO_KEY>",
"MT_PIXAI_KEY": "<MT_PIXAI_KEY>",
"MT_SD_KEY": "<MT_SD_KEY>",
"MT_BS_PASS": "<MT_BS_PASS>",
"MT_BODY_AREA_RATIO": "<MT_BODY_AREA_RATIO>",
"MT_BODY_HW_RATIO": "<MT_BODY_HW_RATIO>",
"MT_BODY_WINDOW_RATIO_H": "<MT_BODY_WINDOW_RATIO_H>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"map-traveler": {
"command": "npx",
"args": [
"-y",
"@mfukushim/map-traveler-mcp"
],
"env": {
"MT_GOOGLE_MAP_KEY": "<MT_GOOGLE_MAP_KEY>",
"MT_GEMINI_IMAGE_KEY": "<MT_GEMINI_IMAGE_KEY>",
"MT_TURSO_TOKEN": "<MT_TURSO_TOKEN>",
"MT_REMBG_WO_KEY": "<MT_REMBG_WO_KEY>",
"MT_PIXAI_KEY": "<MT_PIXAI_KEY>",
"MT_SD_KEY": "<MT_SD_KEY>",
"MT_BS_PASS": "<MT_BS_PASS>",
"MT_BODY_AREA_RATIO": "<MT_BODY_AREA_RATIO>",
"MT_BODY_HW_RATIO": "<MT_BODY_HW_RATIO>",
"MT_BODY_WINDOW_RATIO_H": "<MT_BODY_WINDOW_RATIO_H>"
}
}
}
}Remote
claude mcp add --transport http map-traveler https://server.smithery.ai/@mfukushim/map-traveler-mcp/mcp~/.codex/config.toml
[mcp_servers.map-traveler]
url = "https://server.smithery.ai/@mfukushim/map-traveler-mcp/mcp"
# codex mcp add map-traveler --url https://server.smithery.ai/@mfukushim/map-traveler-mcp/mcp~/.cursor/mcp.json
{
"mcpServers": {
"map-traveler": {
"url": "https://server.smithery.ai/@mfukushim/map-traveler-mcp/mcp"
}
}
}.vscode/mcp.json
{
"servers": {
"map-traveler": {
"type": "http",
"url": "https://server.smithery.ai/@mfukushim/map-traveler-mcp/mcp"
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"map-traveler": {
"httpUrl": "https://server.smithery.ai/@mfukushim/map-traveler-mcp/mcp"
}
}
}claude_desktop_config.json · Customize › Connectors › Add custom connector
{
"mcpServers": {
"map-traveler": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://server.smithery.ai/@mfukushim/map-traveler-mcp/mcp"
]
}
}
}.trae/mcp.json
{
"mcpServers": {
"map-traveler": {
"url": "https://server.smithery.ai/@mfukushim/map-traveler-mcp/mcp"
}
}
}Environment variables
MT_GOOGLE_MAP_KEYMT_GEMINI_IMAGE_KEYMT_TURSO_TOKENMT_REMBG_WO_KEYMT_PIXAI_KEYMT_SD_KEYMT_BS_PASSMT_BODY_AREA_RATIOMT_BODY_HW_RATIOMT_BODY_WINDOW_RATIO_H
Replace the placeholders with your own credentials and keep them out of version control.