mcpField
A
atlas-obscura

atlas-obscura

github.com/borskiOther78074 installsUpdated 2d ago
Repository

About atlas-obscura

Atlas Obscura is a travel-discovery skill that finds unusual places near coordinates using the Atlas Obscura site. It scores and filters results, with quick searches and full place details for trip planning.

Key features

  1. 01Search nearby places by coordinates
  2. 02Rank places by interestingness
  3. 03Filter mundane historical markers
  4. 04Retrieve descriptions, directions, and tags
  5. 05Include image URLs on request

Use cases

  1. 01Find unusual stops near a destination
  2. 02Add hidden gems to a trip itinerary
  3. 03Look up details for a specific place

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/borski/travel-hacking-toolkit --skill atlas-obscura

After installing, type/atlas-obscurain Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

ao.mjs
package-lock.json
package.json

Details

From the project README

Atlas Obscura

Find genuinely interesting hidden gems near any destination via Atlas Obscura. Searches by coordinates, scores places for interestingness, and filters out mundane historical markers.

No API key needed. Uses the atlas-obscura-api npm scraper.

Prerequisites

Install dependencies (one time):

cd skills/atlas-obscura && npm install

City Coordinates Reference

Common cities for trip planning. Use these with the search commands.

CityLatLng
New York40.7128-74.0060
London51.5074-0.1278
Paris48.85662.3522
Tokyo35.6762139.6503
Bangkok13.7563100.5018
Rome41.902812.4964
Barcelona41.38742.1686
Istanbul41.008228.9784
Mexico City19.4326-99.1332
Lisbon38.7223-9.1393
Seoul37.5665126.9780
Oslo59.913910.7522
Copenhagen55.676112.5683
Stockholm59.329318.0686

Commands

All commands run from the repo root. Output is JSON. Image URLs are excluded by default to keep output lean. Add --images to any command when you need them (e.g. generating HTML pages).

Search Nearby (Filtered)

Finds places near coordinates, fetches full details, scores for interestingness, and filters out boring stuff. Slower (fetches each place) but gives you the good stuff.

node skills/atlas-obscura/ao.mjs search <lat> <lng>

Example:

node skills/atlas-obscura/ao.mjs search 35.6762 139.6503

Returns up to 20 places sorted by interest score. Each has full description, tags, and directions.

Timeout note: This makes ~20 HTTP requests (one per place). Allow 30-60 seconds.

Quick Search (Unfiltered)

Fast nearby search. Returns title, subtitle, coordinates, distance. No detail fetching or scoring.

node skills/atlas-obscura/ao.mjs quick <lat> <lng>
Search Unfiltered with Details

Same as filtered search but keeps everything, including boring plaques.

node skills/atlas-obscura/ao.mjs search <lat> <lng> --all
Full Place Details

Get complete information for a specific place by ID.

node skills/atlas-obscura/ao.mjs place <id>

Returns: title, subtitle, full description (multi-paragraph), directions, tags, nearby places, interest score.

Short Place Summary

Quick place lookup without the full scrape. One request.

node skills/atlas-obscura/ao.mjs short <id>
Including Images

Add --images to any command to include thumbnail and image URLs in the output. Useful when generating HTML pages or visual reports.

node skills/atlas-obscura/ao.mjs search <lat> <lng> --images
node skills/atlas-obscura/ao.mjs place <id> --images

Interest Scoring

Places are scored based on:

Bonus points for: Abandoned, Ruins, Ghost Towns, Underground, Caves, Natural Wonders, Unusual Collections, Street Art, Museums, Markets, Hot Springs, Waterfalls, Breweries, Gardens, Islands, Art, Sculpture, Murals. Also: rich descriptions, multiple images.

Penalties for: Plaques, Historical Markers, Monuments, War Memorials, Government Buildings. Also: places marked "gone" or hidden from maps.

Places scoring below 0 are filtered out in the default search.

Useful jq Filters

# Just titles and subtitles
... | jq '.[] | {title, subtitle, tags}'

# Top 5 by interest score
... | jq '[sort_by(-.interest_score) | .[0:5] | .[] | {title, subtitle, interest_score, url}]'

# Places with specific tags
... | jq '[.[] | select(.tags | any(. == "Underground" or . == "Caves"))]'

# Just URLs for browsing
... | jq -r '.[].url'

When to Use

Load this skill when:

  • Planning trips and want to find hidden gems near destinations
  • Looking for unique, weird, or wonderful places to visit
  • Need Atlas Obscura recommendations for specific coordinates
  • Adding interesting stops to an itinerary

Do not:

  • Use for booking (AO is discovery only)
  • Hammer the scraper excessively (it's scraping atlasobscura.com, be respectful)
  • Expect real-time availability (places can close, change hours, etc.)

Comments

Markdown supported