mcp

Byway MCP: call Byway Engine and Byway Atlas, the discovery engine for the real world.

Should I use this

Quality & Safety

A
Description quality
94%
Schema completeness
93%
Naming quality
94%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'search_lookouts' description lacks action verbin search_lookouts
  • LOWTool 'get_itinerary' description lacks action verbin get_itinerary

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,398Tokens (tool definitions)
~1.6 KBTypical response size
Moderate attention impact (1.87% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "url": "https://www.byway.world/api/mcp"
    }
  }
}

Remote endpoints

https://www.byway.world/api/mcpstreamable-http

What it can do

Tool inventory

Tools (10)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_byways(query, state, country, limit)

Search scenic byways and signed routes — the US federal roster plus regional routes (Québec, France, Northern Ireland, Ireland, Iceland, Norway, New Zealand today; growing). Filter by name, US state, or ISO-2 country. US byways carry byway.world links.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Name text to match"
    },
    "state": {
      "type": "string",
      "description": "Two-letter US state code"
    },
    "country": {
      "type": "string",
      "description": "ISO-2 country (US, CA, FR, GB, IE, IS, NO, NZ); non-US searches regional routes"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_byway(slug)

Full detail for one scenic byway or regional route: designation, states or country, length, scenic lookouts on the route, and itineraries that ride it.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Byway slug from search_byways"
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_lookouts(byway, state, limit)

Scenic lookouts (viewpoints) along a specific byway, or across a US state. Every lookout is a real, verified place — coverage is growing.

Input Schema

{
  "type": "object",
  "properties": {
    "byway": {
      "type": "string",
      "description": "Byway slug"
    },
    "state": {
      "type": "string",
      "description": "Two-letter US state code"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_itinerary(slug)

A classic road-trip itinerary: waypoints, states, and the scenic byways along the route.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Itinerary slug"
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_places(kind, state, name, lat, lon, ...)

Search the Byway atlas of typed places — waterfalls, hot springs, lighthouses, covered bridges, historic sites, beaches, peaks, rest areas, ghost towns, museums and attractions. Locate by US state (which also needs a kind), by a point and radius, or by name; a name given alongside a locator narrows it. Every result links to the byway.world page for that place, and every place traces to its OpenStreetMap or Wikidata record. One limit, stated: ghost-town rows live in a separate Wikidata corpus that the point and name searches cannot read, so they are absent from a kind-less search. Reach them with state + kind, or with get_place. Asking for one any other way is refused, never answered empty.

Input Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "waterfall",
        "hot-spring",
        "lighthouse",
        "covered-bridge",
        "beach",
        "historic-site",
        "peak",
        "rest-area",
        "ghost-town",
        "museum",
        "attraction",
        "park",
        "nature-reserve",
        "artwork",
        "spring",
        "garden",
        "cliff",
        "picnic-site",
        "arch"
      ],
      "description": "Place type to filter on"
    },
    "state": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "Two-letter US state code; requires kind"
    },
    "name": {
      "type": "string",
      "minLength": 3,
      "maxLength": 200,
      "description": "Place name text"
    },
    "lat": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Latitude to search near"
    },
    "lon": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Longitude to search near"
    },
    "radiusMi": {
      "type": "number",
      "minimum": 0.0621371192237334,
      "maximum": 99.41939075797343,
      "description": "Miles around lat/lon (default 30)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_place(url, kind, slug)

Everything the Byway atlas holds on one place: its own description, the records it traces to (OpenStreetMap, Wikipedia, Wikidata), reconciled public records (GNIS, National Register), the scenic byways that pass near it, and the nearest verified lookouts. Takes the byway.world URL search_places returned, or the place's kind and slug.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The place's byway.world /places URL"
    },
    "kind": {
      "type": "string",
      "enum": [
        "waterfall",
        "hot-spring",
        "lighthouse",
        "covered-bridge",
        "beach",
        "historic-site",
        "peak",
        "rest-area",
        "ghost-town",
        "museum",
        "attraction",
        "park",
        "nature-reserve",
        "artwork",
        "spring",
        "garden",
        "cliff",
        "picnic-site",
        "arch"
      ],
      "description": "Place type"
    },
    "slug": {
      "type": "string",
      "description": "Place slug, ending in the row's 8-hex id"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢places_on_byway(byway, kind, bandMi, limit)

Atlas places along one scenic byway: every place of a kind within a band of the drawn route, nearest to the road first, each marked whether it sits on the byway itself or is a detour off it. Only routes with drawn geometry can answer. This is the atlas inventory beside a road, not an itinerary. One limit, stated: ghost-town rows live in a separate Wikidata corpus the corridor read cannot see. Asking for one here is refused rather than answered empty; reach them with search_places by state.

Input Schema

{
  "type": "object",
  "properties": {
    "byway": {
      "type": "string",
      "description": "Byway slug from search_byways"
    },
    "kind": {
      "type": "string",
      "enum": [
        "waterfall",
        "hot-spring",
        "lighthouse",
        "covered-bridge",
        "beach",
        "historic-site",
        "peak",
        "rest-area",
        "ghost-town",
        "museum",
        "attraction",
        "park",
        "nature-reserve",
        "artwork",
        "spring",
        "garden",
        "cliff",
        "picnic-site",
        "arch"
      ],
      "description": "Place type to filter on"
    },
    "bandMi": {
      "type": "number",
      "minimum": 0.0621371192237334,
      "maximum": 49.709695378986716,
      "description": "Miles either side of the route (default 30)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "required": [
    "byway"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_destinations(q, state, limit)

Find US destination cities by name or state, with the day trip around each one: the scenic byways, national parks, public land units and campgrounds Byway's registries place within 30 miles. Only cities with a proven weave are listed — every result links to its own byway.world destination page.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "minLength": 2,
      "description": "City name text to match"
    },
    "state": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "Two-letter US state code"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "description": "Rows to return (default 10)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡plan_drive(origin, destination, budget_min, depart_at, interests, ...)

Plan a scenic drive with the Byway engine: real verified stops, honest timing, official scenic byways. Origin and destination are place names — the tool resolves each to the closest matching real place. budget_min is the whole time window (driving plus stops, default 240): a long drive needs a budget comfortably above its direct drive time or there is no slack to spend on stops. Requires a connected Byway account (OAuth sign-in). Set save=true to save the trip to your account.

Input Schema

{
  "type": "object",
  "properties": {
    "origin": {
      "type": "string",
      "description": "Starting point (city or place name)"
    },
    "destination": {
      "type": "string",
      "description": "Where the drive ends (city or place name)"
    },
    "budget_min": {
      "type": "integer",
      "minimum": 30,
      "maximum": 960,
      "description": "Total minutes for the whole trip, driving plus stops (30-960, default 240). Set well above the direct drive time to make room for stops."
    },
    "depart_at": {
      "type": "string",
      "description": "Departure time, ISO 8601 with offset (e.g. 2026-08-20T09:00:00-04:00). Defaults to now; must be within 14 days — hours and weather verdicts are real only inside the forecast horizon."
    },
    "interests": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Taste categories to weight stops"
    },
    "pace": {
      "type": "string",
      "description": "leisurely | balanced | efficient"
    },
    "save": {
      "type": "boolean",
      "description": "Save the trip to the account"
    }
  },
  "required": [
    "origin",
    "destination"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢places_along_route(origin, destination, kind, bandMi, limit)

Atlas inventory along a routed drive: every place of a kind within a band of the corridor between two points. This returns the raw record, not a plan — to plan a drive with stops chosen for the traveler, use plan_drive. One limit, stated: ghost-town rows live in a separate Wikidata corpus the corridor read cannot see. Asking for one here is refused rather than answered empty; reach them with search_places by state.

Input Schema

{
  "type": "object",
  "properties": {
    "origin": {
      "type": "string",
      "description": "Where the drive starts (city or place)"
    },
    "destination": {
      "type": "string",
      "description": "Where it ends (city or place)"
    },
    "kind": {
      "type": "string",
      "enum": [
        "waterfall",
        "hot-spring",
        "lighthouse",
        "covered-bridge",
        "beach",
        "historic-site",
        "peak",
        "rest-area",
        "ghost-town",
        "museum",
        "attraction",
        "park",
        "nature-reserve",
        "artwork",
        "spring",
        "garden",
        "cliff",
        "picnic-site",
        "arch"
      ],
      "description": "Place type to filter on"
    },
    "bandMi": {
      "type": "number",
      "minimum": 0.0621371192237334,
      "maximum": 49.709695378986716,
      "description": "Miles either side of the route (default 30)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "required": [
    "origin",
    "destination"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded10 tools
verifiedversion not recorded10 tools
verifiedversion not recorded10 tools