trails-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WINDY_API_KEY | No | Windy Point Forecast API key (Map/Webcam keys do not work) | |
| TRAILS_MCP_LOG_LEVEL | No | Log level: debug | info | warn | error | info |
| TRAILS_MCP_USER_AGENT | No | User-Agent sent to upstream APIs (Nominatim requires a descriptive one) | trails-mcp/<version> (...) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| geocode_placeA | Convert a place name (city, region, landmark, mountain pass, etc.) into geographic coordinates using OpenStreetMap's Nominatim geocoder. Returns candidate matches with lat/lon and a bounding box. Use this when you have a place name and need coordinates — for example before calling find_routes_in_bbox. To find trails near a place in one step, prefer find_routes_near_place instead. |
| trails_statusA | Check whether a Waymarked Trails map flavour is online and when its OpenStreetMap data was last refreshed. Useful as a health check. |
| search_routes_by_nameA | Fuzzy-search recreational routes by name or reference code (e.g. 'GR20', 'E5', 'Pennine Way'). Returns summary route entries (id, name, ref, network group, symbol). Use get_route_details with a returned id for full information. To search by location instead of name, use find_routes_near_place. |
| find_routes_near_placeA | Find recreational routes near a named place in one step: geocodes the place with OpenStreetMap, then returns routes whose path passes through a bounding box around it. This is the primary way to answer 'what trails are near '. Returns summary route entries; follow up with get_route_details for any id. |
| find_routes_in_bboxA | Find recreational routes that pass through an explicit WGS84 lon/lat bounding box. Use this when you already have coordinates (e.g. from geocode_place or a map viewport). For a place name, use find_routes_near_place instead. |
| get_routes_by_idsA | Fetch summary entries for multiple routes at once by their OSM relation ids. Returns the same compact shape as the search tools. For full detail on a single route use get_route_details. |
| get_route_detailsA | Get full information about a single route by its OSM relation id: name, reference, network, total length, operator, description, website, Wikipedia, bounding box (lon/lat), raw OSM tags, and any sub-/super-routes. Geometry is summarised by default to keep the response small — set geometry_detail to 'full' for every coordinate or 'none' to omit it. |
| get_route_elevationA | Get the elevation profile of a route by its OSM relation id: minimum/maximum elevation and elevation points (lon, lat, ele in metres, pos along the way) per segment. Note: elevation data is only available on some flavours/servers; if unavailable a not_found result is returned. |
| get_route_segmentsA | Get the on-map geometry of one or more routes, clipped to a WGS84 lon/lat bounding box, as GeoJSON (reprojected to lon/lat). Useful for drawing the part of a trail inside a map viewport. Geometry is summarised by default; set geometry_detail to 'full' for all coordinates. |
| get_route_wikilinkB | Resolve the Wikipedia article URL for a route by its OSM relation id (if the route is tagged with one). Returns the URL; returns a not_found result if the route has no Wikipedia link. |
| get_guidepostA | Get details of a guidepost (waymarking signpost node) by its OSM node id: name, elevation, lon/lat position, and OSM tags. Guidepost ids come from map tiles or other tools, not from route searches. |
| get_route_symbolA | Fetch the waymarking symbol (route shield) SVG for a given symbol_id. The symbol_id is the value returned as 'symbol_id' by the search/detail tools. Returns the symbol as an image plus the raw SVG markup. |
| get_point_forecastA | Fetch machine-readable weather, marine, or air-quality forecast data for a lat/lon point from the Windy Point Forecast API (https://api.windy.com/point-forecast). Requires WINDY_API_KEY. Returns shaped timesteps with decoded wind direction, precipitation type, and WMO weather codes plus a parameterGuide explaining each requested variable. Pick a regional model when available (iconEu for Europe, hrrrConus for US, arome for France). Use list_forecast_options to browse all models, parameters, and pressure levels. |
| list_forecast_optionsA | Return the full catalog of Windy Point Forecast models, parameters, and pressure levels with descriptions and model–parameter compatibility. Does not call the Windy API (no quota used). Use before get_point_forecast to choose valid model/parameter combinations. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chiraggahujaa/trails-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server