Skip to main content
Glama
Adriapt
by Adriapt

🏔️ Hiking MCP Server

This is an MCP (Modular Command Processor) server that allows you to search for hiking routes on Wikiloc, using geographic and textual queries.


🖥️ System Requirements

  • Python 3.10 or higher

  • uv installed

  • Python MCP SDK 1.2.0 or higher (included with mcp[cli])

  • Claude for Desktop (Windows or macOS only)


Related MCP server: openroute-mcp

⚙️ Set Up Your Environment

1. Install uv

On Windows PowerShell:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

After installation, restart your terminal so the uv command is recognized.


2. Clone and configure the project

# Clone the GitHub repository
git clone https://github.com/Adriapt/hiking-mcp.git
cd hiking-mcp

# Set up and activate a virtual environment
uv venv
.venv\Scripts\activate   # On macOS/Linux: source .venv/bin/activate

# Install required dependencies
uv add mcp[cli] httpx beautifulsoup4

▶️ Run the Server

To start the server, run:

uv run mcp-server.py

This will start the MCP server, ready to accept commands via stdio.


💻 Connect to Claude for Desktop

To use your MCP server with Claude for Desktop:

1. Ensure Claude for Desktop is installed

You can download Claude for Desktop here.

2. Open or create the configuration file

  • On macOS:

code ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • On Windows (PowerShell):

code "$env:APPDATA/Claude/claude_desktop_config.json"

3. Add your MCP server configuration

{
  "mcpServers": {
    "hiking": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/hiking-mcp",
        "run",
        "mcp-server.py"
      ]
    }
  }
}

Replace /ABSOLUTE/PATH/TO/hiking-mcp with the actual full path to your project directory.

Use where uv on Windows or which uv on macOS/Linux to find the uv path if needed.

Available Tools

1 tool
get_routesA

Search for routes on Wikiloc based on geographical area.

Args:
    query: Search query (e.g. "Vall de Núria - Ribes de Freser").
    sw_lat: Latitude of the southwest corner of the bounding box.
    sw_lon: Longitude of the southwest corner of the bounding box.
    ne_lat: Latitude of the northeast corner of the bounding box.
    ne_lon: Longitude of the northeast corner of the bounding box.
    page: The page of results to fetch.
    max_results: The maximum number of results to return.


Output: 
    "title": Name of the trail,
    "url": Url,
    "distance_km": Distance in KM,
    "slope": Slope of the trail in meters,
    "author": Author of the trail,
    "location": Location of the trail,
    "trailrank": Punctuation of the trail.
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
queryYes
ne_latYes
ne_lonYes
sw_latYes
sw_lonYes
max_resultsNo

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It transparently describes the output format and key parameters, and the read-only nature is evident from 'search'. It could be enhanced with explicit notes on pagination or error handling, but for a search tool, the disclosed behavior is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the purpose, followed by a compact Args list and an Output list. Every line adds value—there is no filler. The formatting makes it easy to scan, and it remains appropriately sized given the number of parameters and the need to describe the output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no output schema, no annotations), the description is quite complete. It explains the tool's function, all parameters, and the output fields. However, it does not explicitly state that the output is a list of objects, which could be ambiguous, but the plural 'routes' and pagination parameters strongly imply a list. Minor gap prevents a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, but the description compensates fully with an 'Args' section that explains every parameter, including a concrete example for 'query' and clear definitions for bounding box coordinates. This adds significant meaning beyond the JSON schema, which only lists types and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool's purpose: 'Search for routes on Wikiloc based on geographical area.' It uses a specific verb (search) with a clear resource (routes on Wikiloc) and the primary method (geographical area). This fully distinguishes it from any potential sibling tools, even though none are listed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: when searching for routes by geographic area. It includes parameters like bounding box coordinates and query, which imply the appropriate scenarios. However, it does not explicitly state exclusions or alternatives, but since no sibling tools exist, this is acceptable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.1.0
    • First observedget_routes

TDQS

A4.2/5.0
Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools. The tool's purpose is clear and distinct.

Naming Consistency5/5

With a single tool, naming is internally consistent and follows a clear verb_noun pattern ('get_routes').

Tool Count2/5

The server contains only one tool, which feels too few for the apparent scope of a hiking server. Even if search is the core feature, users likely need additional operations like route details or filtering.

Completeness2/5

The server only offers route search, missing common operations for a hiking domain such as route detail retrieval, user favorites, or trip planning. This leaves significant gaps that will likely require workarounds.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for planning routes (hiking, biking, driving, etc.) using the OpenRouteService API. Provides tools to find coordinates, create routes with GPX/PNG/HTML output, search POIs, and compute reachable areas.
    6
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Finds marked hiking routes from OpenStreetMap filtered by locally-computed elevation gain, distance, loop shape, and car/chairlift access, providing consistent and tunable metrics instead of third-party scraped data.
    1
    MIT

Latest Blog Posts

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/Adriapt/hiking-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server